Python y el Pensamiento Computacional

Resumen

La sociedad del conocimiento nos ha sumergido en un mundo sumamente tecnologizado, que demanda cambios profundos en educación para que podamos formar perfiles acordes a las nuevas tecnologías emergentes. Un gran paso sería la introducción del pensamiento computacional en todos los niveles de educación formal, de manera que, utilizando un lenguaje de programación fácil de aprender como lo es Python, se lleguen a formar estudiantes más críticos y creativos, que logren y anhelen, con sus nuevas habilidades, garantizar entornos saludables en sus comunidades.

Palabras claves: pensamiento computacional, razonamiento lógico, diagramas de flujo, algoritmos, programación, Python.


El Pensamiento Computacional es una metodología basada en la implementación de los conceptos básicos de las ciencias de la computación para resolver problemas cotidianos, diseñar sistemas domésticos y realizar tareas rutinarias. Esta nueva forma de abordar los problemas nos permite resolver con eficacia y éxito problemas que de otra forma no son tratables por una persona (Xabier Basogain Olabe, 2015, p4)

Esta forma de pensar metodológica es una herramienta muy útil para cualquier estudiante que cursa estudios primarios, secundarios o de grado de cualquier otra disciplina y no únicamente de exclusividad para los estudiantes de informática, telemática, programación, ingeniería en sistemas o áreas afines. Es una forma eficaz de abordar problemas mediante una serie de pasos organizados y lógicos. Es entonces el momento de preguntarnos ¿por qué, si es tan fértil para el conocimiento, no está siendo enseñado actualmente en todas las escuelas? ¿cómo podríamos provocar estos encuentros para el cultivo de esta eficiente forma de pensar?

Adell et al. (2019) plantean que lo ideal, más que la inclusión de una asignatura específica acerca de computación o informática, es la integración del pensamiento computacional como un eje transversal del currículo en otras asignaturas, ya que la mayoría de ellas se concentran en la enseñanza de contenido dejando de lado el desarrollo de habilidades y destrezas, incluso en esta área la cual reúne un grupo de competencias muy demandadas en el mundo de hoy (Roig-Vila y Moreno-Isac, 2020, citado por Polanco Padrón et al, 2021),

Sin embargo, es bueno observar, en esta susodicha integración, la importancia que continúa cobrando aquí el especialista en informática con conocimiento de programación, una figura escasa, que es y será clave del acompañamiento  de todo este proceso de integración y desarrollo del PC por parte de los maestros y consecuentemente de los estudiantes o viceversa como suele suceder. Se podría objetar, además, para restar importancia a la programación, que la habilidad de programar de un estudiante no implica o garantiza que éste haga uso efectivo del pensamiento lógico y es cierto, pero de manera semejante, podríamos alegar que un estudiante bueno en matemáticas puede ser pésimo con sus finanzas personales, si nunca fue instruido en ellas,aun así, debemos reconocer que tendría las bases para comprender y aplicar en su vida las finanzas con gran efectividad. Por tanto, la comprensión de cómo se tejen los algoritmos, a través de un lenguaje de programación que sea fácil de usar y con el cual poder crear ejercicios propios de una educación situada, se constituye en una herramienta cabal para el desarrollo de procesos abstractos complejos del pensamiento, que descubran respuestas generalmente ajenas al pensamiento común y conecten con las nuevas tecnologías emergentes.

Jannette de Wing (2006), una de las reconocidas promotoras de PC y con la que corroboro en la idea de la no exclusividad, nos comparte que el pensamiento computacional se habrá arraigado en la vida de todos cuando las palabras como algoritmo y precondición sean parte del vocabulario común (pag.34). Esta predicción, aunque su materialización parezca muy distante , ha venido tomando cuerpo velozmente con  grandes iniciativas que buscan contribuir con la democratización del Pensamiento Computacional, tales como la Hora del Código (www.code.org), la comunidad de la fundación Scratch (https://scratch.mit.edu/), Light Bot (https://lightbot.com/), App Inventor (https://appinventor.mit.edu/), Khan Academy (https://www.khanacademy.org/computing), etc., logrando impactar millones de usuarios con juegos, cursos y documentación en línea de manera gratuita y con la finalidad de desarrollar en los usuarios el razonamiento lógico.

Este razonamiento permite que los estudiantes puedan dar sentido a las cosas, lo que sucede por medio del análisis y la comprobación de los hechos a través de un pensamiento claro, detallado y preciso. De esta manera, los estudiantes toman sus propios conocimientos y modelos internos para hacer y verificar predicciones y así obtener conclusiones. El razonamiento lógico es la aplicación del pensamiento computacional para resolver problemas (CAS, 2015, citado por Andrew Csizmadia et al 2015, p.6 ).

En este mismo sentido y respaldando las bondades del cultivo de este tipo de razonamiento, es bueno resaltar que algunos estudios sobre la repercusión e impacto internacional de los lenguajes de programación en el ámbito educativo han hecho referencia a la prueba internacional pisa. Un ejemplo fue el caso de Estonia, que en 2012 obtuvo excelentes resultados en pisa acaparando titulares al introducir la programación informática y la robótica en los colegios desde la enseñanza básica (Cabrera 2015, citado por Tejera-Martínez et al, 2021)

Veamos ahora, a modo de ejemplo, un simple algoritmo, (el conjunto de pasos ordenados para hallar la solución de algún problema) usando la simbología de los diagramas de flujos (forma gráfica para representar dicho algoritmo) para entender cómo la programación va desarrollando en los estudiantes el razonamiento lógico a través del pensamiento computacional.

Simbología

La situación o problema que planteamos es:

¿No quiero salir a comprar un café y tengo todo lo necesario para preparar uno en casa? ¿Qué tengo que hacer?

El proceso del algoritmo que acabamos de ver puede variar un poco, de acuerdo con los gustos y formas de preparar el café de cada quien, pero habrá variables que no. Aquí solo mostramos un ejemplo con lo que reconocemos ser la forma más común. Por tanto, se podría decir que es propio de la naturaleza del problema la posibilidad de llegar a su resolución a través de planteamientos algorítmicos distintos, aunque en el fondo exista cierta similitud entre ellos y el objetivo sea el mismo.

¿Ahora bien, qué papel juega un lenguaje de programación como Python en todo este proceso del desarrollo del pensamiento computacional?

Python es uno de los lenguajes de programación más populares del momento por su simple sintaxis y versatilidad. Lo podemos encontrar en una gran variedad de softwares como servicio de la web, tales como Spotify, Netflix, Uber, Instagram, Dropbox, Lyft, Google entre otros. Este fue creado por Guido van Rossum, quien lo da a conocer en el 1991, justo el año en que Linus Torvalds libera su primera versión del núcleo de Linux. Esta coincidencia denota una estrecha relación del origen del lenguaje con la filosofía del software libre y es en este tenor que en el 2001 Torvalds recibe un importante premio, el Free Software Award, cuatro años antes de pertenecer a Google, desde donde continúa actualmente liderando la evolución de este lenguaje con una gran comunidad de colaboradores.

El nombre de este lenguaje se debe a la afición de Van Rossum al grupo Monty Python y su concepción se enfocaba en que fuera fácil de usar y aprender sin que esto penalizara sus capacidades. La causa de que no llegara a adquirir la suficiente importancia en su momento fue la falta de recursos en el hardware de la época (Andrés Visus, 2020), sin embargo, actualmente está siendo utilizado de manera exponencial en colegios, escuelas y universidades de todo el mundo y esta decisión viene generalmente acompañada de cambios en los planes curriculares para incluir programas que implementen el pensamiento computacional en sus profesores  y estudiantes, por ejemplo, Challenger-Pérez, et al (2014) nos comparte que universidades como la prestigiosa MIT (Massachusetts Institute of Technology) lo han seleccionado para impartir cursos como Introducción a las Ciencias de la Computación y a la Programación e Introducción a los Algoritmos. En la Universidad de Chicago se utiliza para impartir Introducción a las Ciencias de la Computación 2, y en la Universidad de Jaume de España se usa en Introducción a la Programación. (p.10)

En este mismo orden podemos observar la tendencia de este lenguaje a través del resultado de un análisis realizado por Pillip Guo (pgbovine.net) en junio del 2014, sobre los 7 lenguajes más usados por los departamentos de ciencia de la computación de 39 universidades de Estados Unidos.

Luego de ver este gráfico, podríamos continuar justificando cómo escuelas y universidades de varios países comienzan a usar el lenguaje de programación Python , pero lo más importante es destacar lo que se está logrando con la adopción del mismo para desarrollar el pensamiento computacional. Es abrirle a niños y jóvenes las puertas, que les redireccionarán a contextos para la creatividad, la innovación y el emprendimiento, en otras palabras: Python es un lenguaje para el Diseño de páginas webs, creación de videojuegos, carros a control remoto, drones, internet de las cosas (IOT), inteligencia artificial (AI), ciencia de datos etc. , además, como nos expresa Jesús Valverde Berrocoso et al (2015), los objetos y los artefactos (programas, videojuegos, robots) juegan un papel central en este proceso porque materializan el pensamiento y, simultáneamente, lo modifican y enriquecen. (p5)

Veamos a través del siguiente gráfico las características de este lenguaje que lo hacen tan especial para este tiempo.

Todas estas características mencionadas anteriormente de este lenguaje lo constituyen como la herramienta ideal para introducir a los estudiantes al pensamiento computacional y toda su realidad circundante. Es el momento y es necesario desarrollar nuevas capacidades que permitan desenvolverse en el día a día de una sociedad digitalizada en pleno siglo XXI (Rincon y Ávila, 2016 citado por Tejera-Martínez et al, 2021)

Las grandes corporaciones del mundo ya están en constante demanda de los nuevos profesionales del futuro y en este sentido, debemos motivar aquellos líderes en contextos para la enseñanza-aprendizaje y que aún se mantienen al margen de estas tendencias, para que también se sumen a la construcción de una sociedad más equitativa que brinde igualmente oportunidades futuras a esa población estudiantil que aún se mantiene aislada. En este mismo orden, extiendo la invitación a los instruidos en el pensamiento algorítmico para enseñar Python en los lugares remotos, de escasos recursos, o cualquier entidad sin fines de lucro que ejercite la educación, ya que puede constituirse en el grano de arena que luche contra la falta de voluntad política, la falta de compromiso social y la indiferencia que muestran nuestros gobiernos y que conocemos como brecha digital.

Referencias

Challenger-Pérez, Ivet , & Becerra-García, Roberto Antonio , & Díaz-Ricardo, Yanet  (2014). El lenguaje de programación Python. Ciencias Holguín, XX (2),1-13.[fecha de Consulta 29 de Mayo de 2022]. ISSN: . Disponible en:   https://www.redalyc.org/articulo.oa?id=181531232001

García Monsálvez, José Carlos  (2017). Python como primer lenguaje de programación textual en la  Enseñanza Secundaria. Education in the Knowledge Society, 18(2),147-162.[fecha de Consulta 31 de Mayo de 2022]. ISSN: . Disponible en:   https://www.redalyc.org/articulo.oa?id=535554766009

Basogain, Xabier & Olabe-Basogain, Miguel & Olabe-Basogain, Juan. (2015). Pensamiento Computacional a través de la Programación: Paradigma de Aprendizaje. Revista de Educación a Distancia (RED). 10.6018/red/46/6.

Bordignon, Fernando, Iglesias, Alejandro Adrián;. (2020). Introducción al pensamiento computacional. EDUCAR : UNIPE.

Xabier Basogain, Miguel Ángel Olabe, Juan Carlos Olabe. (2015). Pensamiento Computacional a través de la Programación: Paradigma de Aprendizaje. 15-Sep-2015, de RED. Revista de Educación a Distancia Sitio web: http://www.um.es/ead/red/46

Phillips, P. (2009). Computational Thinking: a Problem – Solving Tool for Every Classroom. CSTA, Microsoft. Disponible el 19 de agosto de 2011 en http://education.sdsc.edu/resources/CompThinking.pdf

Wing, J. (marzo, 2006). Computational Thinking. View Point. Communication of ACM. Vol. 49, No. 3. Pág. 35. Disponible el 19 de agosto de 2011 en http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf

Challenger-Pérez, Ivet , & Becerra-García, Roberto Antonio , & Díaz-Ricardo, Yanet  (2014). El lenguaje de programación Python. Ciencias Holguín, XX(2),1-13.[fecha de Consulta 2 de Junio de 2022]. ISSN: . Disponible en:   https://www.redalyc.org/articulo.oa?id=181531232001

Jesús Valverde Berrocoso, María Rosa Fernández Sánchez, María del Carmen Garrido Arroyo. (Año XIV. Número 46). El pensamiento computacional y las nuevas ecologías del aprendizaje. 15 de Septiembre de 2015, de Revista de Educación a Distancia (RED) Sitio web: https://www.um.es/ead/red/46/

Andrés Visus. (2020). ¿Para qué sirve Python? Razones para utilizar este lenguaje de programación. Octubre 2020, de ESIC UNIVERSITY Sitio web: https://www.esic.edu/rethink/tecnologia/para-que-sirve-python

Andrew Csizmadia, Paul Curzon, Mark Dorling, Simon Humphreys, Thomas Ng, Cynthia Selby, John Woollard. (2015). Razonamiento Lógico. En Pensamiento Computacional-Guía para Profesores(6). Computing At School: BCS.

Chris Castiglione. (2020). 10 páginas web famosas hechas con Python. abril 7, 2020, de Learn to code in 30 Days Sitio web: https://learn.onemonth.com/es/10-paginas-web-famosas-hechas-con-python/