¿Qué es Scratch?

Scratch es un entorno gráfico de programación desarrollado por un grupo de investigadores del Lifelong Kindergarten Group del Laboratorio de Medios del MIT, bajo la dirección del Dr. Mitchel Resnick.

Este entorno aprovecha los avances en diseño de interfaces para hacer que la programación sea más atractiva y accesible para todo aquel que se enfrente por primera vez a aprender a programar. Según sus creadores, fue diseñado como medio de expresión para ayudar a niños y jóvenes a expresar sus ideas de forma creativa, al tiempo que desarrollan habilidades tanto de pensamiento lógico, como de aprendizaje para el Siglo XXI.

Scratch permite crear fácilmente historias interactivas propias, animaciones, juegos, grabar sonidos y realizar creaciones artísticas.

El nombre de Scratch se deriva de la técnica de “rayar” (Scratching) que utilizan los “disc jockeys” de hip-hop, que giran con sus manos los discos de vinilo hacia delante y hacia atrás para mezclar clips de música que unen de maneras creativas.


Scratch está construido sobre el lenguaje de programación Squeak y su diseño se inspiró en trabajos previos realizados en Logo y en los Etoys de Squeak; sin embargo, pretende ser más simple e intuitivo que esas propuestas. 
Por su parte, Squeak es una herramienta de código abierto implementada en lenguaje de programación Smalltalk que permite desarrollar un rango amplio de proyectos que van desde aplicaciones multimedia hasta plataformas educativas. Alan Kay es su principal ideólogo y promotor. Actualmente el desarrollo de esta herramienta se lleva a cabo en el Instituto Viewpoints Research.  
De otro lado, http://wiki.laptop.org/go/Etoys Etoys está inspirado en la visión de los ambientes de aprendizaje construccionistas de Alan Kay. El proyecto, dirigido por el profesor Kay, consiste de un entorno computacional amigable sumado a un prototipo de lenguaje de programación orientado a objetos. Todo dirigido a su uso en educación con niños de primaria (Básica).

Características

Programando con Scratch, los estudiantes pueden crear historias interactivas, juegos, animaciones, música, producciones artísticas y compartir sus creaciones con otras personas a través del sitio Web de la herramienta (http://scratch.mit.edu/). Entre las características más relevantes de este entorno en procesos educativos para introducir a los estudiantes en programación, tenemos:

  • Tanto el conjunto de instrucciones, como la interfaz, están disponibles en varios idiomas, entre ellos el español.
  • La interfaz gráfica permite crear y utilizar un escenario con múltiples fondos y tantos objetos móviles programables (sprites) como se quiera, cada uno de ellos con sus respectivos disfraces.
  • En lugar de escribir instrucciones (código), permite programar con el ratón (mouse), arrastrando bloques autoencajables y soltándolos en el área de programas; estos se comportan como piezas de Lego o de un rompecabezas, pero encajan sólo si son sintácticamente correctos.
  • Posibilita explorar principios básicos de programación sin las complicaciones de sintaxis que tienen otros lenguajes; lo que permite al estudiante centrarse en solucionar problemas, en lugar de hacerlo en comas y corchetes.
  • Los bloques autoencajables están categorizados por colores de acuerdo con su funcionalidad (Azul=movimiento; Violeta=apariencia; Fuscia=Sonido; Verde=Lápiz; Naranja=control; Azul claro=sensores; Verde claro=números; Rojo=variables). Este código visual ayuda también a los estudiantes.
  • Los modos de diseño y ejecución del ambiente de programación son simultáneos, lo que  permite que los cambios realizados a un programa en ejecución se reflejen inmediatamente en el comportamiento del objeto móvil programable (sprite).
  • Ayuda a los estudiantes a pensar algorítmicamente y a aprender a abordar problemas metódicamente.
  • Ofrece a los estudiantes oportunidades para: improvisar, someter a prueba sus ideas, ensayar, corregir errores y superar sus propias expectativas; todo esto en un “dialogo” permanente con el computador, con el estudiante en control, que activa procesos metacognitivos.
  • Tiene un bajo umbral de inicio ya que desde la primera clase los estudiantes pueden realizar pequeñas actividades que los mantienen motivados e interesados.
  • Tiene un umbral alto de complejidad. Esto posibilita que actividades y proyectos sean tan complejos como la creatividad de los estudiantes lo permita.
  • Tiene posibilidades amplias, característica particularmente importante para los docentes ya que pueden plantear proyectos de integración que involucren contenidos de diversas asignaturas.
  • Permite a los estudiantes ganar comprensión de conceptos matemáticos como expresiones Booleanas, variables, coordenadas y números aleatorios.
  • A medida que los estudiantes crean programas, aprenden conceptos fundamentales de computación tales como control de flujo, iteración (repetición o ciclos), condicionales, procedimientos, hilos múltiples y eventos.
  • Permite controlar y mezclar diferentes medios (gráficas, texto, música y sonido).
  • Facilita la manipulación de imágenes mediante filtros programados.
  • Favorece el intercambio entre usuarios de objetos y sus programas, por lo tanto, estimula el aprendizaje colaborativo.
  • Con solo presionar el botón ¡Compartir!, el proyecto queda publicado en la página Web de Scratch



Una buena lectura para empezar: “Scratch, una herramienta lúdica de iniciación a la programación”, escrito por Máximo Prudencio y publicada en la revista Linux Magazine (PDF).