Por qué Scratch es la mejor plataforma para que los niños aprendan a programar

El momento en que mi hija creó su primer proyecto en Scratch – una simple animación de un gato persiguiendo una mariposa – su relación con la computadora se transformó completamente. De repente, no solo estaba consumiendo contenido; ella era quien hacía que las cosas sucedieran en la pantalla. Dos años y innumerables proyectos después, puedo articular exactamente por qué Scratch es un lenguaje de programación tan fantástico para los niños y un excelente parque de juegos creativo para mentes jóvenes como la suya en general.
Conoce Scratch: Un lenguaje de programación que los niños aman
Desarrollado por el MIT Media Lab a principios de los años 2000, Scratch es un parque de juegos colorido e intuitivo donde los niños pueden dar vida a sus ideas.
A diferencia de los lenguajes de programación tradicionales que pueden abrumar a los niños con una sintaxis compleja y puntos y comas crípticos, Scratch utiliza un enfoque visual que tiene perfecto sentido para las mentes jóvenes.

Cada concepto de programación está representado por un bloque de color distinto: morado para apariencia, azul para movimiento, amarillo para control, y así sucesivamente. Estos bloques se ensamblan como piezas de un rompecabezas de maneras lógicas, y te sorprendería cuánto puedes hacer con ellos.
¿Quieres hacer que un personaje se mueva cuando presionas la barra espaciadora? Solo toma un bloque de “evento”. ¿Necesitas recordar el nombre del jugador durante el juego? Crea una variable con un solo clic. Estos conceptos que podrían sonar intimidantes en un curso de programación tradicional se vuelven tan naturales como construir con bloques.
Incluso las funciones, un concepto que puede desafiar a los aprendices adultos, surgen de manera natural en Scratch. Cuando mi hija se dio cuenta de que quería que varios de sus personajes realizaran la misma rutina de baile, descubrió que podía crear un bloque personalizado en la sección “Mis bloques” para evitar repetir el mismo código.
¿La mejor parte? A diferencia de los lenguajes de programación tradicionales para principiantes, donde a menudo solo ves salida de texto en una aburrida ventana de terminal, todo lo que creas en Scratch cobra vida instantáneamente en la pantalla. Con un solo clic en la bandera verde, mi hija podía ver a sus personajes bailar, interactuar y moverse exactamente como ella imaginaba.
Comenzando con Scratch
Comenzar con Scratch no podría ser más fácil. Funciona directamente en tu navegador web en scratch.mit.edu, aunque también hay una versión descargable disponible para Windows, macOS, ChromeOS y Android si prefieres trabajar sin conexión. Optamos por la versión web ya que mi hija usa una Raspberry Pi como su computadora (la versión sin conexión no es compatible con Linux).

Si bien puedes comenzar a crear proyectos de inmediato sin una cuenta, decidí crear una para mi hija para que pudiera guardar su trabajo y unirse a la comunidad de jóvenes creadores.
Para su primera creación, decidimos mantener las cosas simples: una animación de un gato persiguiendo una mariposa. Una de las características más atractivas de Scratch es su extensa biblioteca de sprites: personajes y objetos animados prehechos que los niños pueden usar en sus proyectos, por lo que agregar la mariposa fue tan fácil como hacer clic en el botón “Elegir un sprite”. Convenientemente, el sprite del gato ya está presente por defecto, así que ni siquiera necesitábamos agregar eso.

Una vez que se estableció el escenario, era hora de agregar algo de lógica. Le mostré a mi hija cómo usar bloques de evento como “cuando se presiona la tecla [espacio]” para hacer que el gato se acercara a la mariposa. Usamos bloques de movimiento simples como “mover [10] pasos”, lo que le permitió ver el resultado de sus comandos al instante. Para hacerlo interactivo, agregamos una verificación condicional con el bloque “si” para detectar cuándo el gato tocaba la mariposa. Cuando eso sucedía, activamos un bloque de sonido para que el gato maullara.

La simplicidad de arrastrar y encajar estos bloques juntos hizo que fuera intuitivo para ella entender el flujo de acciones. Incluso en esta etapa temprana, comprendió la lógica detrás de las declaraciones “si-entonces” y la programación basada en eventos sin darse cuenta de que estaba aprendiendo conceptos fundamentales de programación.
Principales desafíos con Scratch
Si bien Scratch está diseñado para ser amigable para los niños, encontramos dos obstáculos en el camino. Aquí te mostramos cómo los abordamos.
Dificultades iniciales de lectura
El mayor obstáculo inicial no fue técnico en absoluto, fue la alfabetización. Cuando comenzamos con Scratch, las habilidades de lectura de mi hija no estaban lo suficientemente desarrolladas como para entender todas las descripciones de los bloques y las etiquetas de los botones de forma independiente.

En lugar de dejar que esto la detuviera, lo convertí en una oportunidad para un tiempo de aprendizaje compartido. Me senté con ella durante sus primeras sesiones de programación, leyendo etiquetas y explicando lo que hacían los diferentes bloques. En unos meses, estaba leyendo descripciones de bloques por su cuenta, y su vocabulario de programación y alfabetización tecnológica se expandieron naturalmente junto con sus habilidades de lectura.
Limitaciones del tamaño del proyecto
El único desafío técnico que encontramos provino de los límites de activos del proyecto de Scratch. Verás, cada proyecto puede contener múltiples activos, pero cada activo debe tener un tamaño de hasta 10 MB. Si bien eso es suficiente para sprites y efectos de sonido cortos, aún encontramos problemas de tamaño cuando mi hija comenzó a agregar música de fondo de su propia producción.

La solución fue ser más inteligentes con los archivos de audio. En lugar de usar los archivos WAV que provienen directamente de la grabación, comenzamos a convertirlos al formato MP3 usando Audacity, un editor de audio gratuito. Esta compresión normalmente reducía el tamaño de los archivos en un 80-90% mientras mantenía una calidad de sonido aceptable.
Más allá de Scratch: ¿Qué viene después?
Por maravilloso que sea Scratch para introducir conceptos de programación a través de bloques visuales que los niños encuentran atractivos, llega un momento en que los jóvenes programadores pueden querer explorar la programación basada en texto. Después de todo, de eso se trata la verdadera programación.

Mi hija aún no está lista para la programación basada en texto completa, así que estamos dando un paso intermedio con MakeCode de Microsoft, que es muy similar a Scratch porque también utiliza bloques para enseñar programación. Pero a diferencia de Scratch, MakeCode también permite a los jóvenes programadores cambiar a programación basada en texto e implementar lógica más avanzada en JavaScript o Python.
Para los niños mayores que están listos para sumergirse directamente en lenguajes basados en texto, Python y JavaScript son excelentes puntos de partida. Ambos ofrecen una sintaxis limpia y legible y bibliotecas extensas para crear juegos y gráficos, perfectos para jóvenes programadores que quieren construir sobre los conceptos que aprendieron en Scratch.
Imagen de portada y capturas de pantalla por David Morelo.