¿Cómo enseñarles programación a los niños?

Jan 28, 2020

Ok… Enseñarles a los niños a programar: ¿Sí o no? Esa pregunta ha estado circulando en el inconsciente colectivo desde hace algunos años. Tal vez la próxima generación debería saber cómo funciona el mundo digital, teniendo en cuenta todo el tiempo que ya pasamos en él. ¿No debería haber dudas, verdad? ¡Claro que deberían aprender! ¡Tomen mis fajos de billetes y embutan conocimiento de programación en el cerebro de mi hijo!

Pero, un momento. ¿Realmente es necesario? ¿Qué es lo que aprenderían exactamente?

En un artículo de Hackaday, AI Williams escribe sobre algunas de las mismas dudas que yo tengo. Dice: “¿Qué beneficio obtiene un niño cuando aprende a programar? Es decir, todos estamos de acuerdo en que enseñarle a un niño [el lenguaje de programación] Python no necesariamente le va a ayudar a conseguir trabajo en 10 años, porque es posible que Python ya no sea el lenguaje más usado en una década. Pero solo enseñar Python sería el problema real. Una clase de Python debería enseñar conceptos y desarrollar intuiciones sobre cómo las computadoras resuelven problemas. Esa sí es una habilidad duradera”.

Williams parece estar preocupado por elementos específicos; sobre cómo las cosas que sabemos hoy (en este caso Python) pueden no ser las más útiles en el futuro. Joe Morgan —escribiendo para Slate—, por otro lado, piensa que es problemático el modo en el que se habla de la programación y cómo se la está vendiendo a niños e instituciones interesadas en enseñarla.

Él explica lo siguiente: “Los libros de programación para niños muestran el proceso como una serie de problemas y unas soluciones ‘correctas’. Y si tus hijos pueden simplemente dominar la sintaxis, podrán hacer cosas fácil y rápidamente. Pero la programación no funciona así. La programación es caótica. Es una mezcla de creatividad y determinación. Ser un desarrollador se trata de más que solo sintaxis, y hay ciertas habilidades que solo se le pueden enseñar a los jóvenes”.

Ambos parecen tener críticas frente a los modelos actuales que se les ofrecen a los niños y, aunque lo hacen desde orillas diferentes, ambos parecen pensar que sería mejor un sistema que tuviese un acercamiento un poco más holístico frente a la enseñanza de programación.

Lo que he podido ver al investigar sobre el tema es que, sí, los niños deberían aprender sobre esto, pero no simplemente a través del aprendizaje de lenguajes y sintaxis pues 1) estos probablemente se volverán obsoletos o cambiarán, y 2) la programación tiene más que ver con ciertas intuiciones y formas de pensar que con los lenguajes en sí mismos.

¿Entonces qué deberíamos hacer? ¿Cómo introducir a la próxima generación al universo digital? ¿Acaso deberíamos simplemente hablarles a partir de abstracciones sobre lo que es la programación? ¿Enseñarles a resolver problemas? ¿No es eso un poco ambiguo para un niño?

Tal vez podamos ofrecer una solución alternativa.

Tal vez.

A ver. ¿Qué pasa si intentamos interesar a los niños en la programación usando herramientas No-Code y Low-Code? Sí, yo sé, suena contraintuitivo, pero déjenme explicarles. Para que los niños se emocionen con esto, no se puede partir de abstracciones sobre cómo los programadores resuelven problemas y piensan creativamente porque, bueno, mucha gente hace eso desde sus respectivos campos. Además, no suena muy emocionante para un niño el no poder visualizar lo que hacen o por qué lo aprenden (Ah, no tan gratos recuerdos del álgebra de secundaria). Pero sí es verdad que hay que aprender de patrones y lógicas y, bueno, creo que herramientas como Webflow o Bubble pueden ayudar a mostrar eso por medio de una interfaz gráfica. Adicionalmente, esto tiene el valor agregado de poder ver lo que se crea casi de inmediato.

Ese es otro punto importante: poder tener sensaciones de logros desde temprano en el proceso. Intenta enseñarle a un niño a tocar guitarra. Planeas tus clases y pretendes enseñarle acordes, escalas y teoría musical. Lo más probable es que se aburra y abandone las clases. Ahora intenta enseñarle solo un par de acordes. Usa esos acordes para enseñarle una canción que él conozca. Cuando entiende que este nuevo conocimiento es útil y además divertido, él va a querer aprender más. Los logros tempranos por medio de herramientas No-Code están prácticamente garantizados y el proceso para llegar a ellos es claro y didáctico, si pensamos en las interfaces de drag-and-drop o click-and-point.

Así que tal vez deberíamos intentar algo así. Sé que lo que voy a decir tal vez no es lo más apropiado al hablar de niños, pero creo que deberíamos usar las herramientas No-Code como la droga de iniciación (sí, suena raro) para crear futuros programadores y desarrolladores. Las herramientas cambiarán y la tecnología cambiará, pero si premiamos a los niños con estos logros tempranos, si entienden por qué la programación podría ser útil para ellos y si se emocionan por ella, tal vez entonces podamos estar bien. Y ellos estarán bien.

HelloGuru.

const headerTagLinks = document.querySelectorAll('.js-header-tag-link'); for (x = 0, l = headerTagLinks.length; x < l; x++) { const lang = headerTagLinks[x].getAttribute('data-slug').split('-')[1]; const shouldRemoveLink = lang !== document.documentElement.lang; if (shouldRemoveLink) { headerTagLinks[x].remove(); } }