¿Se puede desarrollar pensamiento computacional sin ordenadores?

12 agosto, 2019

conf

Este artículo nace de la inquietud que tienen muchos maestros sobre cómo desarrollar el pensamiento computacional y las habilidades digitales asociadas, cuando la realidad indica que muchas escuelas  no cuentan con conectividad y de los recursos informáticos básicos y necesarios.

Intentaré en este artículo dilucidar aspectos claves del pensamiento computacional y como estos aspectos son factibles de enseñar a través de actividades que no requieren necesariamente de un ordenador.

Como primer punto, es necesario acercarnos al concepto de pensamiento computacional. El pensamiento computacional se puede definir como un conjunto de habilidades fundamentales que busca la resolución de problemas aprovechando las técnicas informáticas (Quitério, 2017; ISTE, sf; Cadillo, 2014). Entre el conjunto de habilidades se puede incluir:

  • pensamiento lógico
  • abstracción y modelamiento
  • clasificación
  • planificación y pensamiento algorítmico
  • descomposición
  • reconocimiento de patrones

Mientras que la informática es el estudio de la información: ¿cómo puede representarse? ¿Cómo se almacena? ¿Cómo se procesa? E implica el estudio de la computación y su aplicación utilizando computadoras. El pensamiento computacional es el conjunto de habilidades y formas de pensar que se utilizan para resolver problemas y permiten escribir programas de computadora para abordar estos problemas con mayor eficiencia.

Donde las habilidades del Pensamiento Computacional (PC) se pueden usar en cualquier momento en las ciencias, artes u oficios,  ya que su aplicación es en cualquier área en la que se requiera resolver un problema. Así:

Habilidad y conceptos del Pensamiento Computacional Aplicación en un campo o dominio del saber
Pensamiento lógico Desarrollo de hipótesis en el campo de las ciencias naturales, sociales, etc., ejemplo: El consumo de tabaco en los primeros años de la adolescencia es dos veces más nocivo que en la adultez o al aumentar la altitud, la temperatura ambiente disminuye.
Abstracción y modelamiento Abstracciones científicas como  los conceptos, las categorías y sus relaciones (leyes, hipótesis)
Organización y clasificación de los datos Organizar y clasificar información de contabilidad
Pensamiento algorítmico Escribir una receta de cocina para compartirla con otros
Descomposición Análisis de poemas a nivel lingüístico se descompone en análisis de metro, rima,  estructura, tono, dicción y significado.
Reconocimiento de patrones Determinar reglas para los enlaces químicos y las interacciones entre las soluciones en la química.Descubrir las reglas para factorizar polinomios de segundo orden en las matemáticas

El  pensamiento lógico se puede desarrollar a través de juegos de cuadriculas como la inventada por Naoki Inaba, este juego se denomina  “Cortar bloques” (Curzón, 2015), es un juego de  rompecabezas formado por bloques de cuadrados, que delimitan o marcan sus diferentes áreas con líneas más oscuras. Hay dos reglas que deben cumplir para completar un bloque: primero, cada área debe contener los números del 1 al número de cuadrados en la zona. Por ejemplo, el área superior del rompecabezas que a continuación se presenta consta de 5 cuadrados, por lo que esos cuadrados deben llenarse con los números: 1, 2, 3, 4 y 5 sin números repetidos. Si el área tiene dos cuadrados, como el de abajo a la izquierda, entonces se debe llenar con los números 1 y 2. Segundo, ningún número puede estar al lado del mismo número en cualquier dirección, ya sea horizontal, vertical o diagonal. Entonces, en la cuadrícula de abajo, el hecho de que haya un 4 en el costado significa que no puede haber un 4 en cualquiera de los 5 cuadrados que lo rodean.

con las tic en el aula - artículo 7 (1)

Una solución sería:

con las tic en el aula - artículo 7 (2)

También podemos desarrollar pensamiento lógico usando el Sudoku tradicional y otras estrategias  considerando que el pensamiento lógico es un proceso de reflexión mediante el cual se pueden percibir regularidades y relaciones entre objetos, conceptos y situaciones, así como construir argumentos válidos (Castañeda, 1987), dónde la consistencia del razonamiento para llegar a  una conclusión se basa en la secuencialidad  que organiza una serie de declaraciones en una cadena que se forma progresivamente donde el elemento anterior es base para una posterior declaración.

La habilidad de abstracción podemos trabajarla a partir de ejercicios que permitan extraer lo esencial de un fenómeno o problema eliminando toda la complejidad innecesaria para su comprensión. Chun y Piotrowski  (2012) y Castañeda (1987) manifiestan que abstraer es captar con el entendimiento el significado o esencia de las cosas, es decir, seleccionar cuidadosamente las cualidades que más nos interesan e ignorar el resto de detalles.

con las tic en el aula - artículo 7 (3)

La abstracción es la habilidad que le permite al ser humano combatir la complejidad al considerar sólo lo esencial del objeto o fenómeno que se esté analizando. Así para el gráfico anterior de los cachorros, formamos un concepto general a partir de la extracción de características de ejemplos concretos, a la vez implica dejar fuera de consideración una o más propiedades de un objeto complejo para atender otras que son semejantes al conjunto. De esta manera cuando enseñamos abstracción debemos enfatizar en el proceso de generalización para identificar la esencia de los objetos o situaciones, y en segundo lugar enfatizar el proceso de eliminación de los detalles para enfocar la atención en determinadas propiedades comunes al conjunto de objetos. Así entrenamos a los estudiantes para poder enfocarse en lo esencial al abordar un problema.

Podemos enseñar la habilidad de organización y clasificación de los datos atendiendo que la relevancia de la información depende de las relaciones definidas entre los datos existentes, de esta manera si añadimos datos nuevos o diferentes a una situación va a significar la posibilidad de redefinir las relaciones y de crear nueva información. En este punto podemos entrenar esta habilidad enseñando el sistema binario mediante cartas:

con las tic en el aula - artículo 7 (4)

Para ello pedimos que observen el grupo de cinco cartas mostradas en la figura anterior, cada carta contiene puntos marcados en la cara que se encuentra boca arriba. El conjunto de cartas comienza con la carta que contiene un solo punto y cada carta que se encuentra a la izquierda contienen el doble de puntos de la carta adyacente que se encuentra a su derecha, en este caso, 1, 2, 4, 8 y 16”

Cuándo la carta se encuentra boca arriba representa al 1 y cuando se encuentra volteada el 0. Es decir, el 1 significa que los puntos están visibles y el 0 indica que los puntos se encuentran ocultos. Por ejemplo:

con las tic en el aula - artículo 7 (5)

Para obtener el número decimal a partir de la distribución de cartas mostrada únicamente se suman los puntos que se encuentran visibles. Por ejemplo, el número binario 01001 representa al número nueve. De esta manera puede ir trabajando con los estudiantes sobre los números binarios.

Otro ejercicio que podemos usar es la representación de imágenes usando la idea de pixel sobre el papel que semejante a una pantalla en blanco y negro se puede controlar y representar usando papel, el píxel  se puede controlar o manipular independientemente para que emitan luz o no.

con las tic en el aula - artículo 7 (6)

La imagen se representa en una matriz de 19 filas x 18 columnas. Que se pueden entender como 342 bits (19×18) y contienen  18 bits para cada uno de los 19 renglones (42 bytes aproximadamente, un byte se forma por 8 bits). Usando la convención de codificar los renglones de izquierda a derecha y de arriba a abajo, los primeros cuatro renglones son: 000000000000000000, 000000000000000000, 000000111111000000, 000011000000110000 (en este ejemplo, el 1 representa un pixel negro, y el 0 uno blanco).

La habilidad de descomposición se puede trabajar en base al reto de escribir saludos navideños o postales. Los alumnos deben reconocer la estructura del saludo navideño y escribir una plantilla identificando las categorías gramaticales y sus uso (se hará una análisis de la composición gramatical de un mensaje de saludo navideño), para algunas categorías se debe escribir un listado de palabras que coincidan gramaticalmente y permitan formular diferentes saludos.

Usamos la fórmula base:

¡Saludos Navideños!
    Les deseo unas maravillosas vacaciones.
    Espero verlos pronto  en año nuevo.
Con amor
J

Usamos la plantilla:

¡+Saludos+!
“Les deseo unas” + adjetivo + “” + sustantivo + “.”
“Espero” + verbo  + adverbio + “.”
Finales

Saludos = {“Feliz Navidad”, “Felices Navidades”, “Felices fiestas”, “Feliz año nuevo”}
adjetivos = {“felices”, “alegres”, “pacíficas”, “relajantes”, “innolvidables”, “maravillosas”}
sustantivos = {“fiestas”, “navidades”, “vacaciones”, “temporadas”}
verbos = {“verlos”, “ponerlos al día”, “estar”, “besarlos”, ”saludarlos”, ”abrazarlos”}
adverbios = {“pronto”, “en el nuevo año “,” muy pronto “,” cuanto antes “}
finales = {” con amor “,” mis mejores deseos “,” todo mi cariño “}

Una vez se cuente  con la plantilla y la lista, se debe escribir la plantilla en un pedazo grandes de papel dejando espacios marcados con la categoría gramatical (por ejemplo, verbo, sustantivo) que serán completados por nuestra lista de palabras. Se escribe la lista de palabras en tarjetas etiquetadas en la parte posterior con la categoría gramatical, mantenemos las tarjetas en pilas separadas correspondientes a su categoría gramatical organizadas al azar.

Para generar el mensaje navideño, usamos los siguientes pasos o algoritmo:

  • Coloque la plantilla
  • Mezcle las tarjetas y ordénelas según categorías (saludo va al inicio y cierre va al final).
  • Repita lo siguiente hasta llenar todos los huecos:
    • Tome la pila apropiada de tarjetas para un espacio de palabras y barájelas.
    • Toma una palabra al azar de la pila.
    • Colóquelo en el espacio de la plantilla
  • Lea el mensaje generado

Respecto al pensamiento algorítmico es bien sabido que se puede trabajar a través de diagramas de flujo o pseudocódigo.  Pero también podemos empezar usando otro tipo de representación que nos de precisión y claridad, teniendo en cuenta que un algoritmo es una secuencia ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema, que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigüedad, que debe llevar a cabo un computador para lograr un resultado previsible (López, 2009, citado en Cadillo, 2014). Podemos empezar programando una “máquina de dibujar”. Para eso usaremos una grilla o cuadricula  y un lenguaje de flechas (Areces, 2018):

con las tic en el aula - artículo 7 (7)

A partir del lenguaje de flechas, empezamos a crear un algoritmo para que la máquina haga los dibujos que muestran las grillas a continuación:

con las tic en el aula - artículo 7 (8)

con las tic en el aula - artículo 7 (9)

Y también en el sentido inverso:

Lee el programa que se encuentra debajo ¿Qué dibujo debe hacer la máquina?

con las tic en el aula - artículo 7 (10)

Este concepto puede ser ampliado a través de los cuentacuentos (storytelling) la página csunplugged.org trabaja este tema de la siguiente manera:

Preguntas clave

  • ¿Cómo podría ayudarnos pensar en la programación a contar historias?
  • ¿Por qué es importante acertar en la secuencia al volver a contar una historia?

Se pide  escribir a los estudiantes su  propio programa que vuelve a contar la historia Caperucita Roja que se  acaba de leer. ¡Pero deben  a mezclar la historia!

Iniciamos con la  cuadrícula las ideas principales de la historia.

con las tic en el aula - artículo 7 (11)

En la imagen tenemos.

  • Un gran lobo
  • La Caperucita Roja
  • Ahí está la casa de la abuela.
  • También hay un pozo.

Había una vez un lobo incomprendido, a quien todos pensaban que era malo porque tenía grandes dientes afilados y espeluznantes. Era muy tímido y un día escuchó a una niña saltando por el camino y necesitaba esconderse rápidamente, y el único lugar era esconderse en el pozo. Aquí se presenta el  objetivo a la clase y se pide formar grupos que se encargaran de  programar al lobo para que se esconda en el pozo. Y luego se pedirá que vayan programando y escribiendo una historia: “Crea tu propia historia usando un juguete y los bloques de programación. Debes dividir tu equipo en dos partes uno para el lobo y otro para caperucita. También podrás poner cosas que el lobo debe evitar, como una cueva imaginaria o lo que se te ocurra. Trabaja coordinamente de forma que los bloques coincidan con la historia”.

Finalmente debes Testear  las instrucciones del programa para los agentes o Bots (Bot máquina que ejecuta las instrucciones, para ello debemos seleccionar un estudiante que cumple o ejecuta las sentencias elaboradas para cada personaje a él lo llamaremos Bot) en el tablero según vayan contando la historia y el Bot las ejecuta a medida que se leen.

Las sentencias que se puede usar son:

“Avanzar”
“Girar a la izquierda”
“Girar a la izquierda”

Al trabajar este último punto los estudiantes irán observando la aparición de muchos patrones diferentes al escriben sus algoritmos, y cuando los estudiantes reconocen estos patrones, pueden reutilizar algunos de ellos varias veces, en lugar de tener que descubrir cada paso nuevamente. Por ejemplo, los estudiantes pueden reconocer que si quieren girar 180 ° pueden repetir “izquierda” o “derecha” dos veces, y pueden repetir esta misma secuencia siempre que necesiten hacer este movimiento. O si necesitan moverse en diagonal a través de la cuadrícula, pueden tomar el grupo de instrucciones “izquierda, avanzar, derecha, avanzar” (intercambiar derecha e izquierda dependiendo de hacia dónde se dirija) y repetir esto tantas veces como sea necesario.

Espero poder recibir sus opiniones y aportes sobre este interesante y necesario tema en nuestras aulas.

 

Referencias

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>