Scratch es un ambiente de aprendizaje de programación que permite a los principiantes crear proyectos interactivos sin necesidad de aprender un lenguaje de programación sintácticamente complejo primero. Scratch se ejecuta originalmente en Squeak pero a partir de la versión 2.0 se reescribió en ActionScript para funcionar en Adobe Flash. Scratch facilita el aprendizaje autónomo de la programación a través de un entorno gráfico de bloques.