Programación, codificación y robótica: en el ámbito educativo, se suele hacer un uso indistinto de estos conceptos, a pesar de que tradicionalmente tienen significados distintos en el ámbito informático.
Por programación se entiende el proceso de analizar problemas para resolverlos mediante el uso de algoritmos, y luego convertir estos algoritmos en código utilizando uno de los varios lenguajes de programación disponibles. Los profesionales que realizan este trabajo son conocidos como analistas programadores. El rol del programador (excluyendo la parte de análisis) se originó con los primeros computadores en los años 50 y ha ido desapareciendo con el tiempo. Generalmente, se entiende por algoritmos a las secuencias de pasos para resolver problemas procesando datos.
En cuanto a la codificación, esta se refiere específicamente a la acción de convertir un algoritmo ya diseñado a un lenguaje de programación, siendo más un ejercicio de traducción que de lógica o análisis propiamente dicho. Tanto en documentos especializados como en el contexto educativo, se da preferencia al término programación.
Independientemente de si se utiliza el término codificar o programar en el entorno educativo, lo crucial desde un punto de vista pedagógico es el grado de análisis implicado: cuanto mayor es el análisis requerido, más se promueve el uso de la metacognición y el desarrollo de habilidades para resolver problemas. Aquí radica la importancia de la programación en la educación, un tema al que regresaremos.
La robótica se presenta como una aplicación práctica de la programación. En el entorno educativo, facilita la comprensión de conceptos que de otra forma serían abstractos si se enseñaran de manera convencional. Adicionalmente, el uso de robots en la educación puede no requerir un conocimiento profundo de programación.
Introducir la programación mediante la robótica es un excelente punto de partida para preparar a los estudiantes hacia un aprendizaje más avanzado en programación. Lo interesante de la robótica es la amplia gama de sensores y actuadores que pueden usarse, como sensores de luz o de distancia, y actuadores como motores y altavoces, lo cual añade un componente motivacional al ver los efectos directos y tangibles del código a través del comportamiento de un robot.
La democratización del aprendizaje de la programación no es un concepto nuevo. Por ejemplo, en 1964 fue creado y diseñado un lenguaje específicamente para la enseñanza y el aprendizaje de la programación, BASIC (Beginner’s All-purpose Symbolic Instruction Code). BASIC fue desarrollado por John G. Kemeny y Thomas E. Kurtz en el Dartmouth College con el objetivo de hacer que la programación fuera accesible a un público más amplio, en especial a los estudiantes que no se especializaban en ciencias de la computación. Este lenguaje jugó un papel crucial en la democratización del aprendizaje de la programación, al ser uno de los primeros lenguajes de programación ampliamente disponibles en los ordenadores personales, lo que facilitó que más personas pudieran aprender a programar.
La idea de una enseñanza formal de estos conceptos también tiene su historia, como demuestra el lenguaje Logo, desarrollado a finales de los 60 y probado en escuelas estadounidenses durante los 70. Sin embargo, fue durante los años 80 cuando se realizaron esfuerzos más significativos por implementar esta enseñanza.
A pesar de esto, no se vio una implementación masiva de la enseñanza formal de programación, con la excepción del programa ISI (Introducción a la Ciencia Informática) lanzado en 1982. Este programa, destinado a estudiantes de secundaria, ha desaparecido casi por completo, en parte debido al elevado costo de los ordenadores.
El creciente número de empresas de tecnología aumentó la demanda de especialistas en informática, lo que genera presión sobre los sistemas educativos y los gobiernos para formar a profesionales en campos STEM. Iniciativas como la estrategia nacional de talento sugerida por Microsoft en 2012 buscan fortalecer la educación en estas áreas.
La inclusión de la programación en la educación básica y secundaria responde no solo a necesidades laborales, sino también al interés de desarrollar en los jóvenes habilidades críticas y comprensión tecnológica, fundamentales en la sociedad actual.
El interés de los jóvenes en videojuegos y tecnología ofrece una oportunidad única para integrar la programación en el aprendizaje, motivándolos a través de la creación y el análisis crítico de la tecnología que usan diariamente.
El aprendizaje de programación no sólo es relevante por sí mismo, sino que también facilita la integración de conocimientos en matemáticas, ciencias y otras áreas, promoviendo una educación interdisciplinar y el desarrollo de habilidades transferibles.
Antes de seleccionar herramientas educativas en programación, es crucial definir los objetivos de aprendizaje y considerar la progresión desde conceptos básicos hasta niveles más avanzados, adaptando el enfoque a las necesidades y al contexto educativo actual.