Aprendemos a identificar patrones para resolver problemas

La importancia de aprender a identificar patrones

En este post voy a intentar explicar porque es importante aprender a identificar patrones.

Esta habilidad es fundamental para aprender a programar, además contribuye a entrenar la mente para el análisis de problemas complejos de múltiple naturaleza.

Identificar patrones es uno de los aspectos del pensamiento computacional necesario para planificar una estrategia de resolución de problemas. Esto muchas veces tiene relación con la posibilidad de desagregar un problema complejo en subproblemas.

Hallar patrones es encontrar regularidades. La regularidad es algo que se repite, pero muchas veces no es fácil de identificar a primera vista.

Decimos entonces que la regularidad necesita ser descubierta...

Como podrás apreciar en la imagen ubicada a la izquierda, mover 50 pasos y girar 72º se repiten 5 veces consecutivas. Ese es el patrón. Por lo tanto, con el uso de "Repetir" (imagen ubicada a la derecha) el programa se simplifica ya que nos ahorramos de poner cinco veces los mismos bloques "mover" y "girar" (primitivas). En problemas más complejos aprender a reconocer patrones es vital para no quedar empantanados.

Te comparto entonces cuatro juegos digitales en los que deberás encontrar patrones para aprender a programar que, a mi entender (y de varios especialistas), son serios:

Pilas Bloques (https://pilasbloques.program.ar/online/#/libros) Es una aplicación desarrollada por la Fundación Sadosky especialmente para el aula. En ella, se proponen desafíos con diversos niveles de dificultad para acercar a los alumnos al mundo de la programación por medio de bloques. Se trabajan nociones básicas de programación como Primitivas, Repeticiones simples y condicionales, Procedimientos, alternativas condicionales y Parámetros. Puede usarse online (con navegadores compatibles: Firefox y Chrome) o descargarla para diferentes sistemas operativos: Huayra Linux, Windows, Mac Os X.

Pilas Engine (https://pilas-engine.com.ar/). Es una herramienta que permite crear juegos digitales mientras se aprenden conceptos de programación tales como estructuras de control y uso d variables. Está diseñado con el objetivo de ofrecer ayuda a los principiantes para crear juegos digitales programando en lenguaje Python.

Code.org (https://studio.code.org). Se trata de un juego para el aprendizaje de las nociones básicas de programación mediante lecciones guiadas. Su estructura permite abstraer a los jugadores de la sintaxis propia de los lenguajes. Las instrucciones se presentan de manera icónico-textual en forma de bloques lógicos que pueden encastrarse para realizan acciones específicas. Se introducen de forma sencilla las estructuras de control.

Lightbot (https://lightbot.com/hocflash.html). Consiste en darle instrucciones a un robot para que recorra un escenario (damero 3D) y alcance su objetivo (encender las celdas azules). Cada orden, representada de forma icónica, se traduce en una acción que debe realizar el robot. Aborda, de manera gráfica e intuitiva, distintos conceptos de la programación: secuencia, estructuras de control, modularidad y recursión.

Fuentes consultadas:

https://revistas.unc.edu.ar/index.php/vesc/article/view/14739

https://experienciasdeprogramacion.wordpress.com/2012/11/04/pensamiento-computacional-identificacion-de-patrones/

En cada uno de estos juegos podrás reconocer patrones para elaborar tus estrategias de resolución de problemas, crear procedimientos, repeticiones, etc, y poder avanzar en los desafíos propuestos.

Bonus track

Antes de comenzar a programar, te propongo un pequeño desafío:

¿Qué número hace falta en esta secuencia? 4 - 9 - 16 - 25 - ? - 64?

Tip: para hallar el número, primero debes encontrar un patrón. El patrón es "algo" que se repite a lo largo de toda la secuencia.

Contanos qué patrón identificaste…! ¿Qué pasó por tu mente hasta poder encontrarlo :) ?

Continuaremos con más desafíos!

Deja un comentario

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

error: Contenido protegido.