La nueva asignatura de la Comunidad de Madrid está dando mucho que hablar. Lejos de tintes políticos, debemos pensar en la utilidad real que pretende aportar esta asignatura.
¿Por qué todos los alumnos tienen que aprender a programar? ¿De qué les va a servir saber programar a todos aquellos que no quieran ser informáticos o, en general, que quieran tener un perfil técnico?
A pesar del rápido aumento de puestos de trabajos en el sector, muchos estudiantes no quieren dedicarse a este tipo de profesiones. La inclusión de esta asignatura pretende acercar a todos a la tecnología, intentando superar la brecha de género que ha habido hasta ahora, y haciendo ver que la tecnología no es magia, que todos podemos comprender cómo se crea y podemos ayudarnos de ella para evitar determinadas tareas repetitivas y odiosas.
Con este propósito el número de estudiantes que quieran dedicarse a profesiones técnicas seguramente aumentará, sin embargo seguirá habiendo un gran número de estudiantes que no se sientan atraídos por este ámbito.
A partir de aquí, debemos intentar ver el lado bueno de aprender a programar en el aula. Podemos ver la programación como un recurso educativo que nos sirve para desarrollar un tipo de pensamiento cada vez más necesario: el pensamiento computacional. Pero, para entender qué es el pensamiento computacional, vamos a empezar por entender para qué es útil emplear un “nuevo pensamiento”.
En la resolución de problemas complejos necesitamos emplear una serie de procesos cognitivos (ver tabla 1), procesos implicados en la construcción del conocimiento. Estos procesos que requerimos en la resolución de problemas, como se ve en la tabla 1, son procesos conocidos y estudiados desde siempre, ya que son necesarios en otros tipos de pensamiento como el analítico, crítico o lógico.
Tabla 1. Procesos cognitivos implicados en el pensamiento computacional. Fuente: ISTE & CSTA, 2011 | |
---|---|
PROCESO COGNITIVO | DEFINICIÓN |
Recopilar datos | El proceso de reunir la información apropiada |
Analizar datos | Encontrar sentido, establecer patrones y sacar conclusiones |
Representar datos | Organizar los datos en gráficos, cuadros, palabras o imágenes |
Descomponer problemas | Dividir una tarea en partes más pequeñas y manejables |
Abstraer | Reducir la complejidad para definir o establecer la idea principal |
Algoritmos y procedimientos | Serie de pasos ordenados que se siguen para resolver un problema o lograr un objetivo |
Automatización | Hacer que las máquinas realicen tareas tediosas o repetitivas |
Simulación | Representar o modelar un proceso, realizar experimentos |
Paralelismo | Organizar los recursos para realizar tareas de forma simultánea |
La agrupación de estas características permite abordar todo el proceso de resolución de problemas complejos desde un solo tipo de pensamiento. Lo único novedoso es incluir todos estos procesos dentro de un solo tipo de pensamiento como es el pensamiento computacional. Por tanto, el pensamiento computacional puede entenderse como un nuevo concepto que engloba varias características de siempre.
Aunque la etiqueta “computacional” puede dar a entender que son procesos únicamente relacionados con la computación, como hemos visto incluye procesos útiles para todos los perfiles, ya que la complejidad de los problemas actuales nos obliga a utilizar todos los procesos implicados en este pensamiento.
Si pensamos en la programación como recurso para desarrollar este pensamiento y que nuestros alumnos sean capaces de resolver problemas complejos, vemos como ésta puede ser ideal debida a la gran similitud en los procesos cognitivos que se requieren para ambos. En la siguiente tabla (tabla 2) podemos ver la equivalencia entre cada uno de estos procesos.
Tabla 2. Comparativa de los procesos involucrados en programación y en el pensamiento computacional. Fuente: elaboración propia | |
---|---|
PROGRAMACIÓN | PENSAMIENTO COMPUTACIONAL |
Representación gráfica y en forma de pseudocódigo. Depuración. | Recopilar, analizar y representar datos |
Descomponer problemas | Descomponer problemas |
Variables | Abstraer |
Algoritmos | Algoritmos y procedimientos. Simulación |
Instrucciones de control: Bucles y Condicionales | Automatización |
Funciones | Paralelismo |
Por tanto, la programación puede resultar muy útil para desarrollar este pensamiento y ser capaces de enfrentarnos a los desafíos del siglo XXI.