asignatura-CAM-BQ

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.