Concretamente, ¿qué es Scratch?
Es un nuevo lenguaje gráfico de programación; aprovecha los avances conseguidos en los últimos años en poder de computación y en diseño de interfaces para hacer que la programación sea más atractiva y accesible para niños (mayores de 8 años), adolescentes y todo aquel que esté aprendiendo a programar.
Una característica muy importante es que ofrece un bajo umbral de inicio (es fácil comenzar), un umbral alto de complejidad (dá la posibilidad de crear proyectos complejos) y posibilidades amplias(da apoyo para una gran diversidad de proyectos).
LEER <IMPORTANTE>
Scratch es es una aplicación completamente libre, de código abierto pero de desarrollo cerrado.
El código fuente se consigue libremente pero la aplicación la desarrolla un pequeño grupo de investigadores del Laboratorio de Medios de MIT (MIT Media Lab).
Scratch está construido sobre el lenguaje de programación Squeak, y se inspiró en trabajos previos realizados en Logo y en los Etoys de Squeak, pero pretende ser más simple e intuitivo.
La información sobre Scratch volcada en la página presente tiene como fuentes a Wikipedia, y fundamentalmente a EDUTEKA, un sitio (en nuestro idioma) interesado en mejorar la educación básica y media con el apoyo de las Tecnologías de la Información y las Comunicaciones (TIC).
Para usar Scratch necesitaremos correr un programa —del mismo nombre—, que puede ser considerado como un "entorno de desarrollo": con él se crearán, visualizarán y compartirán los denominados Proyectos Scratch. Dicho entorno es descargable de forma gratuita desde la Web oficial: en ella encontrarás el software necesario para su funcionamiento en una PC corriendo Windows XP o superior —aunque también existen versiones para Mac OS y algunas distribuciones de Linux, y para el caso de Windows 98 puede instalarse la versión 1.2 de Scratch—.
Proyectos realizados en Scratch pueden ser "bajados" desde la Web oficial, como así también se pueden "subir" los propios. Como ya mencionamos, el lema de Scratch es "Imagina - Programa - Comparte": el énfasis en el intercambio es una parte importante tras la idea de los creadores, ya que los programas no son vistos como "cajas negras" de contenido inaccesible, sino como objetos abiertos listos para su "remezcla" o su estudio, posibilitándose así la generación de nuevos proyectos.
¿Por qué aprender Scratch?
La filosofía pedagógica que sustenta el uso de nuevas herramientas informáticas como medio para superar la enseñanza basada en transmisión de contenidos, y apuntar en su lugar al desarrollo de capacidades, ya lleva algunas décadas de planteamiento y de discusión.
Recomendamos leer los artículos Programación de Computadores en Educación Escolar y Sembrando las Semillas para una Sociedad más Creativa desde el sitio web de EDUTEKA. Allí se presentan argumentaciones detalladas (que escapan al objetivo concreto de nuestra pequeña guía de introducción) en pos del uso de nuevas tecnologías informáticas como nuevas formas de aprendizaje, e incluyen al uso de Scratch entre las mismas.
Más allá de cualquier posición crítica —en el sentido amplio del término— sobre los presupuestos allí planteados, les dejo a su consideración un pequeño apartado de un artículo de Mitchel Resnick (director del grupo de investigación del “Lifelong Kindergarten” en el Laboratorio de Medios de MIT, quienes desarrollan Scratch), que apunta a una cuestión que me parece central:
"Para muchos estudiantes, la Web es fundamentalmente un lugar para navegar, realizar profusión de clics y chatear. Con Scratch, los estudiantes pasan de ser consumidores de medios a convertirse en productores de medios, mediante la creación de sus propias historias interactivas, juegos y animaciones, que luego comparten en la red"
¿Cómo aprender Scratch?
Mencionamos previamente que característica muy importante de Scratch es que ofrece un bajo umbral de inicio (es fácil comenzar). De cualquier manera para quien recién está ingresando al mundo de la programación se recomienda la consulta de La Guía de Inicio (este link es para su versión traducida). Una versión online de la misma (y algunos slides más vinculados a Scratch) podés visualizarlos aquí.
En la red hay buenos recursos disponibles —uno muy interesante es Learnscratch.org— aunque lamentablemente poca variedad de material en español. Si el idioma no es un obstáculo el sitio Web de Scratch tiene muchos recursos para ayudarte a aprender: Tutoriales en video, Tarjetas de Scratch, y Preguntas frecuentes (FAQ). Consultar en http://info.scratch.mit.edu/Support.
De cualquier manera, para tener información detallada sobre el uso del entorno de desarrollo y del lenguaje es altamente recomendable leer La Guía de Referencia (también esta es una versión traducida).
Materiales para aprender
En nuestro sitio vamos a dedicar una sección específica en donde recopilaremos información actualizada sobre estos ítems, y sobre sitios de interés que se dediquen a la enseñanza de Scratch.
En cuanto a las tarjetas, una versión en castellano de las mismas puede ser encontrada en Scratch Wiki (también están las guías traducidas, pero no se sí actualizadas a la versión 1.4 de Scratch).
Por último, también hemos preparado (en forma casera) algunos Proyectos de ejemplo a modo de tutoriales paso a paso y detallados para concretar, por ej., una animación simple. También recomiendo su seguimiento (aunque más no sea para justificar el tiempo invertido en su escritura…).
Características claves
LEER <IMPORTANTE>
La información sobre Scratch volcada en la página presente tiene como fuentes al sitio oficial de Scratch y a EDUTEKA, y es un intento de sintetizar parte del material presentado a lo largo de sus páginas.
- Programar con bloques de construcción. Para crear programas en Scratch, usted simplemente encaja bloques gráficos formando pilas con ellos. Los bloques están diseñados para encajar unos en otros pero sólo si son sintácticamente correctos: de esta manera no se producen errores de sintaxis. Diferentes tipos de datos tienen diferentes formas, para eliminar errores de "tipo de dato".
Usted puede cambiar las pilas de bloques aún cuando los programas se estén ejecutando, así que es fácil experimentar con nuevas ideas de manera incremental e iterativa.
- Manipulación de medios. Con Scratch, usted puede crear programas que controlan y mezclan gráficas, animaciones, música y sonido, por lo que los proyectos resultado de su uso pueden encuadrarse dentro de lo denominado multimediático.
- Compartir y colaborar. El sitio web de Scratch ofrece no solo inspiración sino audiencia: usted puede hacer pruebas con los proyectos de otros, reutilizar o adaptar sus imágenes y programas, ¡y también publicar sus propios proyectos!
El objetivo último es desarrollar una comunidad compartida y una cultura alrededor de Scratch.
Características en detalle
LEER <IMPORTANTE>
La información sobre Scratch volcada en la página presente tiene como fuentes al sitio oficial de Scratch y a EDUTEKA, y es un intento de sintetizar parte del material presentado a lo largo de sus páginas.
Daremos ahora un listado de características más exhaustivo, donde quizás aparezcan conceptos con sentido sólo para quienes ya hayan explorado algo de Scratch, y en algún caso sólo para quienes tengan algún conocimiento previo en lenguajes y entornos de programación. No es requisito para el uso de Scratch el comprender lo que detallamos a continuación:
- 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; esto 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=operadores; 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 “diálogo” permanente con el computador (con el estudiante en control del mismo), 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 [Esta función requiere conexión activa a Internet y estar registrado en el sitio web de Scratch: http://scratch.mit.edu/].
Desde el punto de vista del contenido que aquí les presentamos, la razón de ser de este Sitio es simple: su finalidad es brindar información en nuestro idioma sobre Scratch, en buena parte recopilada y extractada de diversas fuentes que tuve que consultar en mi proceso de interiorización sobre el entorno y el lenguaje.
Conocí sobre la existencia de Scratch (casi casualmente) a mediados del año 2008. Por mi labor de docente de Computación estaba buscando por alguna versión "aggiornada" del legendario lenguaje Logo; específicamente hablando, que tuviese alguna nueva prestación que hiciese más amigable el proceso de aprendizaje por parte de alumnos de nivel Primario. Tropecé entonces con un par de elogiosos artículos sobre Scratch, que resaltaban particularmente su distinto acercamiento respecto a uno de los puntos que consideraba "problemáticos" para el inicio de los alumnos en los rudimentos de la programación: esto es, el que debieran aprender un diccionario de comandos y un conjunto de reglas de sintaxis para poder empezar a programar (algo habitual en cualquier lenguaje de programación). Y con Scratch esto no es necesario.
Al empezar a explorar las potencialidades de este entorno de programación me sorprendí gratamente de sus capacidades de manipulación no sólo de las imágenes, sino también del sonido (permitiendo incluso interactuar con lo programado usando el micrófono de la PC). El rango de proyectos posibles es realmente impresionante, y me atrevo a decir que cubre casi cualquier área de interés que un alumno pueda tener (matemáticas, música, arte gráfico, desarrollo de juegos, animar puestas teatrales, robótica, etc).
Desde ya que enseñar a programar es un desafío también para el docente. Pero con la ―todavía escasa― experiencia que tengo en estas lides puedo decir que la respuesta de los alumnos es de entusiasmo, y nos ayuda sin duda a tratar de “encontrarle la vuelta” al hecho de enseñar, a aprender a enseñar…