Muchas voces consideran que aprender a programar es la “nueva alfabetización” o el “inglés del siglo XXI”. La comparación tiene su base pues, al fin y al cabo, “programar es hablar con un ordenador. Aprender su lenguaje para darle instrucciones y modificar su comportamiento” (Vico et al., 2022).
La capacidad de escribir y entender lenguajes de programación es cada vez más importante para comprender cómo abrirse camino y triunfar, en una sociedad moderna en la que, cada vez más, nuestras vidas se ven facilitadas o limitadas por la acción de dispositivos y sistemas de información que funcionan con códigos informáticos.
De hecho, en países como Estonia, China, Singapur, Finlandia y Reino Unido, la programación ha entrado a formar parte del currículum nacional de los alumnos de primaria. Siguiendo su ejemplo, y reconociendo la importancia creciente de las competencias de programación, y el peso cada vez mayor de los empleos relacionados con las TIC para sus economías nacionales, los responsables políticos de muchos otros países están considerando la posibilidad de incluir la programación en sus planes de estudio.
Pero ¿deben los estudiantes aprender a programar? ¿Cuáles son las ventajas que tiene enseñar programación en el aula? ¿Existen inconvenientes? Lo vemos a continuación.
En un artículo, publicado por WISEed.review, Michael Trucano, especialista senior en TIC y políticas de educación del Banco Mundial, enumera las ventajas esgrimidas por los defensores de la programación en las escuelas, así como las contestaciones de sus detractores.
- Enseñar programación ayudará a los estudiantes a adquirir competencias profesionales relevantes para el mercado laboral actual. Los defensores de la programación afirman que hay muchos puestos de trabajo relacionados con la informática en el mundo. ¿No deberían nuestras escuelas preparar específicamente a nuestros estudiantes para competir por ellos? Sin embargo, los críticos responden que estos esfuerzos son una pérdida de tiempo en la práctica porque i) se centran en el desarrollo de procesos mecánicos que pueden aprenderse fácilmente en otros lugares; ii) se preocupan, en gran medida, por las habilidades relevantes para el trabajo de hoy, pero no de mañana y iii) muchas de estas iniciativas están impulsadas por el propio sector TIC (un grupo empresarial al que estos críticos ven con gran recelo).
- La programación ayuda a desarrollar importantes habilidades lógicas y de resolución de problemas. Pocos podrían contraargumentar que, cuando se enseña bien, la educación en programación ayuda a desarrollar importantes habilidades de pensamiento lógico y de resolución de problemas. Sin embargo, los críticos aducen que los cursos de programación no tienen el monopolio del desarrollo de dichas habilidades y que, de hecho, estas deberían estar integradas en todo el plan de estudios y no ser el centro de una sola asignatura.
- Comprender la programación ayuda a los estudiantes a entender mejor la naturaleza del mundo que les rodea, y cómo y por qué funciona como lo hace. Aunque pocos pueden disentir de este argumento, muchos de los críticos no le dan mucha importancia. Los que sí lo reconocen pueden seguir argumentando que existe un coste de oportunidad: ¿qué debe salir del plan de estudios para que entre la programación?
- Enseñar a los estudiantes a codificar puede servir como puerta de entrada al estudio posterior de materias STEM (ciencia, tecnología, ingeniería y matemáticas) y, si hay suerte, a trabajos y carreras en campos relacionados. Esto puede ser cierto, argumentan algunos críticos, pero ¿es realmente la “mejor” puerta de entrada? Si la programación no se enseña bien, ¿podría disuadir a algunos estudiantes de seguir estudiando materias STEM y, por tanto, disminuir la probabilidad de que sigan carreras relacionadas? ¿Es formación en programación impartida en las escuelas realmente una puerta de entrada a la programación, o es en la práctica sólo “entretenimiento educativo”, algo que tiene que ver con todos los ordenadores que las escuelas han comprado y que todavía no han descubierto cómo utilizar de forma productiva?
- Ser capaz de programar permite nuevas vías de creatividad y expresión creativa. Los esfuerzos por enseñar habilidades de programación a los jóvenes estudiantes mediante el uso de herramientas como Scratch, o como parte de los cursos de robótica o de las iniciativas para promover la “fabricación” y el “saber hacer”, se citan a menudo como ejemplos convincentes de lo que deben incluir los (buenos) esfuerzos de educación en programación. Aunque, también en este caso, muchos críticos pueden alabar estos esfuerzos, siguen argumentando que, incluso si se admite que la programación es una nueva alfabetización en nuestro mundo cada vez más saturado de tecnología, sigue mereciendo la pena plantearse dos preguntas bastante básicas antes de seguir adelante con nuevas iniciativas educativas de programación obligatorias a gran escala. ¿Qué tal nos va con las antiguas alfabetizaciones básicas de la lectura, escritura y aritmética? ¿No deberíamos asegurarnos de que estas “competencias básicas de alfabetización” están bien asentadas antes de empezar a añadir otras nuevas a nuestros ya abultados planes de estudio?
¿Preparación para el futuro o pérdida de tiempo? ¿Clave para entender el mundo que nos rodea o coste de oportunidad? ¿Puerta de entrada al mundo STEM o desincentivador de vocaciones? ¿Alfabetización del futuro o lujo que aún no podemos permitirnos?
Tal y como Trucano explica en su artículo, la introducción de esfuerzos para promover la programación en las escuelas parece bastante razonable como actividad extracurricular o de enriquecimiento en los sistemas educativos que ya están haciendo un buen trabajo en la promoción del desarrollo de las habilidades básicas de alfabetización, especialmente cuando tales esfuerzos ayudan a involucrar o animar a estudiantes desmotivados – en particular cuando tales estudiantes pueden, por razones de sesgo, discriminación o estereotipos, no ser considerados (o incluso considerarse a sí mismos) como candidatos para aprender tales cosas.
Sin embargo, el especialista del Banco Mundial entiende que, en lugares en los que todavía se libran grandes batallas por ayudar a los alumnos a desarrollar las capacidades básicas de lectura y escritura, especialmente en muchos países de ingresos medios y bajos, no debería sorprender que muchos responsables políticos consideren que los esfuerzos de codificación educativa son un “lujo” que ahora mismo no pueden permitirse.
Así que ¿debemos enseñar programación en las escuelas? ¿Quién debe enseñarlo y quién debe aprenderlo? ¿En qué momento? ¿Podemos permitírnoslo? O, mejor dicho: ¿podemos no permitírnoslo teniendo en cuenta que muchos países ya lo están haciendo? ¿Qué entendemos por programar? ¿Queremos que los niños aprendan a programar adquieran habilidades que les permitan programar para aprender?
En ProFuturo, entendemos que el aprendizaje y el desarrollo de habilidades básicas relacionadas con el pensamiento computacional y la programación no solo ayudará a los estudiantes a desenvolverse sin problemas en la sociedad actual y futura, sino que resulta especialmente útil para cambiar realidades problemáticas en contextos vulnerables. En este artículo explicamos por qué. Por todo ello, en ProFuturo nos propusimos llevar el pensamiento computacional a las escuelas con las que trabajamos y lo hicimos desde una propuesta muy diferencial creando un catálogo muy amplio de experiencias que se adaptan a los diferentes modelos de enseñanza y que permite a los docentes vincularlo con diferentes materias.
Por tanto, para nosotros la respuesta es clara: enseñemos a los niños programación y pensamiento computacional. Las posibilidades de la programación en la educación y, a través de esta, en el cambio social son enormes y trascienden lo meramente tecnológico.
REFERENCIAS
Educación 3.0. (s.f.). ¿En qué países se enseña programación en el aula? Educación 3.0 Blog.
Trucano, M. (Abril, 2016). Should all students learn how to code? Pros and cons. Wise Words Blog.
Vico, F.; A. Zamora; M. Mejía; R.Segura. (Abril, 2022). ¿A qué edad hay que aprender a programar? The Conversation.