Aprendiendo a programar para niños

Sir Ken Robinson señala una preocupante paradoja en su libro “Out of Our Minds“: que los niños se ven así mismo como seres creativos mientras que los adultos no. La hipótesis que sostiene es que vamos perdiendo nuestra capacidad de crear durante nuestro aprendizaje escolar, la cual se ve fuertemente mermada a medida que nos acercamos a la edad adulta. Ken achaca que gran parte de la culpa la tiene una educación basada en el conocimiento declarativo, y el razonamiento lógico-matemático. Para mitigar esa situación, propone incluir en el currículum escolar cursos que fomenten la creatividad. El libro se centra en el desarrollo artístico como paradigma de actividad creativa, y sin faltarle razón, creo que obvia que el razonamiento lógico-matemático también se basa en procesos creativos. En concreto se olvida de la programación que es una de las herramientas más potentes para facilitar el desarrollo de la creatividad.

La programación comparte con el arte que han estado bastante apartados de la educación formal. Recientemente está habiendo un fuerte impulso por acercar la programación a los niños y a los jóvenes a través de las aulas. Por ejemplo, la Comunidad de Madrid ha sido pionera en la introducción de una asignatura de programación obligatoria. Aun así todavía queda un largo camino por recorrer en este sentido. Para los padres inquietos siempre existe la posibilidad de avanzar por nuestra cuenta.

Por dónde empezar

La iniciativa a nivel mundial más importante para aprender a programar es Code.org. Esta respaldada por personalidades como Obama, Bill Gates, o Mark Zuckerberg. Este portal se ha convertido en un referente para niños, padres y educadores. Su famosa “Hour of Code” recopila cursos de iniciación de un hora para diversos programas entre ellos Scratch. El primer contacto que tienen los niños con este lenguaje es a través de una serie de problemas que tienen como protagonistas los famosos Angry Bird. Los cursos que puedes encontrar en Code.org son muy diversos y van desde lenguajes profesionales como Javascript, hasta juegos que enseñan a programar como Light-bot, pasando por robots programables.

Mi primer lenguaje de programación

El lenguaje de moda para empezar a programar es Scratch del MIT Media Lab. Esta institución ha sido pionera en la educación de la programación gracias al lenguaje de programación Logo. Este lenguaje fue diseñado por  Seymour Papert siguiendo la teoría constructivista de Piaget, del que fue discípulo. Scracth es un lenguaje de programación visual que permite al estudiante crear programas de la misma manera que se crea un puzzle. La curva de aprendizaje es muy suave, de manera que el alumno obtienen resultados muy rápidamente sin renunciar a la posibilidad de avanzar hacia programas complejos. Este balance de sencillez y potencia expresiva ha provocado que otros entornos de programación (como veremos más adelante) lo hayan tomado prestado. Además existen multitud de recursos en la web para aprender (prueba a poner Scratch en Google).

Lenguajes profesionales

Antes hemos hablado de lenguajes profesionales, dos de ellos que son muy asequibles para primerizos son PythonRuby. Existe recursos específicos para niños (y no tan niños) de estos lenguajes como el  libro Python for kids o Hackety Hack! para Ruby.

Aplicaciones móviles

Si hay un mundo que une generaciones son los dispositivos móviles ya sean teléfonos o tabletas. Existen dos grandes iniciativas para iniciarse en la programación de este tipo de dispositivos: TouchDevelop de Microsoft, y App Inventor de MIT el cual se basa en Scratch.

Programando sin ordenador

Aunque a primera vista parece un sin sentido, se puede disfrutar de la programación sin tener un ordenador. En Computer sciences without computer proponen múltiples actividades, para realizar individualmente o en grupo, en casa o en el aula, que cubren un amplio rango de conceptos relacionados con la informática. Algunos de ellas explican de manera sencilla y lúdica algoritmos que se ven en asignaturas de grado. El libro de actividades es gratuito y está traducido a múltiples idiomas, entre ellos el español. Sin ser tan completas, pero igual de divertidas, dos propuestas más para introducir conceptos relacionados con algoritmos son: cómo aprender sentencias condicionales con cartas, y cómo “programar” a un amigo para que siga unas instrucciones.

Cómo funciona un ordenador

Para jóvenes que sientan curiosidad por las tripas de la informática, el mejor libro de divulgación es Code: The Hidden Language of Computer Hardware and Software de Charles Petzold. Un libro donde se explican de manera clara, amena, entendible y rigurosa los fundamentos que sustentan el diseño de un ordenador. Estoy convencido que muchos estudiantes de grado habrían pasado menos apuros en asignaturas como estructura de computadores si hubieran leído primero este libro.

Programando robots

El hardware y el software se junta de manera especialmente entretenida en la robótica. Así no es de extrañar que la multinacional danesa LEGO apostara por Mindstorm, una línea que combina la construcción del robot como su programación. Este producto es uno de los frutos de la colaboración entre LEGO y el grupo LifeLong Kindergarten del MIT Media Lab, que es el mismo grupo que ha desarrollado Scracth. Una propuesta más reciente nos viene de Wonder que comercializan dos simpáticos robots programables (Dash y Dot) diseñados para aprender a programar.

El siguiente paso sería adentrarse en el mundo Arduino que orbita alrededor de una plataforma de hardware libre. Esta plataforma provee de un microcontrolador, que es un procesador especializado en comunicarse con sensores y actuadores que permiten medir y controlar el mundo real. Arduino amplia el campo de la robótica a todo tipo de proyectos que impliquen componentes electrónicos como puede ser alarmas, sintetizadores o control domótico, por mencionar unos pocos ejemplos de la cantidad ingente disponible en la red. En la misma línea, tendríamos Raspberry Pi, que es un “miniordenador” de bajo coste (hasta 1GHz y 512 MB RAM por menos 50 euros) que fue creado con el objetivo de facilitar el aprendizaje de la programación en las escuelas. La Raspberry Pi tiene todas las ventajas de un PC (tiene un sistema operativo, puede almacenar datos, se puede conectar a un monitor, a un TV, a la red…) y gracias a su precio es una alternativa muy sugerente para equipar un curso de programación.

Como veis todo un mundo de posibilidades para que la creatividad no decaiga.