Aprendiendo a programar con Scratch Jnr

La programación es, según la Wikipedia,

el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales Wikipedia

El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado, y para ello se requieren de herramientas que nos permitan escribir ese código.

En mis primeros pasos en el mundo de la programación no existían la cantidad de lenguajes y herramientas actuales, y por aquel entonces los niños como yo aprendíamos a «base de tortas»; no existía Internet. ni prácticamente material escrito. Existían básicamente 2 lenguajes para para iniciarse en este mundillo: Bàsic y Logo.

Logo apareció en 1967, de la mano del matemático Seymour Papert, con fines didácticos, siendo un lenguaje de alto nivel pensado específicamente para niños. ¿Recordáis aquella «tortuga» (triángulo) que hacíamos mover por la pantalla de fósforo verde para poder dibujar?

No os voy a hablar de Logo, sino de un «derivado» de la filosofía de Logo llamado Scratch, y concretamente de Scratch Jnr, que es la aplicación diseñada para iPad basada en Scratch y simplificada respecto a esta.

Al igual que Logo, el objetivo de Scratch Jnr es el aprendizaje, orientado a niños de 5 a 7 años, no de un lenguaje de programación, sino principalmente de la lógica que se requiere en el proceso de programación. Así pues, el niño se enfrenta a dos retos:

  1. Qué acciones hay que llevar a cabo para poder resolver un problema; se trata del ejercicio de ordenación del pensamiento previo a la programación.
  2. Cómo materializa, a través de instrucciones con las que se va a valer para escribir el código, las acciones del QUÉ.

El primero de esos retos, el QUÉ, es la lógica de programación; esta permite diseñar la solución a problemas que pueden implementarse con una computadora, y una de las formas en que el niño llega a esa solución es a través de la división del problema en problemas más pequeños y, por tanto, más fácilmente analizables e implementables.

Scratch Jnr dispone de una serie de personajes que pueden desarrollar acciones dentro de un escenario, e incluso coordinar entre sí dichas acciones. El objetivo es que le niño desarrolle una historia, dentro del escenario elegido, con uno o más personajes a través de la programación de las acciones que estos deben llevar a cabo dentro de esa historia. Todo conjunto de acciones tiene un inicio y un fin, y cada acción que realiza el personaje supone un cambio de estado del mismo. Disponemos, entre otras, de acciones como dar uno o más pasos adelante, atrás, arriba, abajo, saltar, girar, hablar,… Disponemos de tareas de repetición de un conjunto de acciones (bucle),  de acciones de notificación y recepción de mensajes entre personajes a través de las que podemos coordinar sus acciones, etc.

Aquí podemos ver cómo, dentro de un escenario acuático tres personajes van a llevar a cabo una «representación»: el gato, el pulpo y la mosca (esperemos que no se ahoguen ni el gato ni la mosca, pero mi hijo le dio prioridad a sus gustos y no al tema de poder respirar bajo el agua). Cada uno de los personajes tiene un proceso que describe su comportamiento. Os dejo imágenes del proceso del pulpo y la mosca, que considero los más interesantes.

foto 2

El pulpo inicia su proceso cuando arranca la acción (bandera verde). Baja 10 posiciones respecto de su posición inicial, se desplaza 7 posiciones a la derecha, dice algo (concretamente un «glu, glu» muy conseguido por mi hijo) y envía un mensaje de sincronización o corrdinación «rojo» a algún personaje para, finalmente, acabar su proceso.

 

foto 3

La mosca, arranca su proceso cuando recibe la orden (mensaje de sincronización «rojo»), se desplaza 10 posiciones hacia abajo desde su posición inicial, luego 2 hacia arriba, luego 8 a la izquierda y 2 más hacia abajo; finalmente dice algo (concretamente mi hijo grabó un zumbido de mosca) y finaliza su acción.

Resulta realmente increíble ver como un crío desarrolla su propia historia y como la materializa a través del conjunto, limitado, de acciones que Scratch Jnr pone a su disposición, rompiendo el problema global en otros de más pequeños que, después, tras resolverlos individualmente, aúna para obtener la solución total.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.