Uno de los principales problemas que he encontrado al enseñar a los alumnos a programar, es que si lo hacemos tomando como referencia el lenguaje particular que van a utilizar en la materia, posteriormente les cuesta mucho trabajo cambiar a programar a otro lenguaje. Es como si hubieran aprendido a programar "solo para ese lenguaje".
Así que pensé que podría haber una forma de enseñarles a diseñar algoritmos (procedimientos o programas) fuera del contexto del lenguaje que iban a utilizar. Y lo hice también con el propósito de implementar algo que Richard Bandler siempre ha predicado: antes de enseñarle algo a alguien, necesitas instalarlo inconscientemente.
También, en lo que se refiere a aprendizaje, siempre he considerado tres cosas: La primera es que eso de que la programación y las computadoras son para genios y eruditos es una vil mentira. He visto gente hacer procedimientos (fuera del ámbito de las computadoras) con una precisión y una efectividad impresionante, y la estrategia es la misma: debes adaptarte al conjunto de instrucciones que tiene quien (o lo que) va a ejecutar el programa. Es diferente hacer un procedimiento para un contador que para un ingeniero... simplemente porque utilizan diferente lenguaje, diferentes palabras, diferentes instrucciones. La segunda es que se puede enseñar a alguien a usar algo sin explicarle la "logica" de lo que está aprendiendo: Nosotros no sabemos a ciencia cierta como trabaja nuestro cerebro, y sin embargo lo podemos usar (o por lo menos de eso presumimos
Y considero que lo que nos hace hábiles en algo es estar familiarizados con el proceso, y no entenderlo; es decir, cuando nuestro cerebro ya tiene bien establecidas las conexiones neuronales que generan ese proceso.
Lo que hice fué un par de acciones en paralelo. Les entregué una copia de las instrucciones del lenguaje, y les pedí que las leyeran todos los días durante 5 minutos. No era necesario que lo entendieran, ni siquiera que le pusieran atención. Solo que deslizaran sus ojos sobre el texto durante 5 minutos todos los días. Al mismo tiempo nos pusimos a desarrollar algoritmos para realizar actividades "irrelevantes" y cotidianas. Pensé que era un poco mas divertido hacer eso que algún algoritmo para realizar algún cálculo o alguna aplicación técnica. Y lo fué! Nos divertimos mucho haciendo algoritmos para "sacar una moneda del bolsillo" (sin poder utilizar ciertas palabras) o hasta cosas como "escupir lo mas lejos posible". Y después tenían que ir a probarlos con personas extrañas, para verificar si funcionaba. ¡Aprendieron muy bien que lo mas importante de diseñar un algoritmo es la prueba y corrección en el campo de acción! En una ocasión les hice hacer historias, y el único requisito de la historia era que los personajes de la historia tuvieran los nombres de las instrucciones que les había dado.
Algo asombroso sucedió cuando llegó el momento de enseñar las instrucciones: el tiempo que necesité para hacerlo fué aproximadamente la cuarta parte de lo que normalmente me tomaba... y los alumnos me "corregían" los programas que ibamos haciendo en el pizarrón.
No solo fué mas divertido, sino mas eficiente, menos trabajo para mí (preparando clases, calificando exámenes, etc.), y también incitaba a los alumnos a ir a la clase porque se divertían y cada sesión querían averiguar lo que haríamos ese día.
¿Has hecho algún experimento así? Pruébalo. También lo puedes hacer con algo que quieras aprender... por una parte familiarización con lo que quieres aprender, y por otra parte aprenderlo en un contexto entretenido y divertido.
Es hora de cambiar la forma en que aprendemos por una mas divertida, rápida y eficiente.





