Mucho se habla en los últimos tiempo sobre las TIC, las nuevas tecnologías, en el ámbito educativo. Pizarras digitales, ordenadores y tabletas, típicamente. Sin embargo, también hay un uso de las nuevas tecnologías que muchos están empezando a destacar: la programación como herramienta educativa, una apuesta al alza en muchos lugares
Hablamos de cómo enseñar programación a niños, en edades a partir de los 6 o 7 años. La programación educativa empieza a abrirse hueco en las escuelas y universidades (Universidad de Granada, Universidad de Valladolid) y es una excepcional propuesta para aprender durante este verano. ¿Cómo podemos adentrar a nuestro hijo en este nuevo mundo? ¿Cuáles son las razones para ello? Vamos a descubrirlas.
Una de las principales razones de apostar por la programación a nivel educativo es para que los chavales no sólo sean consumidores de contenido, sino que también tengan la oportunidad de crearlo. Ni mucho menos se busca orientarles hacia un mundo relacionado con la informática.
La programación debe ser estructurada, organizada y metódica. Una serie de valores que no existen en otras actividades, y que son absolutamente esenciales en el mundo de la programación para continuar avanzando y evolucionando las creaciones, e incrementando su complejidad.
Con este planteamiento ha empezado a evolucionar el concepto de Pensamiento Computacional - del inglésComputational Thinking, un término que empezó a utilizarse en 2006 -, refiriéndose a la organización y estructuración de las ideas que un programador debe tener. La programación es, en definitiva, una forma de resolver problemas, y para ello es necesario afrontarlos de una forma determinada, típicamente secuencial e iterativa (es decir, de principio a fin, paso a paso), organizada y estructurada.
Este Pensamiento Computacional está siendo analizado científicamente y, en los últimos diez años, ha demostrado ser un valor clave para aprender aptitudes relacionadas con lógica y resolución de problemas, los grandes pilares de la programación. Además de esto y según la metodología utilizada y los proyectos, actividades y ejercicios a realizar, también se pueden promover otras aptitudes como las matemáticas (en la Universidad de Valladolid tenemos MATCH: Programando Matemáticas con Scratch, formado por cuatro proyectos para afianzar ciertos conceptos matemáticos) o por supuesto la creatividad tanto artística como la perteneciente a otros campos.
Junto a las aptitudes a realizar no podemos olvidar una característica esencial de los grupos: la colaboración entre seres, algo muy importante en equipos de trabajo formados por niños. Según la metodología que apliquemos (no es lo mismo seguir un guión lineal como el de una academia, o una metodología mucho más libre que cede la batuta a los propios chavales) podremos proponer proyectos colaborativos o que requieran el uso de Internet para la búsqueda de información.
Decíamos que el mundo de la programación ha sido exclusivamente profesional durante décadas. Los primeros ordenadores de mediados del s.XX fueron evolucionando y simplificándose, siempre con un nivel de complejidad bastante elevado y, por tanto restringido a profesionales especializados. Matemáticos y físicos fueron los primeros informáticos, antes de que la profesión tuviese nombre propio.
El primer acercamiento de la programación en la educación data de 1967, cuando nació Logo, aunque no sería hasta muchos años después cuando empezó a popularizarse por todo el mundo. Se caracterizaba por permitir utilizar una serie de sencillas instrucciones con las que mover una tortuga(o algo que se le parece) y dejar su rastro para realizar dibujos.
Logo fue la chispa que encendió un campo que poco a poco ha ido creciendo con múltiples programas que heredaban sus funcionalidades y características. El más llamativo en la actualidad esScratch, un software del MIT nacido en 2005 que es considerado el Logo actual.
Scratch permite la programación a partir de bloques de colores, muy visuales y extremadamente sencillos de entender y utilizar. Precisamente esta facilidad es su gran virtud, pues permite realizar complejos programas en unos pocos minutos y que los más pequeños vean los resultados al instante.
Evidentemente existen límites en Scratch debido a la tecnología que utiliza, aunque es un lenguaje lo suficientemente amplio como para proporcionar una base muy sólida de conocimientos sobre programación, lógica, matemáticas y resolución de problemas. Cabe mencionar que la mayoría de opciones existentes en Scratch existen en otros lenguajes más profesionales como puede ser un
C
, con lo que el salto de Scratch (programación visual) a un lenguaje tradicional (programación basada en texto) es relativamente sencillo.
Junto a Scratch, muchas grandes entidades están fomentando el uso de la programación. La BBC británica, sin ir más lejos, lo intentó en los 80 y le está dado una nueva oportunidad en 2015. También hemos visto programar a Obama y, en general, puede decirse que muchos países están implementando la programación en los currículos educativos; como referencia, en España primero la Comunidad de Navarra y luego la Comunidad de Madrid han confirmado la inclusión de la programación dentro de los centros de educación primaria.
Vamos a buscar el punto de vista práctico. Supongamos que nuestro chaval quiere dar sus primeros pasos en la programación, ¿qué hacer? ¿Por dónde empezar?
En primer lugar existe la restricción de la edad. Según el software, el entorno así como por supuesto las capacidades del chaval, la edad recomendada para iniciarse puede variar. En líneas generales es recomendable empezar a partir de los 7 u 8 años, aunque en algunas ocasiones podemos partir de los 6 o incluso menos años, según sean los ejercicios a realizar.
Uno de los aspectos clave a la hora de enseñar programación a niños es precisamente la metodología. Lejos de proponer una perspectiva clásica basada en la clase magistral, vamos a tratar de dar algunos trucos y consejos que permitan potenciar las habilidades que buscamos a través de la programación.
En primer lugar está permitir la libertad a la hora de escoger proyectos para crearlos. El software de programación educativa permite hacer mucho con muy poco, ofreciendo resultados rápidamente. Resultados que inicialmente pueden ser sencillos, pero suficientes para una primera toma de contacto.
Podemos, por ejemplo contar un diálogo entre personajes, un cuento, la biografía de un personaje o un acontecimiento histórico. Es esencial buscar cuáles son las inquietudes del menor, los temas que le apasionan para que así pueda poner el máximo empeño en su trabajo. Una vez terminado nuestro primer proyecto podemos buscar formas de mejorarlo, añadiendo complejidad. Incorporar movimientos a los personajes, cambios de disfraces o escenarios, o añadir nuevas escenas al proyecto.
Otra interesante vía de desarrollo es pensar en juegos clásicos y clonarlos. En algunos casos conseguiremos clones 'perfectos' que imitan todas las funcionalidades del original; en otras alcanzaremos programas muy fieles, aunque excluyendo las partes más complejas. Por ejemplo un Pong, un Arkanoid o un Flappy Bird son muy sencillos de afrontar la primera vez, quizá con algunas dudas que el adulto deberá solventar.
Sobre el papel del adulto, debe ser un guía y no imponer sus creencias o métodos de programación, ni robarle el papel al verdadero protagonista, el niño. Es mucho mejor que el chaval vaya descubriendo el lenguaje a su ritmo y sin imposiciones. En vez de dar soluciones directas es muchísimo mejor plantear preguntas cuyas respuestas sean las que guíen al aprendiz. Cuanto más juguemos con la programación, más complejos serán los resultados y más lejos llegaremos en el aprendizaje.
Ahora hablemos de recursos. ¿Cuáles son los principales que podemos encontrar?
Scratch, del MIT
Sencillo, rápido y directo. Recomendado para edades entre 8 y 16 años, aunque ya se pueden hacer cositas a partir de 6, con cierta ayuda y soporte. Es extremadamente fácil de utilizar y permite conseguir mucho con muy poco.
Un factor a favor de Scratch es su ingente comunidad online que permite subir los proyectos para compartirlos con los demás, comentar o incluso reinventar los proyectos de otros. A día de hoy son casi 10 millones de proyectos subidos los existentes en esa web.
Scratch es completamente gratuito y puede funcionar en un navegador, aunque también tiene versión offline instalable. Con su filosofía y más recientemente se creó Code.org, una iniciativa de la que ya hemos hablado por aquí y que tiene su propio lenguaje, Blocky, heredado de los bloques visuales de Scratch. En Code.org encontramos multitud de tutoriales muy interesantes para empezar a aprender.
Codecademy, CodeCombat, etc.
Si ya has conseguido exprimir al máximo la programación visual a partir de bloques, entonces quizá sea un buen momento para dar el salto a la programación textual más tradicional.
Podemos aprender lenguajes directamente buscando tutoriales y probando, o bien utilizar portales especializados como Code Academy, que proporcionan guías dinámicas para conocer lenguajes como Python (para muchos la primera gran opción fuera de los bloques de colorines), JavaScript, HTML, PHP u otros. Codecademy es un conjunto de tutoriales sencillos y directos, fáciles de entender y de probar. Disponible gratuitamente a través de cualquier navegador.
Pero hay herramientas más elaboradas, como la genial Code Combat: aprender a programar a través de un videojuego completamente interactivo. En él deberemos resolver ciertos problemas a través de programación escrita (lenguajes JavaScript, CoffeeScript, Python, Lua, Clojure o Io) con apoyo visual. Lo mejor, que es completamente gratis (y, aviso, adictivo).
Arduino
Una vez que tengamos los conceptos básicos de programación en nuestra cabeza, el siguiente paso es buscar su aplicación en entornos reales. Y en esto Arduino es el rey.
Arduino es perfecto para los primeros pasos en el mundo de la electrónica, que va mano a mano de la programación. Podremos implementar software que se ejecutará sobre una placa de Arduino, a la que podemos conectar sensores, luces, motores o un sinfín de cacharritos. para conseguir proyectos que muchas veces son increíbles.
Arduino nos permitirá llevar al "mundo real" lo que hayamos programado en el ordenador. Las opciones de programación comprenden multitud de lenguajes (aunque hay versiones de Scratch compatibles) y también hay kits de iniciación y robots prediseñados como el oficial, diseñado en colaboración con Complubot quienes lo venden por 218 euros.
Sin duda alguna el principal valor de Arduino es su bajo coste. Existen placas por unos 25 euros puestas en casa y las guías y muchos tutoriales (el oficial está muy bien) son triviales de seguir, aunque según la edad es posible que se requiera una cierta ayuda por parte del adulto.
Por último la mayor ventaja que tiene es que al ser hardware libre se han realizado muchas copias por un precio muy bajo en páginas de venta por internet en el que venden kits con la placa incluida por unos 20€.
Por último la mayor ventaja que tiene es que al ser hardware libre se han realizado muchas copias por un precio muy bajo en páginas de venta por internet en el que venden kits con la placa incluida por unos 20€.
Libros y manuales, recursos imprescindibles
Los recursos online están bien y muchas veces son geniales. A los ya mencionados debemos de añadir Khan Academy, una web multidisciplinar que actúa como una academia virtual, completamente digital, abarcando múltiples temas (matemáticas, economía, biología, química, etc.). Entre ellos también existe un apartado para la informática y la programación. Esta web es bastante avanzada y no es recomendada para edades cortas, aunque puede ser un interesante camino a recorrer una vez se hayan adquirido unas bases de programación mediante lenguajes más sencillos.
¿Y un libro físico? Por supuesto que los hay, y muchos, aunque la inmensa mayoría en inglés - al igual que la documentación que encontramos por ahí -. El primero muy interesante es Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math, un tomo de 288 páginas a color que incluye multitud de ejemplos y propuestas de proyectos, realizando un recorrido que va desde las bases hasta complejas ideas. Su precio en Amazon es de 30€.
Con un lenguaje algo más avanzado se presenta Scratch 2.0 Programming for Teens, de 367 páginas, que trata una introducción Scratch más dirigida a adolescentes, como su nombre indica. No porque de por conocidos algunos conceptos - empieza desde cero - sino por la profundidad de algunos temas a tratar. Cuesta 22 euros.
Si lo que buscamos es algo de Python - recuerdo, para muchos el primer lenguaje de programación basado en texto que un chaval debe aprender - tenemos Python for Kids: A Playful Introduction to Programming, una introducción que toma este otro lenguaje como bandera. Es muy correcto y también comienza en una fase muy inicial, aunque personalmente lo recomendaría a aquellos que ya tienen conocimientos básicos de programación para que luego puedan empaparse en estos lenguajes más "complejos". 344 páginas y su precio en Amazon es de 30€.
Por último en lo relativo a nuestras recomendaciones de manuales y libros físicos está el Arduino Práctico de la colección Manuales Imprescindibles de Anaya, una editorial clásica en esto de los manuales técnicos en español. Interesante para coger ideas que luego implementar con nuestra placa, por 27 euros.
Por supuesto la variedad que existe de manuales en formato físico es inmensa, y ésta es sólo una pequeña selección. No podemos olvidar los recursos disponibles por parte del equipo de trabajo de cada plataforma, y que os dejamos a continuación:
- Proyectos de ejemplo de Scratch
- Guía de inicio de Scratch (.pdf).
- Tarjetas de Scratch con ejemplos de proyectos
- Tutoriales introductorios en vídeo de Scratch.
- Guía oficial de primeros pasos de Arduino.
- Tutoriales de primeros pasos de Arduino.
- Guía para iniciarse en Arduino, de Fore Front.
- Started Guide de Arduino, de los siempre geniales Instructables.
- Categoría Arduino de MAKE, con cientos de artículos.
- Tutorial de Ardino desde cero, de Lady Ada.
- Hello Ruby, un libro para aprender el lenguaje Ruby orientado a niños.
También los tutoriales en vídeo alojados en Youtube son muy importantes, y muchas veces permiten aclarar con mayor profundidad algunos conceptos clave o darnos nuevas ideas de proyectos a realizar.
Los campamentos de verano
Con el verano muchos están buscando campamentos para sus niños. Antaño estaban asociados a actividad física, aunque en la actualidad es muy habitual encontrar campamentos de verano relacionados con la tecnología, y entre ellos los que fomentan la programación.
Independientemente de la duración, en prácticamente cualquier ciudad puede encontrarse alguna entidad que organice estos cursos de verano, ya sea en una academia formal y tradicional o en algún tipo de aula más elaborada. Como referencia, Complubot en Madrid y Citilab y Camp Tecnologico en Barcelona llevan años trabajando en este campo y sus referencias son muy buenas.
No hay comentarios:
Publicar un comentario