Crear con código: Scratch
En nuestra serie de artículos acerca de la programación creativa, hoy exploramos Scratch, un entorno y lenguaje de programación creado por Mitchel Resnick junto con el grupo de investigación Lifelong Kindergarten en el Media Lab de MIT en 2003 con el objetivo de ayudar a niños y adolescentes a partir de 8 años a aprender a programar. Gracias a su sencillez de uso y su enfoque en los aspectos educativos, Scratch es ampliamente usado por estudiantes, profesores y padres para crear animaciones, juegos y programas sencillos que permiten iniciarse en el ámbito de la programación. El software es gratuito, de código abierto y cuenta con una amplia comunidad de usuarios en la que se comparten los proyectos generados con Scratch, que pueden ser fácilmente reutilizados para crear proyectos nuevos. Creada en 2007, ScratchEd es la comunidad específica para educadores, que cuenta con más de 7.500 miembros que comparten sus historias, recursos y experiencias con Scratch. En 2013 se lanzó Scratch 2, que puede emplearse como una aplicación directamente en el navegador o bien descargarse como un programa independiente para Windows, OSX y Linux.
Se suele asumir que los niños y adolescentes tienen una relación natural con las nuevas tecnologías, como indica el término «nativos digitales.» Pero Mitchel Resnick es escéptico acerca de este término y lo que implica, puesto que en general la relación que tienen los jóvenes con la tecnología es la de usuarios, no creadores. «No hay duda que los jóvenes tienen facilidad para consultar información en la web, chatear, enviar mensajes y jugar a videojuegos,» afirma Resnick, «pero eso no implica que puedan expresarse de forma fluida con las nuevas tecnologías. Los jóvenes tienen mucha experiencia usando entornos interactivos, pero no tanta creando o expresando sus ideas a través de estas tecnologías. Dicho de otro modo, pueden leer pero no escribir con las nuevas tecnologías.» Para no verse limitados a ser simples usuarios, el investigador considera que es fundamental aprender a programar, a fin de ser capaces de crear sus propios programas. La importancia de integrar el código de programación en la enseñanza básica ha sido un tema que ha generado un creciente interés en los últimos años: en países como Estonia se ha integrado en las escuelas, mientras que en otros países se han creado numerosas «escuelas de programación» en la que personas de todas las edades aprender a crear sus propios programas. El problema, en este punto, es la aridez del código de programación, que resulta muy poco atractivo a la mayoría de los usuarios y en general no les permite ver claramente su estructura lógica, ya que se muestra como una sucesión de instrucciones. En Scratch, de forma similar a Processing, el código se muestra en un entorno gráfico en el que el usuario trabaja con bloques que puede colocar, reordenar y vincular estableciendo el funcionamiento de un sencillo programa o una animación.
Programar en Scratch es sencillo e intuitivo, parecido a completar un puzzle con unas pocas piezas, y además la propia visualización del código permite entender el proceso que se está generando. Este puede visualizarse en una ventana integrada en el propio entorno de programación. De esta manera, resulta muy útil para niños y jóvenes puesto que evita la frustración que produce no saber qué parte del código corresponde a cada acción que se produce en la visualización final y a la vez muestra claramente las relaciones entre los diferentes elementos, lo cual permite pensar más allá de las funciones existentes e inventar nuevas combinaciones. La amplia variedad de ejemplos que se comparten en la web de Scratch demuestra la flexibilidad y el potencial creativo de este software. Además, siguiendo el principio de compartir y recombinar (en informática se denomina «scratching» a la práctica de coger partes del código de un programa para usarlo en otro programa diferente), cada proyecto que se publica en Scratch permite visualizar el código que lo ha generado, de manera que resulta sencillo emplear una solución desarrollada por otra persona para incorporarla a un programa propio.
Si bien personas de cualquier edad pueden usar Scratch, la plataforma está pensada para niños de entre 8 y 16 años, por lo que se rodea de una comunidad controlada para que los jóvenes usuarios puedan aprender a programar, emplear código de otros programas y compartir ideas y preguntas en foros en un ambiente constructivo y respetuoso. El programa, además, permite crear código que posteriormente controle objetos físicos e interactúe con una cámara o un micrófono, lo cual facilita crear juegos y juguetes que van más allá de la pantalla y pueden compartirse con amigos. Por otra parte, los jóvenes aprenden a través del uso de Scratch a entender conceptos matemáticos y computacionales, tales como coordenadas, variables y números aleatorios. Dado que estos conceptos se integran en funciones concretas del juego o animación que están creando, no resultan abstractos o aburridos sino que forman parte de algo dotado de sentido. El propio proceso de crear algo en Scratch les lleva a aprender el proceso básico de diseño, que parte de una idea, convertida luego en un prototipo que es puesto en práctica, corregido cuando presenta fallos, y mejorado a medida que se adquieren conocimientos más avanzados. Este proceso también implica mostrar el prototipo a los demás, escuchar sus opiniones, revisar y rediseñar el proyecto hasta lograr el objetivo deseado. Al hacer esto, el joven programador aprende también a pensar de forma creativa, comunicarse con claridad, analizar su proyecto, trabajar en colaboración con otros y aprender de forma continuada. De esta manera, aunque los usuarios de Scratch no se conviertan necesariamente en programadores profesionales, tendrán una mejor comprensión de cómo funcionan los ordenadores y habrán adquirido otras competencias de gran utilidad en cualquier ámbito.
Primeros pasos con Scratch
Para empezar a usar Scratch, basta con acceder al editor en el propio navegador web. La página muestra una sencilla interfaz con una ventana de visualización (a la izquierda), una columna con los principales bloques de código, ordenados en categorías y diferenciados con colores, y un área en la que se colocan estos bloques para crear el programa. En unos pocos minutos se puede crear una animación con el objeto suministrado (un dibujo de un gato) simplemente colocando diversas instrucciones y observando como el orden de las mismas determina la manera en que se desarrolla la animación. Además, es posible introducir eventos, con los que la animación puede controlarse por medio de determinadas teclas o el clic del ratón, y también añadir otros elementos como por ejemplo bucles que repiten continuamente (o un número determinado de veces) todas las acciones que se sitúan dentro de dicho bucle. En este caso, puede verse gráficamente cómo se aplica esta función, puesto que la pieza que forma el bucle es una pinza que agrupa en su interior todas las acciones a las que se aplica.
Programar con Scratch es por tanto una tarea sencilla y amena, que tiene la virtud de ser un programa que no sólo facilita la introducción al código de programación, sino que incita a descubrir todas sus posibilidades y poner a trabajar la propia creatividad.