Hola amig@s de la comunidad Programamos. Mi nombre es Marcos Román, soy profesor e investigador de la Facultad de Educación de la UNED. El pasado mayo de 2016 tuve el privilegio de defender la primera tesis doctoral en España sobre pensamiento computacional. Esto no es un mérito en sí mismo, pero sí un indicador del peso que el tema está adquiriendo entre los investigadores universitarios y, aún más importante, en la comunidad educativa en general. A partir de aquí, como corresponde al carácter acumulativo y auto-perfectivo de la ciencia, vendrán seguro muchas más tesis que irán aportando sucesivos granitos de arena al cuerpo de conocimientos sobre cómo desarrollar el pensamiento computacional de nuestros estudiantes. Con especial deseo esperamos ver pronto la tesis del colega y amigo Jesús Moreno, que amablemente me invita a escribir unas líneas sobre mi trabajo en este blog.

Mi tesis lleva por nombre “Codigoalfabetización y pensamiento computacional en primaria y secundaria: validación de un instrumento y evaluación de programas”. Después de algún pequeño problema técnico al publicarla en abierto, ya se puede descargar con alta definición de manera gratuita desde este enlance.

La tesis tiene dos partes bien diferenciadas: una parte teórica y otra parte empírica. La parte teórica gira alrededor del estudio de dos términos o conceptos complementarios, dos caras de la misma moneda: la codigoalfabetización y el pensamiento computacional (Figura 1).

Figura 1. Codigoalfabetización y pensamiento computacional: dos caras de la misma moneda.

La codigoalfabetización sería un término de corte sociocultural, y la definimos como el conjunto de procesos de enseñanza-aprendizaje de la lectoescritura con los lenguajes informáticos de programación. La consideramos como un nuevo alfabetismo porque, dada la realidad digital actual tan repleta y mediada por objetos controlados por software, la capacidad de manejar el lenguaje de las máquinas supone un empoderamiento para el sujeto codigoalfabetizado que le permite participar y expresarse con muchas mayores cotas de profundidad. Hay varias metáforas que ilustran bien el salto cualitativo que supone estar codigoalfabetizado: ‘ser capaz de crear, y no sólo consumir, tecnología’, ‘programar, para evitar ser programado’, ‘programo, luego existo’ (Figura 2). Todas ellas remiten al hecho de que manejar los lenguajes informáticos de programación lleva al sujeto a una alfabetización digital de nivel superior que le permite, de alguna manera, ir más allá de la pantalla y de sus interfaces o menús por defecto, para poder interactuar con el código subyacente. Siguiendo con otra analogía sobre el mundo del motor, el sujeto codigoalfabetizado no sólo es capaz de ‘conducir’ y ‘circular’ sino también de ‘mirar debajo del capó’ para ‘diseñar’, ‘tunear’ y ‘arreglar’.

 

Figura 2. Uno de los lemas principales del movimiento de codigoalfabetización: “I code therefore I am”.

Por otro lado, el pensamiento computacional sería un término de corte cognitivo; de hecho, se trata de un emergente constructo psicológico que podríamos definir como la capacidad de formular y solucionar problemas apoyándose en conceptos computacionales (p.e., secuencias, bucles, condicionales, funciones, variables), y siguiendo la lógica algorítmica inherente a los lenguajes informáticos de programación. Ésta es sólo una de las múltiples definiciones que actualmente existen sobre pensamiento computacional y, de hecho, una de las conclusiones de la tesis es la falta de consenso que aún existe sobre una definición operativa del término y, especialmente, la carencia de instrumentos para su medida y evaluación.

El vínculo de transición entre la codigoalfabetización y el pensamiento computacional queda perfectamente sintetizado en el lema acuñado por Mitch Resnick hace ya unos años: “Learn to Code, Code to Learn”, es decir, la perspectiva emergente se inclina por afirmar que lo importante no es ‘aprender a programar’ sino ‘programar para aprender’. En otras palabras, no se consideran los lenguajes de programación sólo como contenidos de aprendizaje (entre otras cosas porque los lenguajes y sus sintaxis particulares cambian continuamente), sino principalmente como herramientas o catalizadores del mismo. Lo fundamental ya no sería la programación en sí, sino el desarrollo cognitivo del pensamiento computacional subyacente que puede transferirse a todo tipo de disciplinas y asignaturas: se puede hacer una aproximación computacional a las matemáticas, a la física, a la biología, a la historia, al arte… en definitiva a todo lo mediado por datos y algoritmos, es decir, literalmente a todo aquello que cabe en la actual sociedad digital. Este cambio de paradigma ha corrido paralelo a la aparición de los nuevos lenguajes visuales de programación, como Scratch, cuyas características (‘suelo bajo’, ‘techo alto’, y ‘paredes anchas’), los convierten en perfectas herramientas para desarrollar un pensamiento computacional que además se socializa a través de plataformas que permiten la comunicación y remezcla de código entre programadores. Haciendo otra analogía, si en un mundo globalizado pasamos de aprender inglés como materia separada de estudio, a utilizar el inglés como lengua vehicular para aprender el resto de asignaturas; en un mundo digitalizado pasaremos de aprender programación de manera aislada a programar para aprender todo tipo de cosas (Figura 3). La formación del profesorado será la pieza clave para poder culminar la transición con éxito.

 

Figura 3. De ‘aprender a programar’ a ‘programar para aprender’.

Con respecto a la parte empírica, realizamos tres estudios. El primero de ellos consistió en un estudio descriptivo mediante encuestas sobre el evento ‘La Hora del Código’ en sus primeras dos ediciones (diciembre de 2013 y de 2014). Aplicamos varios cuestionarios a una muestra total de 23 profesores y 1.662 estudiantes, procedentes de 29 centros educativos ubicados por todo el territorio nacional. Con respecto a las respuestas de los profesores cabe destacar su consenso al señalar que la programación o ‘coding’ constituye una habilidad fundamental que puede ser desarrollada por todo tipo de estudiantes, y desde edades muy tempranas (encontramos ejemplos desde los 4 años de edad); algo que está siendo posible gracias a la aparición de las nuevas plataformas y lenguajes visuales de programación, que además se aprenden de manera gamificada y colaborativa (p.e., a través de la metodología ‘pair programming’ o ‘programación por parejas’). Por otro lado, el análisis de las respuestas de los estudiantes nos lleva a concluir que ‘La Hora del Código’ consigue eficazmente sus 3 objetivos fundamentales: promover la llegada del ‘coding’ a los colegios mediante una actividad introductoria a la programación informática de 1 hora, desmitificar la supuesta dificultad de su aprendizaje, y motivar a los estudiantes para seguir aprendiendo ‘coding’ con posterioridad al evento. Sin embargo, también encontramos algunos resultados preocupantes que deben hacernos reflexionar: en primer lugar, desde una aproximación de género, encontramos que las chicas están menos expuestas y tienen menos experiencia previa en ‘coding’ que los chicos (Figura 4), brecha que además tiende a ensancharse según se avanza por las etapas del sistema educativo; en segundo lugar, parece que especialmente las chicas de secundaria se desmotivan más fácilmente en el aprendizaje del ‘coding’ y necesitan de una pedagogía diferencial al respecto (p.e., aprendizaje de la programación a través de narraciones y de resolución de problemas de índole social, y no tanto a través de videojuegos); en tercer lugar, aunque casi un 90% de los estudiantes encuestados declaran que la programación informática es una habilidad relevante para su futuro personal y profesional, al analizar las razones que dichos estudiantes esgrimen para sustentar su afirmación, se observa una abrumadora presencia de razones de tipo utilitario (p.e., aprender a programar para tener un trabajo mejor remunerado) o cierto determinismo sociológico (p.e., inevitablemente vamos a estar rodeados de máquinas, y hay que saber programarlas), escaseando las razones de tipo expresivo-comunicativo o emotivas (p.e., programar porque uno se divierte y puede participar más plenamente en la sociedad actual).

 

Figura 4. Brecha de género con respecto a la exposición y experiencia previa en ‘coding’.

El segundo estudio empírico consistió en el diseño y validación del Test de Pensamiento Computacional (TPC). Se trata de un test dirigido a chicos y chicas de entre 10 y 16 años de edad, que está compuesto por 28 ítems de elección múltiple. El TPC puede aplicarse on-line a través de ordenadores y tabletas, en un tiempo máximo de 45 minutos, y lo ponemos gratuitamente a disposición de la comunidad educativa. En la Figura 5 (izquierda) puede verse uno de los ítems del TPC. Globalmente, pudimos demostrar la validez y fiabilidad del test para población escolar española entre 5º Primaria y 4º ESO. Más específicamente, hay un par de resultados que me gustaría destacar. En primer lugar, tal y como puede verse en la Figura 5 (derecha), la puntuación total en el TPC a lo largo de nuestra muestra de validación (un total de 1.251 sujetos sin experiencia formal previa en programación) queda distribuida normalmente como cualquier otra variable cognitiva, es decir, que aunque el pensamiento computacional sea una ‘nueva’ aptitud, aparecen notables diferencias individuales entre los estudiantes con respecto a la misma (diferencias que requieren atención educativa diferenciada). En segundo lugar, aunque encontramos que nuestro test correlaciona con otros test cognitivos más tradicionales, como test de razonamiento, de aptitud espacial, o de resolución de problemas; éstos últimos sólo llegan a explicar muy parcialmente el primero, es decir, el pensamiento computacional emerge como una variable psicológica con peso específico propio, que no puede ser reducida a otras conocidas anteriormente.

 

Figura 5. Ejemplo de un ítem del TPC (izquierda), y distribución de la puntuación total en el TPC a lo largo de la muestra de validación (derecha).

El tercer estudio empírico consistió fundamentalmente en la evaluación del curso “Accelerated Intro to CS Course” de Code.org. Es un curso que dura unas 10-12 semanas (un trimestre académico), y que alterna actividades on-line consistentes en retos o puzles de ‘coding’ con el lenguaje visual Blockly, con actividades ‘unplugged’ sin uso del ordenador. El curso fue evaluado a través de un diseño cuasi-experimental con grupos experimentales y de control de 1º ciclo de la ESO (N=526 sujetos), utilizando medidas pretest y postest. El resultado más importante es que se confirmó claramente la hipótesis de que el curso desarrolla el pensamiento computacional de los estudiantes (Figura 6); y, de manera plausible aunque no plenamente concluyente, el curso parece mejorar las habilidades de solución de problemas de los participantes, así como el control de su impulsividad. Por otro lado, recogimos los datos de seguimiento y las analíticas de aprendizaje que ofrece la plataforma de Code.org, y pudimos comprobar que la mayoría de los estudiantes pudieron superar la práctica totalidad de los retos de ‘coding’ del curso, confirmándose así su viabilidad de implantación en aulas de 1º ciclo de la ESO. Finalmente, la evaluación del curso se completó con unos notables resultados en los cuestionarios de satisfacción sobre el mismo aplicados a estudiantes y profesores.

 

Figura 6. El curso de Code.org mejora el pensamiento computacional de los estudiantes.

Como anexo inesperado a este tercer estudio, en las aulas que siguieron el curso de Code.org mediante una metodología ‘self-paced’ (ritmo de avance marcado por el estudiante), pudieron emerger los ‘talentos computacionales’, definidos como aquellos estudiantes que completaron el curso de Code.org sensiblemente más rápido que sus compañeros, y que solicitaron acelerar hacia un entorno de programación textual con ProcessingJS en la plataforma Khan Academy. Pudimos estudiar en profundidad dos de los casos de talento computacional (dos alumnos de 1º ESO), extrayendo las siguientes conclusiones: para detectar el talento computacional hacen falta instrumentos específicos de medida (como por ejemplo nuestro TPC, que demostró validez discriminante al respecto, no así los otros test cognitivos tradicionales); los talentos computacionales muestran estilos de aprendizaje diversos en las plataformas de ‘coding’; y son capaces de escribir programas con lenguajes textuales de programación (véase un ejemplo en la Figura 7) que demuestran un dominio equivalente a estándares curriculares de dos cursos por encima (3º ESO).

 

Figura 7. Ejemplo del código escrito por uno de los talentos computacionales de 1º ESO.

Como síntesis final de los tres estudios empíricos, proponemos un modelo integral de codigoalfabetización y desarrollo del pensamiento computacional en Primaria y Secundaria, desde una perspectiva holística, equitativa y diversa (Figura 8). Un modelo que apuesta por integrar en el aula entornos de aprendizaje ‘close-ended’ (como Code.org), ‘open-ended’ (como Scratch), y ‘hardware-driven’ (como Arduino); en donde se resuelvan problemas de carácter diverso (viso-espaciales, lógico-científicos, narrativos, musicales, artísticos…); y apoyándose en herramientas de evaluación de distinto tipo, cuya complementariedad queda también demostrada en la tesis: el Test de Pensamiento Computacional (TPC), las Tareas Bebras, y Dr. Scratch.

Figura 8. Modelo integral de codigoalfabetización y desarrollo del pensamiento computacional en Primaria y Secundaria.

Para terminar, quisiera agradecer profundamente a todas las personas e instituciones que han contribuido en el desarrollo de mi tesis, en especial a la Asociación de Profesores de Informática de la Comunidad Valenciana (APICV), y quiero animar a tod@s l@s maestr@s y profesor@s entusiastas de estos temas a colaborar con nosotros en futuras investigaciones, algo de máxima importancia para ir construyendo entre todos y de manera sólida una pedagogía fundamentada para codigoalfabetizar y desarrollar el pensamiento computacional de las nuevas generaciones digitales. Puedes contactar conmigo y transmitirme tus ideas, intuiciones, inquietudes, propuestas y sugerencias de investigación, a través de mi correo mroman@edu.uned.es o de mi cuenta de Twitter @elpsycomago.