La programación tiene cada vez más presencia en las aulas y su aplicación proporciona a los estudiantes mayor capacidad analítica y lógica y la capacidad de crear herramientas para la resolución de problemas. Aprender a programar no consiste en resolver complejos problemas matemáticos a través de algoritmos o ingentes cantidades de código.
La programación es una disciplina que plantea problemas, instrucciones para resolverlos y objetivos a través de un lenguaje específico. Ese ‘idioma’, que aparentemente parece una sucesión de códigos incomprensibles, se presenta como una regla mnemotécnica basada en la asociación de ideas y que, aplicada en el aula desde etapas tempranas, sirve para trabajar diferentes competencias entre las que destaca el desarrollo de habilidades para el análisis y la resolución de problemas a través de la lógica.
La programación consiste en crear un programa o aplicación que después será ejecutado de manera directa por un hardware. Para ello, se emplea un lenguaje específico y adaptado para que un ordenador, smartphone, tablet, etc. pueda interpretarlo y ejecutar así cualquier orden o instrucción. En este sentido, no se puede entender la sociedad actual sin los lenguajes de programación.
En sus inicios, los ordenadores solo comprendían lenguajes de más ‘bajo nivel’. El más conocido es el código binario, compuesto por cadenas de números 1 y 0 que, con el tiempo, se reemplazaron por abreviaturas en inglés codificadas, lo que se conoció como ‘lenguaje ensamblador’. Por ejemplo, para sumar se podía usar la letra A, que en inglés viene de la palabra ‘add’ (sumar). En realidad, es un código mnemotécnico y su éxito radica en su nivel de abstracción, ya que las letras son más fáciles de recordar y asociar que los números.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario manejar lenguajes de ‘alto nivel’, es decir, métodos más sencillos de programar, que no expresasen sus algoritmos teniendo en cuenta la capacidad que tienen las máquinas de ejecutar órdenes, sino atendiendo a la capacidad cognitiva de las personas. Se crearon para que cualquier usuario pudiese solucionar un problema computacional de una manera más fácil y rápida.
Oportunidades en el aula
En los años 60, cuando los ordenadores llevaban pocos años existiendo (y limitados al contexto universitario y a unas pocas empresas) surgió Logo: una pequeña tortuga que dibujaba líneas y formas geométricas en la pantalla a través de comandos escritos. Es considerado uno de los primeros lenguajes de programación educativa y con él comenzaron las soluciones para trasladar esta disciplina a las aulas y hacerla accesible a los más pequeños.
Desde entonces, la programación es cada vez más popular en el entorno educativo ya que su aprendizaje promueve el desarrollo de habilidades como el razonamiento lógico, la creatividad, la innovación y la capacidad para resolver problemas a través de la tecnología. Además, fomenta el trabajo colaborativo y permite aplicar metodologías centradas en el estudiante.
Mitch Resnick, director de uno de los grupos de investigación más exitosos del mundo sobre tecnología y educación, el ‘Lifelong Kindergarten del MIT’, defiende la enseñanza de la programación en las escuelas no solo como una herramienta parafavorecer el aprendizaje colaborativo y la motivación en el aula, sino como una forma de alfabetización para que los estudiantes puedan expresarse a través de la tecnología. “Muy pocas personas crecen para ser escritoras profesionales y, a pesar de ello, se nos enseña a escribir porque es una forma de comunicación con los demás, de organizar los pensamientos y de expresar ideas”, expone en esta charla TED.
Aunque parezca complicado, puede enseñarse desde edades tempranas y no necesariamente con dispositivos electrónicos. Juegos de mesa, de lógica, puzles, actividades con movimiento… cualquier ejercicio se puede adaptar a los diferentes niveles educativos y asignaturas. La clave está en que cualquier actividad, por sencilla que sea, introduzca una serie de instrucciones y proponga unos objetivos, para que los estudiantes analicen cómo alcanzarlos con las posibilidades que manejan. De esta forma, ellos mismos valorarán las diferentes alternativas para resolver los ejercicios planteados.
Además, la dinámica de la programación se puede incorporar para trabajar diferentes competencias en el aula. Por ejemplo, para estudiantes de Primaria existen ejercicios muy manipulativos que permiten a los alumnos interactuar con el entorno a la vez que les aportan conocimientos básicos, aplicables a la vida real, que guardan su analogía con el pensamiento computacional y el comportamiento de los códigos más empleados en programación.
Aplicación en el aula
El informe ‘Programación, robótica y pensamiento computacional en el aula’ elaborado por el INTEF (Instituto Nacional de Tecnologías Educativas y de Formación del Profesorado) señala que en los últimos años se han utilizado distintos instrumentos y recursos para incorporar en las aulas de Infantil los conceptos básicos de programación y pensamiento computacional.
Una de las herramientas más empleadas son los robots, diseñados para enviar instrucciones con solo apretar determinados botones o, incluso, pensados para usarlos sin necesidad de dispositivos electrónicos, con actividades para resolver por medio de fichas, flechas o símbolos. Todos ellos han puesto de manifiesto que los más pequeños tienen un desarrollo cognitivo que les permite utilizar estos recursos sin dificultad, llegando a desarrollar altos niveles de comprensión sobre conceptos básicos, predicciones lógicas sobre el resultado de una secuencia de instrucciones y detección y corrección de errores.
Es el caso de la actividad que llevó a cabo Rubén Molinero Malvido en el CEIP Balaídos de Vigo (Pontevedra) con sus alumnos de 6 años. El proyecto, que giraba en torno al conocimiento del cuerpo humano, se tradujo en la experiencia ‘El jarabe viajero’: un cuento interactivo con códigos QR que debía recorrer un robot controlado por los pequeños. Divididos en dos equipos, debían leer el código en una tablet, escuchar la siguiente parte a la que se debían dirigir y decidir el camino entre los miembros del grupo para, por último, introducir el código correcto que desplazase al robot.
En Primaria se trabaja en la fase creativa de la programación, tanto a nivel visual como en la resolución de los ejercicios prácticos. Es importante tener en cuenta que los estudiantes de los primeros cursos tienen de 7 a 8 años y se encuentran, todavía, en un desarrollo biológico infantil, mientras que el alumnado más mayor ya se encuentra en la adolescencia temprana. En consecuencia, las herramientas y objetivos son muy diferentes. Así, los alumnos más mayores comienzan a familiarizarse con lenguajes de programación visuales basados en bloques, como son Scratch o Kodu, y robots o placas como Crumble o Arduino.
En Secundaria y Bachillerato se afronta su aprendizaje desde la transversalidad con otras materias y manejan lenguajes de programación basados en texto como Java, Python o Swift. En estos ciclos, el objetivo es desarrollar las competencias del currículo a través de la programación, y suelen ser habituales robots, programas y aplicaciones.