Pensamiento Computacional – Unidad 1: Introducción a Pensamiento Computacional, Abstracción

1.1 Introducción a Pensamiento Computacional

¡Hola!, ¡bienvenidos!

En este curso trabajaremos con conceptos vinculados al Pensamiento Computacional. Pero, antes de empezar, ¿qué es pensamiento computacional? ¿De qué trata?
Veamos un par de ejemplos.

Queremos salir con amigos. Cuando preparamos la salida, pensamos: ¿qué podemos hacer?, ¿qué opciones hay? ¿dónde podemos ir?, ¿qué hicimos otras veces?, ¿cuánto dinero tenemos disponible? y ¿cuánto nos cuestan las diferentes alternativas? Seguramente consideraremos también otros factores tales como si hará frío o calor y hasta cuánto tiempo tenemos. Luego organizamos efectivamente la salida, combinando la hora, lugar y demás detalles.
Veamos otro ejemplo distinto. Nuestra lámpara de mesa no funciona. ¿Qué hacemos? Analizamos posibles causas: verificamos si está enchufada, si la lámpara se quemó, si el enchufe está bien, si hay corriente, entre otras. En función de la situación, vemos qué curso de acción tomar. Por ejemplo, si está quemada, buscamos en casa si hay un repuesto y si no lo hay, vamos al supermercado a comprar uno.

¿Qué tienen en común estos dos casos? En ambos:

– descompusimos el problema en problemas más pequeños: “Dónde iremos” y “cuánto cuesta” en el primer ejemplo, y “cuál es la causa de que no prenda” en el segundo,
– tomamos sólo lo importante, por ejemplo, no nos preocupamos en este momento si será necesario tomar un ómnibus para la salida y si lo pagaremos con billetes, monedas o tarjeta,
– tuvimos en cuenta el conocimiento de situaciones anteriores similares: por ejemplo recordamos otras salidas previas y tomamos ideas de ahí y
– organizamos un plan paso a paso. Por ejemplo, para cambiar la lámpara, si me falta un repuesto, ir al supermercado a comprar uno.

O sea, el pensamiento computacional refiere a tomar un problema complejo y dividirlo en problemas más pequeños y manejables, es lo que se llama descomposición. Cada uno de ellos puede ser analizado en forma individual, considerando cómo se han resuelto problemas similares anteriormente. Esto se denomina reconocimiento de patrones. Se trata también de concentrarse en los hechos y datos importantes, ignorando lo irrelevante, esta es la noción de abstracción. Luego, se puede diseñar un conjunto de pasos para resolver cada uno de esos problemas más pequeños, o sea, diseñar el o los algoritmos.

¡De eso trata este curso!

Si bien el nombre “Pensamiento Computacional” podría sugerir que es una temática exclusiva para personas del ámbito de la computación, es completamente general, como vimos en los ejemplos.

Formalicemos un poco. Hay muchas definiciones y conceptos relacionados al pensamiento computacional. Jeannette Wing señala que el pensamiento computacional es una habilidad fundamental para todos e incluye resolver problemas, diseñar sistemas y entender el comportamiento humano. Se usan los procesos de abstracción y de descomposición (1)

Otra definición refiere a que el pensamiento computacional es un proceso de resolución de problemas que tiene, entre otras, las características de (2):

– formular problemas de forma que permitan el uso de una computadora y otras herramientas para ayudar en su resolución,
– organizar y analizar lógicamente datos,
– automatizar soluciones a través del pensamiento algorítmico (como una serie ordenada de pasos),
– representar datos a través de abstracciones como modelos o simulaciones,
– identificar, analizar e implementar posibles soluciones para alcanzar la más efectiva y eficiente combinación de pasos y recursos, y
– generalizar y transferir este proceso de resolución a una amplia variedad de problemas.

El pensamiento computacional también está relacionado con habilidades o competencias tales como (2):

– la confianza en el manejo de la complejidad,
– la persistencia en el trabajo con problemas difíciles,
– la tolerancia a gestionar problemas abiertos y
– la habilidad para comunicar y trabajar con otras personas para alcanzar una solución o meta.

El pensamiento crítico y las habilidades de resolución de problemas son competencias esenciales que los estudiantes requieren para desempeñarse en ambientes complejos como los actuales.

Como vimos en los ejemplos, el pensamiento computacional se infiltra en variadas áreas, como ciencias, humanidades u otras y está haciendo que potencie la forma en que pensamos.
En resumen, en el curso trataremos, entre otros, los conceptos de:

Abstracción: concentrarse en lo fundamental, ignorando lo irrelevante,
Descomposición: partir los datos, procesos o problemas en partes más pequeñas y manejables,
Reconocimiento de patrones: encontrar patrones o regularidades y
Diseño de algoritmos: seguir paso a paso instrucciones para resolver problemas

Se verán todos estos conceptos a través de múltiples actividades, no sólo vinculadas a aplicaciones computacionales sino también a otras áreas del conocimiento.
Las unidades se pueden completar en el orden que se prefiera. En cada unidad se trabajará con varios ejemplos y propuestas para incorporarlas a las clases.
¿Prontos?…¿Listos?….¡Ya comenzamos!

 

1.2: Abstracción

Como vimos, el pensamiento computacional es un proceso de resolución de problemas que incluye, entre otros:

– organizar lógicamente datos y analizarlos,
– representar datos a través de modelos y simulaciones,
– automatizar soluciones a partir de pensamiento algorítmico, como secuencias de pasos,
– generalizar y transferir el proceso de resolución a otra variedad de problemas, y
– formular problemas en una forma que permita usar una computadora y otras herramientas para resolverlo

Empezaremos con el concepto de Abstracción.

El proceso de abstracción trata de decidir qué aspectos hay que destacar y qué aspectos podemos ignorar. Esto se aplica en la vida real, no solamente a computación como indicamos. Veamos varios ejemplos.

– El horario de clases es una abstracción de lo que ocurre en una semana en una escuela, liceo u otra institución educativa. Tiene información clave sobre qué materias hay y en qué horarios, pero no incluye por ejemplo los temas o las actividades de una clase en particular.

– En geografía, un mapa representa una abstracción de la complejidad del ambiente, con diferentes escalas. O sea, se puede abstraer a diferentes niveles. Por ejemplo, podría incluir ciudades de más de 10.000 habitantes, o incluir ciudades más pequeñas, o podría orientarlo a representar los ríos, omitiendo arroyos.

– En historia, por ejemplo, cuando analizamos la historia nacional relativa a la batalla de Las Piedras, se realiza una abstracción, así, por ejemplo se omiten detalles de la vida personal de cada persona al analizarse los hechos genéricamente.

 

En los siguientes artículos veremos algunas actividades para la clase donde aplicaremos la noción de abstracción.

 

 

Referencias:
1 J. Wing, “Computational thinking”. Communications of the ACM, Vol. 49, No. 3, March 2006.
2 CSTA: Operational Definition of Computational Thinking for K-12 Education, https://csta.acm.org/Curriculum/sub/CurrFiles/CompThinkingFlyer.pdf. Accedido Agosto 2017.