jueves, 27 de junio de 2019

El pensamiento computacional definido a partir de la acumulación holística de sus elementos constitutivos


Recientemente llegó a mí este artículo: The 5th ‘C’ of 21st Century Skills? Try Computational Thinking (Not Coding)de la profesora Shuchi Groverde Stanford, en el que por primera vez vi, en alguien distinto y lejano, sin contacto previo de ningún tipo, como no podría ser de otra forma, que se consideraba el pensamiento computacional como una acumulación de habilidades y elementos de conocimiento necesarios para programar y para caminar por la vida profesional y personal en la sociedad digital. Por fin un poco de luz. Hasta ahora mismo pensaba, ya casi a punto de abandonar al menos en lo fundamental, que ésta era una idea estéril y sin futuro.


Esta conceptualización y la definición correspondiente la venimos desarrollando desde junio de 2014 y, al día de hoy, su expresión más clara y definitiva está en el libro El pensamiento computacional, análisis de una competencia clave (Pérez-Paredes y Zapata-Ros, 2018), además de en posts académicos  (Zapata-Ros, Diciembre 2018) (Zapata-Ros, Diciembre 2014), en el artículo Pensamiento computacional: Una nueva alfabetización digital (Zapata-Ros, 2015) y en numerosos preprints.


Pero vayamos por partes.

En 2014 tras lecturas dispersas pero indicativas de la importancia del tema, me propuse (aquíaquí y, de forma totalmente concreta, aquí) abordar de una forma expresa el desafío de considerar la construcción conceptual del pensamiento computacional (PC) como una serie de habilidades específicas que sirven a los programadores para hacer su tarea, pero que también son útiles a la gente en su vida profesional y en su vida personal como una forma de organizar la resolución de sus problemas, y de representar la realidad que hay en torno a ellos. Este complejo de habilidades hemos dicho que constituye una nueva alfabetización ---o la parte más sustancial de ella--- y una inculturación para manejarse en una nueva cultura, la cultura digital en la sociedad del conocimiento.

Sin desarrollar demasiado esa idea en este post ---ya lo he hecho en muchos sitios a los que el lector puede acceder fácilmente con una simple búsqueda en Google o en Google Scholar--- podemos concluir que este planteamiento nos lleva a otro: el de justificar y definir el pensamiento computacional de una forma que podamos referenciarlo aceptablemente, y mínimamente consensuada, en otros trabajos y desarrollos. Y sobre todo que sirva como alternativa a la propuesta de aquellos que ven el pensamiento computacional como una serie de prácticas y actividades a incluir en el curriculum para que los niños aprendan exclusivamente a programar. 

Las definiciones clásicas, que se repiten hasta la saciedad en artículos y conferencias,son simples o incompletas.  

La de la informática Tasneem Raja(2014) en el post We Can Code It! , de la revista-blog Mother Jones dice

“El enfoque computacional se basa en ver el mundo como una serie de puzzles, a los que se puede romper en trozos más pequeños y resolver poco a poco a través de la lógica y el razonamiento deductivo”.

Pero ésta es una forma intuitiva en la que una autora, que proviene del mundo computacional, aborda una serie de métodos ampliamente conocidos en el mundo de la psicología del aprendizaje, además del de la computación. Implícitamente está hablando de análisis descendente y de elaboración: Puzzles ---problemas--- que se pueden dividir en puzzles ---problemas--- más pequeños, para ir resolviéndolos. También, en el mismo párrafo, vemos una alusión implícita a la recursividad. Falta la cláusula de parada y la vuelta atrás, pero evidentemente después de armar los puzzles pequeños cada uno hay que ensamblarlo en el puzzle general. Y también, todo hay que decirlo, habrá que incluir el nivel en el que hay que parar y dar marcha atrás.

La definición es simple y muy útil para el lenguaje periodístico, pero limitada e inexacta. Se limita a señalar un solo aspecto de lo que, en otros ámbitos que veremos, hemos incluido como aspectos particulares del pensamiento computacional, como es el análisis descendente. Y evidentemente reducir el pensamiento computacional al análisis descendente es muy pobre, aunque sea sugestivo y tenga impacto en blogs y en conferencias de divulgación.

La definición de Wing (2006), a la que siempre se recurre, es muy general, no hace pensar mucho a la gente y es fácilmente aceptable, pero no nos da pautas concretas para discernir lo que es pensamiento computacional, ahí realmente cabria todo. Wing dice que el "pensamiento computacional" es una forma de pensar que no es sólo para programadores:

El pensamiento computacional consiste en la resolución de problemas, el diseño de los sistemas, y la comprensión de la conducta humana haciendo uso de los conceptos fundamentales de la informática.

En ese mismo artículo continúa diciendo “que esas son habilidades útiles para todo el mundo, no sólo los científicos de la computación”.

El caso es que, finalmente, esto nos llevó a iniciar una serie de incursiones y desarrollos en el tema de la definición del pensamiento computacional por acumulación de habilidades y componentes de desarrollo cognitivo que son necesarios para el uso eficiente de esta forma de pensar.

En junio de 2014 planteábamos esta disyuntiva, o

¿Empezamos a enseñar programación incluida en los contenidos básicos del curriculum?
o
¿más bien se trata de aceptar que existe un pensamiento propio, al igual a como existe un pensamiento heurístico o un pensamiento divergente —al que ya se denomina  pensamiento computacional, y al que algunos hemos llamado precoding (algoritmia, análisis descendente, análisis ascendente, modularización, recurrencia, backtracking,…) — y que habría que empezar por un diseño que favorezca la adquisición de este pensamiento desde las primeras etapas de aprendizaje?
Y el 5 de noviembre de 2014 empezamos, en un blog muy de andar por casa, para simplemente fijar las ideas y comunicarlas de forma fácil, pero destinado en exclusiva este tema, una serie de posts titulada ¿Por qué "pensamiento computacional"?

En el post cuarto, el 23 de noviembre de 2014, empezamos a desarrollar los componentes del Pensamiento Computacional. Comenzamos por “análisis ascendente”, “análisis descendente”, heurística, “pensamiento lateral y pensamiento divergente”, creatividad, resolución de problemas y pensamiento abstracto.

El conjunto de componentes lo concluí en esta primera versión, el martes, 4 de agosto de 2015, con la última componente de catorceLa metacognición.

El esquema en esta primera versión quedaba así:



Fig. 1

En un post posterior incluimos una decimoquinta componente “la cinestesia”. La historia es muy interesante, la podemos encontrar junto con el esquema definitivo en esa fase inicial en el artículo: ¿Por qué "pensamiento computacional"? (¿y XII?) CINESTESIA


Fig. 2: Esquema de 15 componentes en su primera versión 23 de septiembre de 2015


Hay que decir que una serie de posts más pulcra y conteniendo esta última entrada la podemos encontrar en Redes abiertas entre el post ¿Por qué pensamiento computacional? (I) y éste.

  
Hasta aquí la historia inicial del esquema y de la elaboración de la que es resumen. Posteriormente a estas referencias iniciales, la elaboración más completa y la descripción de los elementos que constituyen, bajo esta perspectiva, el pensamiento computacional y una definición por extensión o por compilación la podemos encontrar en:

·         el libro El pensamiento computacional, análisis de una competencia clave (II Edición) (Pérez-Paredes y Zapata-Ros, 2018). En una primera edición en 2017, también aparecen la misma definición y el mismo esquema de 15 componentes ya completo, junto con una primera parte dedicada a la componente “patrones” y “lenguaje de patrones” de Zapata-Ros y Pérez Paredes (Enero 2018). En la II Edición hay además una tercera parte dedicada a “pensamiento computacional desenchufado” (“unpluged computational think”) y un interesante prólogo de César Coll.

·         posts académicos en el blog RED de Hypotheses (Zapata-Ros, Diciembre 2018) (Zapata-Ros, Diciembre 2014),

·         en el artículo Pensamiento computacional: Una nueva alfabetización digital (Zapata-Ros, 2015) y

·         en numerosos preprints.


Pero veamos qué ha escrito la profesora Shuchi Groverde Stanford en el artículo, The 5th ‘C’ of 21st Century Skills? Try Computational Thinking (Not Coding), y el interés que tiene con relación a esta forma de definir el pensamiento computacional.



En el apartado dedicado a decir qué es el PC, la autora dice que está constituido por[1] 

(…) los procesos de pensamiento involucrados en entender un problema y expresar sus soluciones de tal manera que una computadora pueda potencialmente llevar a cabo la solución. La TC se basa fundamentalmente en el uso de conceptos y estrategias analíticas y algorítmicas más estrechamente relacionadas con la informática para formular, analizar y resolver problemas.

Al igual que las habilidades de pensamiento general, la TC es un poco como el [concepto de] liderazgo: es difícil de definir, pero lo sabes cuando lo ves. Si bien muchas personas lo asocian con conceptos como la programación y la automatización, que son todas partes centrales de la informática, los educadores e investigadores han encontrado que es más fácil operacionalizarlo para los propósitos de la enseñanza, el currículo y el diseño de evaluaciones.

Eso significa desglosar las habilidades de TC en sus partes componentes, que incluyen conceptos como lógica, algoritmos, patrones, abstracción, generalización, evaluación y automatización. También significa enfoques como "descomponer" problemas en subproblemas para facilitar la resolución, creando artefactos computacionales (generalmente a través de codificación); reutilizando soluciones, probando y depurando; refinamiento iterativo.

Y sí, también implica colaboración y creatividad! Y además, no es necesario que involucre una computadora.

Veamos pues, de entrada señala la dificultad de definir PC, entonces adopta la posición de definir lo que es PC como, o a través, de un conjunto de cosas (Eso significa desglosar las habilidades de pensamiento computacional en sus partes componentes), la mayor parte de ellas implican o son habilidades, pero siempre son fáciles de operativizar (son todas partes centrales de la informática, los educadores e investigadores han encontrado que es más fácil operacionalizarlo para los propósitos de la enseñanza, el currículo y el diseño de evaluaciones) y sobre todo son posibles de incluir en un diseño educativo.

Son habilidades que incluyen facultades para operativizar la lógica (pensamiento lógico), los algoritmos (algoritmia), patrones, abstracción (pensamiento abstracto), generalización (pensamiento ascendente), evaluación y automatización. También significa enfoques como "descomponer" problemas en subproblemas para facilitar la resolución (pensamiento descendente), creando artefactos computacionales (generalmente a través de codificación); reutilizando soluciones, probando y depurando (ensayo y error); refinamiento iterativo (iteración).

Para concluir diciendo que “también implica colaboración (métodos colaborativos) y creatividad! 

Hasta aquí, si no he contado mal, coincidimos en DIEZ DE LOS QUINCE ELEMENTOS.

Pero hay más coincidencias, o al menos cierto paralelismo en cuanto a la relevancia del fenómeno en el contexto de la dinámica de las alfabetizaciones y de lo que es la alfabetización digital. En el artículo de Groves señala la relevancia del Pensamiento Computacional en cuanto a que constituye una competencia más a añadir a las ya aceptadas como competencias para la sociedad digital. En cualquier caso, lo que tienen de común ambos desarrollos, el articulo de Graves y los trabajos de quien suscribe, es que el pensamiento computacional supone un punto de inflexión.

En el caso de Shuchi Groves, desde el titulo (The 5th ‘C’ of 21st Century Skills? Try Computational Thinking (Not Coding)?[2], se señala que el pensamiento computacional añade una quinta C a las ya cuatro “ces” de las competencias digitales señaladas y aceptadas por todos. En el título está implícita esta afirmación, porque sólo es una pregunta retórica, en realidad es una afirmación. Y además afirma otra cosa, que la habilidad no consiste en programar, las habilkiadades son las del pensamiento computacional, una forma de pensamiento que permite programar. En esta segunda parte de la frase se sintetizan todas las argumentaciones de los trabajos referenciados anteriormente.

En lo siguiente detalla las otras C y argumenta la inclusión de la quinta:

“Desde el comienzo de este siglo, las habilidades de " 4C del siglo XXI " (pensamiento crítico, creatividad, colaboración y comunicación) han visto un creciente reconocimiento como ingredientes esenciales de los planes de estudio escolares. Este cambio ha llevado a una adopción de pedagogías y marcos tales como el aprendizaje basado en proyectos, el aprendizaje por indagación y el aprendizaje más profundo en todos los niveles de K-12 que enfatizan el pensamiento de orden superior sobre el aprendizaje de rutina . Sostengo que necesitamos que el pensamiento computacional (TC) sea otra habilidad central, o la "5ta C" de las habilidades del siglo XXI, que se enseña a todos los estudiantes.
Existe un creciente reconocimiento en los sistemas educativos de todo el mundo de que la capacidad de resolver problemas de manera computacional , es decir, pensar de manera lógica y algorítmica, y usar herramientas de computación para crear artefactos, incluidos modelos y visualizaciones de datos, se está convirtiendo rápidamente en una competencia indispensable para todos. campos.

Para quien suscribe, aceptando el principio general de la quinta C, el cambio es de mucho más impacto y relevancia, se trata de que estamos en presencia de una nueva alfabetización, que se distingue de las anteriores por el medio nuevo que soporta y transmite el conocimiento: el medio digital que se incorpora a los ya existentes: Los libros, la prensa, los documentos escritos y las imágenes en papel y en los medios audiovisuales. Antes el conocimiento se representaba y se trasmitía por la letura la escritura y las matemáticas, simbolizadas de forma simplificada por “las tres erres”. Ahora a las tradicionales tres erres: LeeR, escribiR y aRitmética se una cuarta expresión, sin  erre, con la cuarta competencia clave para la alfabetización en la sociedad digital, y sin las cuales no se podrían adquirir el resto de conocimientos, representarlos o atribuirles sentido: Esta cuarta competencia clave es el pensamiento computacionalEn el libro y en su presentación en University of Cambridge lo decíamos así:

En la tradición pedagógica anglosajona se les denomina las tres erresThe three Rs: "Reading, wRiting and aRitmhetic and computational thinking", que de esta forma se constituyen en una alfabetización de tres erres ampliada (three Rs+): The three Rs +: "Reading, wRiting, aRitmhetic and computational thinking"






Hay otro aspecto interesante. El pensamiento computacional no alcanza su verdadero carácter de innovación hasta que no está incluido en los programas oficiales, y esto supone previamente un diseño curricular (o sea, cómo es la nueva programación educativa que queda tras incluirlo) y sobre todo un diseño instruccional (cómo se hace) es decir cómo se enlazan los objetivos o resultados que se pretenden con lo que se hace para conseguirlos: La evaluación de aprendizajes y de proceso, los recursos, el propio diseño de objetivos, la metodología docente y sobre todo actividades. Estas últimas serían la pieza clave, la prueba del algodón, de forma que hasta que no lo hagamos no podemos decir que algo constituye una práctica educativa, como bien nos empeñamos a manifestar en el libro, en la parte dedicada a unplugged, en posts y en los artículos correspondientes (Zapata-Ros, January 2019)… En esos trabajos incluimos de forma significativa dos actividades: Una sobre sobre álgebra en educación infantil y otra sobre puertas lógicas con pegatinas.

Pues bien, si bien Grover no incluye actividades ni desenchufadas ni de cualquier otro tipo para el desarrollo de Pensamiento Computacional (en K12, K9, o en Elementary School, o en Key stage - educación Infantil) ni tampoco diseño instruccional, sí que se esfuerza en sugerir ejemplos de actividades y de aprendizajes en otras áreas donde pone en evidencia que el PC es útil, muy conveniente o en todo caso que es algo subyacente, y así lo manifiesta para las áreas de Lenguaje, Matemáticas, Ciencias y Ciencias Sociales. Por cierto es curioso que señale el carácter desenchufado (Some are unplugged…de algunas de estas actividades:

La codificación es un contexto excelente, divertido y útil para desarrollar habilidades de pensamiento computacional. Pero no es la única manera. Aquí hay algunas ideas para fomentar la TC en los sujetos. Algunos están desconectados, mientras que otros se beneficiarían con la codificación. ¡Los maestros pueden reconocer muchas de las actividades no programadas como cosas que ya hacen!

Esperamos y deseamos que, sea como sea, esa convergencia continúe, y se plasme como en los demás casos en un nuevo diseño curricular, y en programas de capacitación del profesorado, que integre estos elementos desde no sólo el K-12 sino, como nos empeñamos en dejar claro, desde la primeras etapas de educación infantil y primaria.



Referencias.-

Grover, S. (2018, March 13). The 5th 'C' of 21st century skills? Try computational thinking (not coding. Retrieved from EdSurge News: https://edtechbooks.org/-Pz

Raja, T. (2014). We Can Code It! Why computer literacy is key to winning the 21st century. Mother Jones, June.

Wing, J.M. (2006) Computational thinking. it represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use. Commun. ACM 49(3).  https://doi.org/10.1109/vlhcc.2011.6070404

Pérez-Paredes, P. & Zapata-Ros, M. (2018). El pensamiento computacional, análisis de una competencia clave. Scotts Valley, CA, USA: Createspace Independent Publishing Platform. P.63. https://www.amazon.es/pensamiento-computacional-analisis-competenciaclave/dp/1718987730/ref=sr_1_1

Zapata-Ros, M. (Diciembre 2014) https://red.hypotheses.org/776

Zapata-Ros, M. (Enero 2018) https://red.hypotheses.org/1079

Zapata-Ros, M. (2015). Pensamiento computacional: Una nueva alfabetización digital. RED. Revista de Educación a Distancia, 46(4). 15 de Septiembre de 2015. DOI: http://dx.doi.org/ 10.6018/red/46/4. Consultado el (dd/mm/aa) en http://www.um.es/ead/red/46

Zapata-Ros, M. (January 2019) Pensamiento computacional desconectado.  http://dx.doi.org/10.13140/RG.2.2.12945.48481





[1] It is the thought processes involved in understanding a problem and expressing its solutions in such a way that a computer can potentially carry out the solution. CT is fundamentally about using analytic and algorithmic concepts and strategies most closely related to computer science to formulate, analyze and solve problems.
Like general thinking skills, CT is a bit like leadership—hard to define, but you know it when you see it. While many people associate it with concepts like programming and automation—which are all core parts of computer science—educators and researchers have found it easier to operationalize it for the purposes of teaching as well as curriculum and assessment design.
That means breaking down CT skills into its component parts, which include concepts like logic, algorithms, patterns, abstraction, generalization, evaluation, and automation. It also means approaches like “decomposing” problems into subproblems for ease in solving, creating computational artifacts (usually through coding); reusing solutions, testing and debugging; iterative refinement.
And yes, it also involves collaboration and creativity! And furthermore, it does not need to involve a computer.

[2] ¿La 5ta 'C' de las habilidades del siglo XXI? ¿Es de verdad el pensamiento computacional?