Scratch es un motor de videojuegos desarrollado por MIT Media Lab. Su principal característica consiste en que permite el desarrollo de habilidades mentales mediante el aprendizaje de la programación sin tener conocimientos profundos sobre el código. Sus características ligadas al fácil entendimiento del pensamiento computacional han hecho que sea muy difundido en la educación de niños, adolescentes y adultos.
Origen del lenguaje
En el ámbito de la ingeniería informática, scratch 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, es decir, mezclar sonidos, relacionando de este modo la facilidad de mezclar sonidos con la facilidad de mezclar proyectos creados con Scratch.
El uso de Scratch en estos clubes sirvió de modelo para otros centros post - educacionales demostrando cómo los entornos de aprendizaje 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 , 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.
Scratch 2.0 se publicó en mayo de 2013. A partir de esta versión, se permite definir "bloques personalizados" dentro de los proyectos. Estos sirven para resumir y reutilizar el código definido anteriormente.
Uso educativo Scratch se volvió 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 y porque las habilidades adquiridas mediante Scratch, se pueden aplicar a otros lenguajes básicos de programación como Python y Java. Code Clubs, fundado en 2013, es una iniciativa formada por una extensa comunidad de voluntarios, profesores y compañeros, para el desarrollo de clubs de codificación gratuitos, donde los niños de entre nueve y trece años pueden construir y compartir sus ideas, conocimientos importantes y creaciones, de manera extraescolar. La empresa ha acabado expandiéndose internacionalmente, existiendo más de trece mil Code Clubs en todo el mundo. Además, la mayoría de sus proyectos han sido traducidos en veintiocho idiomas diferentes. Los voluntarios, ya sean programadores o desarrolladores de software, invierten su tiempo ejecutando sesiones de Code Clubs, transmitiendo sus habilidades de programación y asesorando a los jóvenes estudiantes,a través de un entrenamiento en línea. Los niños crean sus propios videojuegos, animaciones y sitios web, y además, aprenden a usar la tecnología de manera creativa y lúdica, para ampliar su conocimiento.
Una manera de empezar a usar el programa en clase, es aprender basándose en retos con juegos y pequeños proyectos, donde los niños puedan desarrollar su creatividad. A través de tutoriales del MIT (Instituto de Tecnología de Massachusetts), se puede aprender desde cero a programar con Scratch, utilizando la guía de iniciación creada por el mismo Instituto. También existen otros tutoriales de iniciación a la programación para niños como por ejemplo: Cartoon Network o CSfirst de Google. La edad ideal para iniciarse en su programación en niños es entre ocho y dieciséis años, aunque también hay una versión para los más pequeños de cinco a ocho años, llamada Scratch Junior, en formato tableta.
Con esta aplicación, los niños aprenden conceptos relacionados con los ordenadores y otras habilidades relacionadas con las nuevas tecnologías u otras asignaturas. Hay que tener en cuenta que Scratch no sirve solo para la creación de programas.Puesto que proporciona muchos componentes visuales, los programadores pueden crear historias animadas o minivideojuegos como por ejemplo The Pizza Dude Haiku, o Gemclan. Los estudiantes que quieren especializarse en matemáticas pueden usar Lemonade Stand, Dino Odd and Even, Data Workshop, o The Ellipserator el cual se orienta principalmente a la geometría. La flexibilidad que ofrece Scratch permite a los docentes crear lecciones conceptuales muy visuales, ya que es una 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 uso de Scratch permite a las personas jóvenes a entender la lógica básica de la programación, y colaborar y construir proyectos creativamente. Scratch también permite a los estudiantes desarrollar proyectos con carácter educativo y a la vez con interés personal para ellos, lo que les proporciona una herramienta práctica para auto expresarse después de aprender a usarlo.
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.
Para trabajar con Scratch, hay dos formas de hacerlo: en línea y fuera de línea.
En la modalidad en línea, el usuario puede acceder desde el ordenador conectándose a Internet. Por su parte, en la versión fuera de línea se debe descargar el programa y se podrá usar sin conexión a Internet. Además, la página web permite compartir proyectos creados por uno mismo y también se pueden ver proyectos realizados por otras personas, lo que puede facilitar el desarrollo de nuevas ideas o contenidos. Respecto a cuál, la versión en línea se encuentra actualizada, además permite compartir y modificar los programas con otros usuarios.
Por otra parte, Scratch propone recursos tanto para los docentes como para los alumnos. Entre ellos destacan:
Recursos para docentes: ofrece una guía donde se explica cómo programar las clases y talleres con Scratch así como actividades, estrategias y técnicas para incluir la programación en las aulas. Recursos para alumnado: proporciona diversos tutoriales para introducirse en el manejo de la plataforma, tarjetas de programación, así como páginas webs para el visionado de experiencias educativas con Scratch.
La comunidad de Scratch para docentes permite a estos seguir aprendiendo y colaborando con otros docentes de otras partes del mundo.
Experiencia educativa con Scratch Scratch con su lenguaje de programación visual nos permite desarrollar el pensamiento computacional (PC), cuya utilización ha ido creciendo en los últimos años, siendo cada vez de mayor interés para los jóvenes, debido a la motivación que supone el poder crear entre otras cosas, sus propios videojuegos o animaciones.
Un ejemplo de ello, se aprecia con la creación del Club de los Jóvenes Programadores de la universidad de Valladolid entre los que se encuentra Antonio García Vicente, un niño de once años que ha programado más de cien videojuegos y realizado varias charlas sobre programación, como la de TEDxYouth Valladolid donde presenta algunas experiencias educativas para las que utiliza el programa Scratch, mostrando con ello cómo el programa permite desarrollar contenidos curriculares y experiencias educativas muy interesantes. Entre ellas se encuentra un juego de preguntas y respuestas con el que se pretenden trabajar los huesos del cuerpo humano; otro sobre los planetas del sistema solar con sensor de vídeo, con el que los alumnos (jugadores) pueden aprenden los nombres de estos, donde aparecen los aciertos y fallos que se suceden o incluso es posible la creación de instrumentos a gran escala que cobran vida.
Beneficios del aprendizaje de programación con Scratch en los niños La utilización de la aplicación Scratch mediante la programación, permite sobre todo desarrollar las habilidades mentales. Favorece la comprensión de los fundamentos de programación sin profundizar en el código y el pensamiento lógico y algorítmico.
Permite la construcción de proyectos creativos que conectan los intereses educativos y personales del alumnado. Por tanto, se trata de una herramienta muy efectiva para desarrollar la capacidad de expresión, una vez que saben utilizarlo. También consigue que se comparta, concepto fundamental en el ámbito de las redes sociales: aprenden a compartir sus producciones, programaciones y aplicaciones con el resto de compañeros y compañeras de clase.
Pero el uso de Scratch no se ciñe exclusivamente a contenidos informáticos, también permite al alumnado asimilar otro tipo de habilidades como son: Pensamiento crítico y solución de problemas: aprender a programar desarrolla el razonamiento crítico y el pensamiento sistémico. Así mismo, diseñar un proyecto consiste en partir de una idea, establecer unos pasos y ponerlo en marcha. En este camino se enfrentarán a diversos problemas que podrán solucionar de manera experimental. Expresión y comprensión oral y escrita: estas habilidades lingüísticas tan esenciales en todas las etapas de nuestros sistema educativo podrán ser desarrolladas con Scratch. Creatividad y autonomía: este lenguaje pone énfasis en el desarrollo de la creatividad permitiendo al alumnado crear sus propias historias y proyectos. Además, con el tiempo el alumnado será más autónomo en su aprendizaje. Regulación de las emociones: la programación con Scratch es efectiva para ayudar al estudiante a aprender a controlar diversas emociones. Durante el diseño de proyectos y su programación se desencadenan numerosas emociones como alegría, miedo, sorpresa o interés.
Interfaz de usuario
thumb|Hola mundo en bloques de Scratch 2.0
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.
Desarrolla el Pensamiento Computacional y Lógico: Scratch utiliza bloques de colores que se encajan como piezas de LEGO. Este enfoque visual ayuda a los usuarios, especialmente a los niños, a entender conceptos complejos de programación (como bucles, condicionales y eventos) de manera intuitiva. Al organizar estos bloques para crear un proyecto, desarrollan habilidades esenciales como la resolución de problemas, el razonamiento lógico y el pensamiento algorítmico. Fomenta la Creatividad y la Expresión Personal: Scratch no es solo para aprender a codificar; es una herramienta para crear. Permite a los usuarios diseñar sus propias historias interactivas, juegos, animaciones y arte. Al darles la libertad de crear proyectos basados en sus propios intereses (sus "pasiones"), Scratch transforma la codificación en un medio de expresión personal y estimula la creatividad.