Scratch es un lenguaje de programación visual desarrollado por el MIT Media Lab.1 Scratch es
utilizado por estudiantes, académicos, profesores y padres para crear fácilmente animaciones, juegos
(también educativos) e interacciones etc. Para las escuelas se convierte en una oportunidad para
ayudar a los estudiantes en el desarrollo de habilidades mentales mediante el aprendizaje de la
programación sin necesidad de saber del programa. Sus características ligadas al pensamiento
computacional han hecho que sea muy difundido actualmente en la educación de niños adolescentes
y adultos.
Scratch es usado por estudiantes, escolares, profesores y padres para crear animaciones de forma
sencilla y servir de trampolín hacia el más avanzado mundo de la programación. También puede
usarse para un gran número de propósitos educativos construccionistas y de entretenimiento, como
proyecto de ciencias o matemáticas, incluyendo simulación y visualización de experimentos,
conferencias grabadas con presentaciones animadas, historias animadas de las ciencias sociales, arte
interactivo, música.2 Se pueden ver los diferentes proyectos existentes en la web de Scratch,
modificarlos e incluso probarlos sin llegar a guardar los cambios ya que no requiere ningún tipo de
registro.
Scratch permite a los usuarios usar programación dirigida por eventos con múltiples objetos activos
llamados sprites.1 Los sprites pueden pintarse como gráficos vectoriales o mapa de bits, desde la
propia web de Scratch usando un simple editor que es parte del proyecto, o pueden también
importarse desde fuentes externas incluyendo webcams. Desde 2013, Scratch 2 está disponible en
línea y como aplicación de escritorio para Windows, OS X y Linux (requiere Adobe Air).34 El código
fuente de Scratch 1.x se liberó bajo licencias GPLv2 y "Scratch Source Code Licencse".
Origen del lenguaje
En el ámbito de la ingeniería informática, scratching quiere decir reutilizar código, el cual puede ser
usado de forma beneficiosa y efectiva para otros propósitos y fácilmente combinado, compartido y
adaptado a nuevos escenarios, lo cual es una característica clave de Scratch. De esta forma, cualquier
usuario puede descargarse y trabajar sobre proyectos públicos subidos y desarrollados por otros
usuarios. También se reconoce a los participantes que construyeron y crearon el programa original. El
nombre es un derivado de la técnica de turntablism, scratching,67 es decir, mezclar sonidos,
relacionando de este modo la facilidad de mezclar sonidos con la facilidad de mezclar proyectos
creados con Scratch.
Scratch supuso un avance en la comprensión de la efectividad y el diseño innovador de las TIC para
mejorar el aprendizaje en los centros escolares y otras modalidades de educación informal, y amplió
las oportunidades de los jóvenes en general que gracias a Scratch pudieron entrar en el mundo del
diseño y desarrollo de aplicaciones gracias a las nuevas tecnologías. Scratch fue desarrollado de forma
iterativa basándose en la interacción permanente con los jóvenes y el personal en Computer
Clubhouses.8 El uso de Scratch en estos clubes sirvió de modelo para otros centros
post-educacionales demostrando cómo los entornos de apr pueden apoyar el desarrollo de la
tecnología, permitiendo a los jóvenes diseñar y programar proyectos que son importantes para ellos y
sus comunidades.
La primera versión de Scratch, disponible solo en versión de escritorio, fue desarrollada y publicada
en 2003 conjuntamente por el MIT Media Lab, dirigido por Mitchel Resnick, y la compañía Playful
Invention Company [6], con sede en Montreal y cofundada por él junto a Brian Silverman y Paula
Bonta. El propósito fue ayudar a la gente joven, principalmente con edades a partir de los ocho años,
a aprender a programar.10 Página principal de Scratch Scratch 2 se publicó en mayo de 2013.1 A partir
de esta versión, se permite definir "bloques personalizados" dentros de los proyectos.
Uso educativo
Scratch se hizo popular en Reino Unido a través de los Code Clubs. Estos empezaron a usar Scratch
como lenguaje introductorio por su relativa facilidad para desarrollar programas interesantes, y
porque las habilidades adquiridas mediante Scratch se pueden aplicar a otros lenguajes básicos de
programación como Python y Java.
Scratch no sirve solo para la creación de programas. Puesto que proporciona un montón de
componentes visuales, los programadores pueden crear historias animadas o minivideojuegos como
por ejemplo The Pizza Dude12 Haiku,13 o Gemclan. Los estudiantes que se quieren especializarse en
matemáticas pueden usar Lemonade Stand, Dino Odd and Even,14 Data Workshop, o The
Ellipserator15 el cual se orienta principalmente a la geometría. La flexibilidad que ofrece Scratch
permite a los docentes crear lecciones conceptuales muy visuales, puesto que es una poderosa
herramienta para crear animaciones que ayudan a visualizar conceptos difíciles como podrían ser la
mitosis celular, el ciclo del agua, el Termómetro de Galileo o un experimento sobre la Ley de
elasticidad de Hook. En el ámbito de las ciencias sociales, los docentes pueden crear concursos,
juegos y tutoriales que estimulen la mente e interactúen con el estudiante.
El profesor David J. Malan de la Universidad de Harvard prefiere usar Scratch sobre los lenguajes de
programación de uso general, como Java o C, en su curso introductorio de ciencias de la computación.
Sin embargo, hay un beneficio limitado en una educación de nivel universitario. Malan cambia el
lenguaje de su curso a C después de la primera semana.1819 Para trabajar con Scratch, hay dos
formas de hacerlo: online y offline.
Interfaz de usuario
De izquierda a derecha, en la zona superior izquierda de la pantalla hay un escenario, que muestra los
resultados del proyecto actual (animaciones, gráficos tortuga, etc., en tamaño reducido o normal,
estando también disponible un modo a pantalla completa) y todas la miniaturas de los sprites
(llamados "objetos" en la versión en castellano de Scratch) listadas en la zona inferior. El escenario usa
coordenadas x e y, siendo el punto (0,0) el centro del mismo.
Existen muchas formas de crear objetos y fondo personalizados. Por un lado, los usuarios pueden
dibujar sus propio objetos manualmente con el propio editor de Scratch.1 Es posible también elegir
un objeto desde la biblioteca de objetos de ejemplo que contiene Scratch, de creaciones pasadas del
usuarios, desde una imagen, vía webcam o desde un clip art.
Una vez seleccionado un objeto en la parte inferior izquierda de la pantalla, se le pueden aplicar
bloques de instrucciones simplemente arrastrándolos desde la paleta de bloques hacia el área
derecha de la pantalla, que contiene todos los pasos asociados con el objeto seleccionado. Bajo la
pestaña "Programas" se listan todos los bloques de instrucciones disponibles en las siguientes
categorías: Movimiento, Apariencia, Sonido, Lápiz, Datos, Eventos, Control, Sensores, Operadores y
Más Bloques, como se ve en la tabla a continuación. Cada instrucción se pueden probar
individualmente simplemente haciendo doble clic sobre ella.