lunes, 14 de diciembre de 2015

Aprender a programar desarrolla la creatividad, la sociabilidad y mucho más



Muchos piensan que cuando enseñamos programación a un niño sólo le estamos preparando para programar. Eso que a los informáticos nos enseñan en las universidades o en los ciclos formativos, esa cosa rara en la que nos sentamos frente a dos o tres pantallas con mucho texto por delante. Todo lo contrario.

La programación ha estado tradicionalmente anclada a un ámbito profesional, realizada por programadores físicos, matemáticos y, desde hace un par de décadas, informáticos. La programación como herramienta educativa es mucho más que sólo programar, es una excusa para mucho más.

Es por la resolución de problemas

El pensamiento computacional – concepto clave que se afianza con el conocimiento de la programación y la algorítmica – permite abordar los problemas para encontrar sus soluciones. Porque un problema puede tener múltiples soluciones, y no siempre existe el término de ‘la mejor’.
La programación es una herramienta más, al igual que lo son la lectura y la escritura o las operaciones aritméticas. Una herramienta que nos permite plantear un proyecto e ir desmigándolo, rompiéndolo en pequeñas partes y afrontando cada una de ellas por separado.El problema general se divide en problemas particulares, de menor envergadura, que es necesario resolver para llegar a la solución general. Divide y vencerás, reza el término en ciencias de la computación.

No tiene ningún sentido aprender a programar memorizando las diferentes instrucciones que existen (if, if-else, repeat-until, etc.), ni planteando ejemplos para cada una de ellas. Todo lo contrario, se pueden plantear proyectos muy sencillos y de soluciones ‘naturales’ que cualquier chaval puede resolver sin necesidad de saber programar o con conocimientos de algorítmica previos. Tan solo pensando un poco.

Es por la creatividad


Es una de las principales quejas del sistema educativo actual y que muchos intentan suplir en sus clases, con sus metodologías. Programar es pura creatividad, siempre y cuando se sepa llevar a cabo. Y, curiosamente, en el CJP@UVa – así como en otros talleres que hemos montado durante todos estos años – he observado que cuanto más pequeños son, más creatividad tienen, y que la van perdiendo a medida que pasan los años. ¿Genética? ¿Evolución? No lo creo…

Una vez más, olvídate de papeles, guiones o libros de texto. Como docente debes buscar proyectos creativos, diferentes; propón ideas y, sobre todo, da libertad a tus alumnos para que programen lo que quieran, sin límites. Programar un juego de tenis en Scratch es ir más allá de una pelota y un par de raquetas. Fondos creativos con formas o diferentes colores, sonidos de trompetas cuando la pelota impacta en cada una de las barras, o animaciones que anuncian el ganador. Son sólo unos ejemplos.

La clave de la creatividad – en la programación, al menos – consiste en alcanzar la libertad que permite a los chavales poner sus ideas en el ordenador, sean cuales sean estas ideas. ¿Has propuesto alguna vez crear un clon del PacMan? Hazlo y verás que todos los chavales hacen un muñeco amarillo y un puñado de fantasmas. ¿Por qué no animales? ¿Por qué no un caballo al que le persiguen zorros? ¿Por qué no pones lo que quieras, lo que se te ocurra, y luego me cuentas una historia de por qué has elegido eso?

Es por la colaboración y la sociabilidad

Tanto a nivel profesional como educativo, programar también puede ser una gran herramienta social. Igual que lo es para afianzar la creatividad, con el método necesario puede mejorar aspectos como el trabajo en equipo o las presentaciones en público.

Tanto al principio como cuando el conocimiento ya es avanzado,muchos proyectos son perfectos para que varios chavales cooperen en la búsqueda de soluciones permitiendo, por ejemplo, elegir cuáles serán los algoritmos elegidos para resolver el problema. Que comenten cómo lo van a solucionar, que propongan sus propias soluciones y que discutan y debatan cuáles van a llevar a cabo.


Pero no sólo eso. Igual que por ejemplo un resumen de una obra (libro, película, serie; lo que sea) puede ser perfecto para exponer al resto de la clase, un proyecto de programación es ideal para presentar en público y, de paso, repasar algunos fundamentos: hila un argumento de qué vas a decir y en qué orden, estudia cómo lo vas a decir y luego a por ello. No es nada relacionado con la programación, pero desde luego podemos ayudar – ¡y mucho! – a mejorar muchas más cosas.
La clave enseñar a programar es la metodología

Era 2011 cuando por primera vez me puse frente a dos chavales (8-9 años) a enseñarles a programar en Scratch, en un pequeño colegio público del alfoz de Valladolid. No tenía guión, ningún libro de texto ni más recursos que ir proponiendo algunos proyectos, con una dificultad que iba incrementándose poco a poco. Empezamos haciendo algo muy parecido a esto: primero ‘pintando’ una línea, haciendo que girase noventa grados, otra línea… y buscando terminar el proyecto con un cuadrado.

La programación es, precisamente, una herramienta muy natural que raramente requiere de explicaciones previas, más allá de una lógica introducción inicial. Todos sabemos lo que significa repetir [algo] 10 veces, o lo que hace el ordenador cuando le dices por siempre [haz esto]. No necesitas explicarlo ni tan siquiera una vez.

Según las características que quieras afianzar en los chavales necesitarás un método u otro. Por ejemplo, la creatividad se puede encontrar si les damos libertad para que ellos sean los que compongan sus proyectos; la sociabilidad, con trabajo en equipo; y la resolución de problemas puede atacarse a largo plazo con casi cualquier tipo de proyecto.


Aunque le tengas un gran respeto a esto de la programación – lo entiendo, y en cierto modo lo comparto -, las herramientas disponibles en la actualidad permiten aprender programación a casi cualquier edad, desde infantil hasta los cien años – y más -, con muy pocos requisitos. Échale un vistazo a los recursos imprescindibles para dar tus primeros pasos en Scratch para empezar, con especial énfasis en Code.org tal vez como primera toma de contacto. Ten muy en cuenta dar libertad a los chavales, lee nuestro decálogo del buen docente de programación y si lo que buscas ideas, te lanzamos dos propuestas:

Nuestras ideas para la programación en el aula, para mucho más que sólo informática. Por ahora hemos hablado de propuestas para ciencias sociales ytambién para lengua y literatura, pero pronto vendrán muchas más.

Nuestros Proyectos Scratch de los Viernes que proponemos el quinto día de cada semana con diferentes ideas y recursos, para ir haciendo nuestro propio repositorio de propuestas con mejoras e incrementos incluidos para los más inquietos en la materia.

¿Tienes alguna idea o propuesta que desees compartir? Entonces ¡no dudes en dejarnos un comentario con ello!

Pablo Espeso Tascón es Ingeniero Informático y coordinador del Club de Jóvenes Programadores de la Universidad de Valladolid (CJP @ UVa)