Todos usamos Computational Thinking a diario, pero probablemente sin conocimiento de causa, y no de la manera más eficiente. Al finalizar este artículo, no solo habrás comprendido la importancia de entrenar y manejar esta habilidad estratégica, sino que te llevarás puestas las gafas del Computational Thinking.
El contexto de transformación digital continua nos demanda una cultura de aprendizaje y adaptación veloz y constante, acompañada de un espíritu de experimentación y la capacidad de perseverar hasta dar con la mejor solución. Lejos de poner el foco únicamente en la mejora de las habilidades digitales y técnicas, con Computational Thinking potenciamos las habilidades cognitivas y transversales esenciales para enfrentarnos a retos de índole profesional y personal, técnicos y no técnicos, sencillos o de alta complejidad.
Cogiendo como ejemplo uno de los desafíos complejos a los que hacemos frente como sociedad global: comprender y adoptar las IAs a todos los niveles; el conocimiento en Computational Thinking es un fuerte aliado que nos proporciona el entendimiento estructurado para interactuar con sistemas de IA.
Pero empecemos por lo básico: ¿Qué es Computational Thinking?
Computational Thinking, o Pensamiento Computacional, es la capacidad humana de resolver problemas y expresar ideas haciendo uso del potencial de las ciencias computacionales.
Es el conjunto de soft skills que subyacen bajo todo lo digital, y que hacen que funcione tan bien. Cojamos el ejemplo de un desarrollador. Este perfil tiene, por descontado, la hard skill del lenguaje de programación (Python, Java…). Pero un buen desarrollador le sumaría a este conocimiento un subconjunto de habilidades blandas que forman parte del Computational Thinking y que veremos a continuación, que le ayudarían a resolver un problema o construir una solución de una manera más efectiva. Y, ojo, no todos los perfiles técnicos dominan el Computational Thinking. Todos podemos desarrollarlo sin necesidad de conocimientos técnicos, y nos allanará mucho el terreno para mejorar nuestro entendimiento de cómo funciona la tecnología.
El Computational Thinking es un movimiento de cambio, un sistema de pensamiento liberador que te quita ruido, te da foco y capacidad, y empoderante porque te da autonomía, y te ayuda a entender el mundo que te rodea, bañado por la tecnología.
¿Qué NO es?
Como nos gusta repetir en nuestros cursos de Computational Thinking, no es pensar como un ordenador, no es programar ni usar lenguajes de programación, no es lo mismo que la Inteligencia Artificial, no es ponernos a estudiar algo durante muchos años y no es difícil de desarrollar.
Si quieres aprender a programar y continúas con tus estudios de Computational Thinking, por supuesto que llegarás a ese estadio técnico. Y ¡qué bonito lanzar unas líneas de código! Pero no es, en ningún caso, el objetivo que tienen la mayoría de perfiles no técnicos. Sí que precisan no ser meros usuarios de tecnologías, sino también comprender lo que hay debajo e incluso poder desarrollarlas de manera no code. Se trata de los emergentes citizen developers, movimiento que busca empoderar a todos para crear tecnología, esto es, que personas sin conocimientos ni experiencia en programación participen activamente en la creación de soluciones, usando herramientas low code o no code, nutriendo así al sistema del potencial colectivo de todos los
perfiles.
¿Por qué y para qué me sirve?
Asumimos y almacenamos de manera natural mucha información –ruido– en nuestro día a día, y la mente sale adelante pero saturada y bloqueada. Actuamos impulsivamente y nos saltamos la fase de análisis, porque sentimos, por norma general, que no tenemos tiempo para pensar. Acabamos multitarea, sin foco, incapaces de darle al interruptor del sistema 2 de pensamiento.
Detengámonos un momento en los dos sistemas de pensamiento que operan en todos nosotros:
El sistema 1 es el más utilizado con diferencia, rápido, automático, visceral, inconsciente, fuera de nuestro control, ese piloto automático en el que nos sumimos la mayor parte del día. En él, nuestro cerebro no aprende, porque asocia la nueva información con patrones que ya existen en nuestra mente. No creamos nuevos patrones a partir de cada nueva experiencia, llegamos a conclusiones de manera automática. No está mal para ahorrar energía mientras te preparas un café, te afeitas o sumas 2+2, ¿verdad?
El sistema 2, en cambio, es el que se activa cuando tenemos que tomar decisiones difíciles, afrontar tareas complejas o innovar. Más lento, analítico, controlado y deliberado, conlleva un esfuerzo mayor y su función es tomar decisiones finales después de observar y analizar las intuiciones surgidas a partir del Sistema 1.
El susto viene, como siempre, con los datos: el Sistema 1 se encarga del 97 % de las decisiones que tomamos a lo largo del día. El Sistema 2, por lo tanto, solo es responsable de un 3% de nuestras decisiones diarias. No es solo al prepararnos un café y realizar tareas sencillas y repetitivas: usamos el Sistema 1 para prácticamente toda nuestra actividad. ¿A qué es debido? De nuevo, a esa sobrecarga y exceso de ruido que sobrellevamos.
El cerebro, siempre aliado, se adapta a ese consumo excesivo de energía y nos mantiene en piloto automático por nuestra supervivencia. Y es aquí donde el Computational Thinking tiene un papel clave para despejar y equilibrar la balanza de sistemas, para darnos espacio, claridad, e ir aprendiendo a activar más fácilmente y con menos gasto de energía, el valioso interruptor del Sistema 2.
¿Por qué suena a Mindfulness de repente?
Aunque no podrían venir de mundos más dispares, tienen en común un elemento fundamental para nuestro bienestar: desarrollar la capacidad de eliminar ruido mental, quedarnos con lo relevante en cada momento, poder poner foco, tener un pensamiento más ordenado y estructurado, en contraposición al caos mental imperante, siendo así capaces de tomar las mejores decisiones, y, más importante aún, de sentirnos más relajados y felices.
¿Y es algo de ahora?
¡No! De hecho, este mismo año el Computational Thinking se hace mayor de edad, y cumple 18 años desde que se escribió el primer artículo de investigación en 2006. Como todo constructo psicopedagógico o habilidad cognitiva, va madurando, y nos encontramos en un momento avanzado en el que ya es obligatorio en todas las etapas formativas del currículo educacional, en todas las comunidades autónomas de nuestro país.
Atraviesa asignaturas como Conocimiento del Medio, Matemáticas, Biología y Geología, Tecnología… por citar algunas. Lo impregna todo, como habilidad transversal que es. Nuestros peques y no tan peques son y serán, de manera innata, unos expertos en Computational Thinking. Y no estamos hablando de nativos digitales, que también lo son, sino de la capacidad venidera que tendrán de entender de manera profunda e intuitiva el funcionamiento de las máquinas y lo que realmente son, no el simple uso de las mismas. Extrapolando este conocimiento de las ciencias computacionales al campo que quieran, serán capaces de afrontar problemas de toda índole, desde lo personal hasta lo tecnológico.
Vale, suena genial, pero ¿todo esto cómo se consigue?
Ahora te apetece empezar, ¿verdad?
Computational Thinking es una macro habilidad que se basa en 4 habilidades fundamentales, que todos tenemos de manera natural y ya usamos en nuestra vida laboral y personal, pero no nos hemos detenido en ellas. Esta disciplina no te proporciona uno, te proporciona cuatro nuevos prismas, perspectivas, ángulos, desde los que mirar y analizar tus retos.
Se trata de identificar cuándo está operando cada habilidad, reflexionar sobre ellas, cuál se nos da mejor o peor, entrenarlas, generar el criterio óptimo que nos permita dirimir cuándo debemos activar cada una, o saltar de una a otra, o usar varias a la vez, según el reto al que nos enfrentemos.
Son: la Abstracción, la Descomposición, el Reconocimiento de Patrones y el Diseño de Algoritmos.
ABSTRACCIÓN
El zoom out
Deja por un momento lo que estás haciendo y da un paso atrás, observa el problema con cierta distancia y obtén la foto completa, visualiza bien cada una de sus partes, y reflexiona. La Abstracción nos permite coger perspectiva, visión global, hacernos las preguntas correctas en cada momento, eliminar lo irrelevante y el ruido, quedarnos con la esencia, minimizar complejidad, elaborar estrategia, comprobar si vamos en la dirección correcta o hace rato que nos hemos desviado del objetivo. Acuérdate de hacer zoom out varias veces al día, en situaciones diferentes.
Entiendes a la perfección cómo funciona el Metro de Madrid porque tienes el mapa en la cabeza, ¿no? Un mapa es el mejor ejemplo de Abstracción que hay.
En las ciencias computacionales, una abstracción es una manera de reducir la complejidad y permitir un diseño e implementación más eficientes en sistemas de software complejos.
DESCOMPOSICIÓN
El zoom in
Una vez comprendido, analizado y priorizado el problema complejo, divídelo en piezas más pequeñas y manejables. Tangibiliza, clasifica. Sal del análisis y pasa a la acción. Adéntrate en los detalles y las tareas a realizar, ejecuta.
Su ejemplo más reconocible sería tu to-do list diaria, pero, ¿has reflexionado previamente sobre ella?, ¿has usado la Abstracción como paso previo, o te has puesto a ejecutar sin más?
Las ciencias computacionales descomponen un problema complejo hasta conseguir que sus piezas más pequeñas sean tan simples, que se puedan resolver con facilidad.
RECONOCIMIENTO DE PATRONES
La búsqueda de relaciones
A nuestro cerebro le encantan los patrones, se siente comodísimo instalado en patrones previamente construidos. ¡Cuidado con los sesgos que nos pueden generar!
Como se explica antes con el sistema 2 de pensamiento, un Reconocimiento de Patrones activo y efectivo, y no automático, nos permite identificar relaciones y similitudes entre los diferentes subproblemas de nuestro problema, para reutilizar una solución exitosa, recordar mejor la información, y ahorrar energía.
En las ciencias computacionales, el reconocimiento de patrones es un proceso que consiste en clasificar datos de entrada en objetos, clases o categorías, en base a sus características principales o elementos constantes.
DISEÑO DE ALGORITMOS
El paso a paso
Un algoritmo no es más que un paso a paso, una receta que nos guía durante el cocinado. Sin ella, echaríamos el huevo en la sartén antes de calentar el aceite.
Un manual de instrucciones del Ikea… ¡Estamos rodeados de algoritmos!, unos mejores que otros (por eso montar la estantería Kolbjörn en un infierno). La habilidad de crear algoritmos -planes de acción-, claros, ordenados y efectivos, será vital para una comunicación eficaz, enseñar a alguien una tarea nueva, planificar o delegar.
En las ciencias computacionales, el diseño de un algoritmo es un proceso que implica la creación de un procedimiento paso a paso o un conjunto de instrucciones que una computadora debe seguir mientras realiza una tarea o resuelve un problema.
¿Me puede ayudar en mi vida personal?
Rotundamente sí. Identificar cuál es tu tendencia de pensamiento (¿eres más de Abstracción y de ver la foto completa?, ¿o eres más de Descomposición y te vas rápido a los detalles y la ejecución?) te proporciona un autoconocimiento muy valioso, a partir del cual trabajar tus áreas menos entrenadas o a las que tiendes menos. Más que una potente herramienta, es una caja de herramientas cuya reina es el criterio para elegir la más útil de ellas en cada momento. ¿Y si hasta ahora sólo habías caminado con el superpoder de Descomponer, y no te ha ido nada mal, pero puedes incorporar los otros 3 poderes?.
Hacerte las preguntas correctas en cada ocasión (Abstracción), te ayuda a entender mejor a tus seres queridos y a afrontar todo tipo de situaciones complejas. Ayudar a una amiga a segmentar el dramón que te está contando, en dramas más pequeños y manejables (Descomposición), y crear juntas un plan de acción para solucionarlo paso a paso (Diseño de Algoritmos) potencia tu escucha activa. Concluir que dos personas no se están entendiendo porque una se ha ido a Abstracción (¿esto por qué lo hacemos?) y la otra a Descomposición (¿esto cómo lo hacemos y qué hay que hacer ahora?) es verdaderamente poderoso, para ayudarlas a entenderse.
A veces simplemente no estamos hablando el mismo idioma, sin darnos cuenta. De la misma manera, identificar los motivos, por lo general repetitivos, por los que no se entiende la gente, es un reconocimiento de Patrones en toda regla.