Los niños que programarán nuestros robots

Francisco Javier Almellones    30 abril, 2013

Hace no mucho tiempo “amenacé” a mi hija con enseñarle a programar. Esa “amenaza” se convirtió en una persecución diaria del tipo: “papá, ¿cuándo me vas a enseñar a programar?, papá, ¿cuándo me vas a enseñar a programar?”. Así que me puse manos a la obra y comencé con la pertinente tarea de investigación y auto-aprendizaje, para poder transmitir lo aprendido de forma adecuada a su edad. El reto no era tanto su capacidad de aprendizaje, que hay que darlo por hecho, como que el aburrimiento hiciera mella a las pocas sesiones.

Aunque no puedo decir que haya encontrado una exagerada cantidad de opciones, sí es verdad que las he encontrado bastante interesantes, empezando por el visual Scratch, generado por el prestigioso MIT (y recomendado por mi amigo @joobid), siguiendo con el Ruby for Kids que tanto nos recuerda al famoso Logo de 1967,  y acabando por libros especiales para niños en los que se enseña a programar en Phyton. Tras una somera revisión y prueba de algunos de ellos, me decanté por el entorno Robomind, el cual es gratuito para uso doméstico pero tiene un coste si se destina al uso educativo profesional o comercial.

Desde el mismo instante en que lo instalé y empecé a disparar las primeras líneas de código, me quedé prendado por la sencillez y vistosidad de la aplicación, muy adecuados al uso que quería darle. Se trata de un entorno autocontenido  en el que mediante programación se controla a un simpático robot motorizado dentro de un recinto cerrado (“mapa”) con diferentes objetos y obstáculos. El robot puede pintar, mirar, coger y soltar algunos objetos disponibles dentro del mapa. Una parte muy positiva de que sea un entorno tan acotado es que, además de la inmediatez de los resultados (no es necesario compilar), no hay riesgo alguno de que nuestros futuros programadores hagan ningún destrozo en el equipo al hacer un mal uso del temible “Hello world!” de otros entornos de programación.

Para controlar al robot, se usa el sencillísimo lenguaje ROBO, creado para la ocasión y basado también en Logo, pero algo más evolucionado, como era de esperar. Es tan sencillo dirigir a nuestro simpático personajillo como darle instrucciones simples del tipo “adelante(1)” (muévete 1 posición hacia delante), “derecha()” (gira hacia la derecha) o “pintarBlanco()” (activar la brocha para pintar de color blanco). Naturalmente también dispone de las estructuras de programación algo más complejas como la creación de procedimientos o funciones con paso de parámetros, los bucles simples y condicionados “repetir(n-veces)” / “repetirMientras(<condición>)” o las condiciones clásicas “si … entonces … otro …”. Esto permite hacer que nuestro robot busque objetos y ejecute acciones de forma efectiva sin importar el mapa y los obstáculos que encuentre.

La aplicación está disponible para los entornos Windows, Mac OSX y Linux, y soporta varios idiomas, tanto para las opciones de menú como para los comandos. El menú incluso cuenta con un desplegable de las instrucciones disponibles, así no es necesario memorizar la sintaxis correcta y se limitan los errores. Desde mi punto de vista, siempre será más provechoso enseñar programación en inglés desde el principio, ya que es el idioma usado en la inmensa mayoría de los lenguajes de programación existentes, lo cual facilitará sin duda la transición hacia lenguajes más complejos. Pero esto siempre dependerá mucho de la edad del peque y, en cierta medida, de su nivel de inglés.

Hay mapas y retos de diferente complejidad disponibles para descargar en la página web de Robomind y así tentar la creatividad y la motivación de los jóvenes aprendices.

Podemos ir un poco más allá y crear nuestros propios mapas, algo nada complicado una vez visto el formato del fichero “.map”, si bien esto requiere del uso de un editor de textos ya que esta opción no está disponible desde el entorno gráfico.

Por si la sencillez y vistosidad fueran poco atractivos, este entorno cuenta con el aliciente de que los scripts generados pueden ser exportados (sólo para la versión Windows de momento) y cargados directamente sobre los fantásticos robots Lego MindStorms NXT, un kit de construcción al más puro estilo Arduino dedicado en exclusiva a la fabricación de robots caseros. Se puede ver un simpático video de demo en la misma página de Robomind.

He de decir que tras la primera sesión de escasa media hora con mi hija, he quedado entusiasmado con el increíble grado de asimilación, de resolución de retos (creación de programas) y la ilusión que le ha despertado esta actividad. Tanto ha sido mi entusiasmo que he empezado con otros miembros de la familia mi particular cruzada del tipo “¿quieres aprender programación?, ¿quieres aprender programación?”. De momento la respuesta ha sido positiva, pero modulada por esas palabras del cómico televisivo que dicen: “sí, quiero, pero hoy no … mañaaana”.

Imagen: crashsuit

Comentarios

  1. Ésto mola más que empezar con un Commodore 64 hace ya unos años (4 o 5) aunque también tenía su encanto, todo hay que decirlo. Gracias por la entrada.

  2. Pues en la misma disyuntiva me encontraba yo hace unas semanas, llegué a mirar un poco el scratch, pero me quedé en el ‘no tengo tiempo’…tendré que retomar de nuevo el tema, veo que las nuevas generaciones vienen empujando fuerte.
    Muchas gracias por el artículo, ya compartiremos experiencias!!

  3. Yo tuve una experiencia similar hace unos meses con mi hija de nueve años, y me decanté por SCRATCH. Después de explicarle algunas cosillas (y resolverle algunas dudas), y tras varias horas de entretenimiento (es todo muy visual) terminó haciendo ella sola un cuento interactivo que me sorprendió muy gratamente.

    Reconozcomo que cuando ella terminó, me puse yo a toquetearlo y a jugar con el programa y el resultado es que me entusiasmé y programé un juego de un gato comiendo pescados y huyendo de unos alien con malas intenciones que fue la delicia de mis hijos. Hacía mucho tiempo que no disfrutaba tanto con un teclado en las manos.

    Gracias por el artículo: me has dado más ideas para disfrutar con mis hijos. Lo de RoboMind tiene una pinta estupenda.

  4. ¡¡¡ Estupendo artículo Javier!!!
    Por culpa tuya, perdón, gracias a ti, me voy a iniciar de nuevo en el mundo de la programación ¡Yo que había huido del mismo como de la peste desde los tiempos del Basic!, y no voy a contar aquí como aprobé las prácticas de programación ja ja 🙂

    Saludos,
    MJ

  5. Hola Javi,

    Por casualidades de la vida, he llegado hasta este blog. Lo tendré en cuenta para cuando llegue mi momento, ya que mis hijas son aún pequeñas (3 y 8). Por cierto, ¿como funcionó con la tuya tras estos años?

    Que sepas que me acuerdo mucho de ti (para bien) y tengo muy buenos recuerdos de mi paso por Telefónica. A ver si un día me paso por Distrito C y te puedo hacer una visita.

    Un abrazo
    Carlos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *