Iniciarles en la informática no significa dejarles jugar con un móvil. ¿Cómo se plantea el acceso a las nuevas tecnologías de niñas y niños para que no ocurra como con las matemáticas?

Francisco Vico, Universidad de Málaga; Alberto Zamora Jiménez, Universidad de Málaga; Miguel Mejía Jiménez, Universidad de Málaga y Raimon Segura Morera, Universidad de Málaga

Si los lenguajes de programación son mucho más sencillos que los lenguajes naturales, ¿por qué el ser humano habla una lengua materna (español o chino) desde los primeros años y, sin embargo, aprender a programar le parece tan complejo?

La comunicación con un ordenador tiene un cierto componente lógico, pero hemos comprobado que ya en la educación primaria, desde los 6 años, es posible aprender y manejar un lenguaje de programación.

Programar trata justo de eso, de hablar con un ordenador, de aprender su lenguaje para darle instrucciones y modificar su comportamiento. Ese lenguaje es mucho más sencillo que el idioma inglés, y desde la infancia el cerebro humano puede adquirir sus rudimentos para comunicarse con las máquinas.

¿Tienen los ordenadores un lenguaje propio?

La respuesta es “sí, muchos”, y se puede hablar con ellos en esos lenguajes. Los ordenadores, a diferencia del resto de máquinas, tienen un propósito general. Es decir, no limpian el suelo o licúan la fruta, pueden hacer muchas funciones distintas y para ello tienen un potente procesador y un lenguaje en el que representar esas funciones; cada cosa que hacen esta controlada por un programa. Y un programa no es más que una secuencia de instrucciones en un lenguaje, que en Informática se conoce como “lenguaje de programación”.

Además, estos lenguajes tienen una estructura muy sencilla. Por ejemplo, el lenguaje de programación C (uno de los más antiguos y utilizados) consta sólo de 46 reglas sintácticas, mientras que la gramática del idioma inglés, como estima David Crystal en Making Sense of Grammar, contiene unas 3 500 reglas.

Por otra parte, un lenguaje de programación es preciso: sus reglas no admiten ambigüedad en la interpretación; pero una frase en un lenguaje humano puede prestarse a distintas interpretaciones, lo que complica su aprendizaje.

Claro, también se utilizan con finalidades distintas. Por ejemplo, no utilizaríamos C para quedar a las 8 de la tarde en la puerta del cine. Pero si tenemos que expresar un cálculo matemático, es más apropiado un lenguaje de programación, puesto que no permite ambigüedad en el cálculo.

Programa en lenguaje Python para determinar si un número es primo.

Programa en lenguaje Python para determinar si un número es primo.
CC BY

Sin embargo, este lenguaje es el más adecuado para expresar cualquier idea de tipo algorítmico, y en la educación obligatoria se enseña, aparte de las matemáticas, más conocimiento algorítmico del que pueda parecer.

Por ejemplo, la física implica hacer cálculos en un orden concreto. En química, toda la formulación de los compuestos está basada en reglas. También se enseñan reglas en lengua, para escribir correctamente (ortografía) o analizar una frase (sintaxis). En biología, la genética mendeliana es representable mediante condiciones que se dan en el cruzamiento.

Es decir, buena parte de los libros de texto podrían contener algoritmos expresados en un lenguaje de ordenador.

Por tanto, conocer un lenguaje de programación tendría la ventaja de poder realizar cálculos y aplicaciones en un ordenador (en web o en un móvil) y además entender muchos de los conocimientos básicos en distintas materias.

Alumnos de primaria del CEIP Biznaga (Málaga) aprendiendo programación.
Author provided

Enseñemos programación en escuelas e institutos

Sí, enseñemos programación en la escuela, aunque antes debemos resolver un problema arduo: quien enseña programación debe saber programar. Menos de un 1 % de la población conoce un lenguaje de ordenador y los que lo conocen seguro que tienen ya empleo y un buen sueldo.

Antes de integrar la programación de ordenadores en el currículo educativo hay que formar y acreditar profesorado, y eso es complicado.

Existe una solución alternativa: si para aprender idiomas lo mejor es hablarlo con nativos, nada mejor que un ordenador para enseñarnos su propio lenguaje.

Esta es la opción que hemos validado en la Universidad de Málaga y encontramos que, con poco esfuerzo, el alumnado puede aprender un lenguaje de programación sencillo y las bases del pensamiento computacional ya en la educación primaria.

Un primer estudio en este sentido se realizó en 2017, demostrando que se puede iniciar la enseñanza de la programación desde primero de primaria; y como es de esperar no hay diferencias de género al aprender a programar). Lo que desmotiva a las chicas para elegir la carrera de Informática debe depender de otros factores, pero en ningún caso de de sus capacidades.

Los datos hablan por sí mismos: se utilizaron registros de la actividad de alumnado de 6º de primaria en 68 colegios de distintas localidades de España y sobre la plataforma ToolboX.Academy, que incluye un curso de programación gratuito realizable en unas 10 horas, también en formato de (serie infantil ), con los siguientes resultados:

total 5 unidades 10 unidades 15 unidades
estudiantes 820 344 (42%) 210 (25%) 43 (5%)

De un total de 820 estudiantes, 344 superaron todas las tareas de las cinco primeras unidades, es decir, un tercio del curso de programación que propone esta plataforma, incluyendo conceptos de comandos básicos y bucles (repetición de comandos).

Dos tercios del curso fueron completados por 210 estudiantes, que llegaron a usar variables, entrada de datos y la estructura condicional (“si… entonces…”).

Finalmente, 43 estudiantes lograron superar el curso completo, aprendiendo a formar condiciones complejas (con operadores relacionales como distinto o mayor o igual, y lógicos como el “y”, el “o” y el “no”) en bucles indefinidos del tipo “mientras se dé esta condición, hacer…”.

Lo más destacable de estos resultados es que este progreso se consigue, por lo general, sin ayuda, es decir, el alumnado va aprendiendo a utilizar estos conceptos computacionales viendo ejemplos y mediante ensayo-error. No es necesario que la maestra o el maestro responsable del grupo les asista.

La conclusión es muy significativa: con el empleo de una herramienta web gratuita, durante sólo 10 horas a lo largo de 6º de primaria, curso tras curso, en seis años lograríamos una alfabetización del 5 % de la población juvenil.

También se ha observado que cuando se incentiva al alumnado y se le da un mínimo apoyo, la casi totalidad del grupo completa el curso de programación, por lo que, siendo ambiciosos, podríamos apuntar hacia una alfabetización computacional completa.

Se puede deducir de este trabajo de campo que enseñar a programar es más una cuestión política que técnica o pedagógica: si el ordenador sabe enseñar, el alumnado va a aprender sin esfuerzo.

Las niños y niñas de hoy, los nativos digitales, no solo tienen la oportunidad de aprender a utilizar móviles y aplicaciones, han de saber programarlas, crearlas.

Los nuevos lenguajes y la alfabetización computacional han llegado para quedarse, serán necesarios para ser competitivos en el futuro y también, por qué no, para disfrutar el maravilloso reto lógico que nos plantean.The Conversation

Francisco Vico, Catedrático de Ciencias de la Computación e Inteligencia Artificial, Universidad de Málaga; Alberto Zamora Jiménez, Responsable de Tecnología, Universidad de Málaga; Miguel Mejía Jiménez, Graduado en Ingeniería Informática, Universidad de Málaga y Raimon Segura Morera, Lead Developer – Full Stack Engineer, Universidad de Málaga

Este artículo fue publicado originalmente en The Conversation. Lea el original.