Herramientas para desarrollar el pensamiento algorítmico

¿Has resuelto un mismo problema o desarrollado una actividad en repetidas ocasiones?, y cada vez, ¿tuviste que volver a pensar en todo lo que debías hacer, cuales pasos o procesos y en qué orden?, en la vida cotidiana, cualquier actividad la podemos describir como una serie de acciones o tareas. Igualmente, siempre estamos valorando si dicha actividad va a lograr lo que nosotros queremos, a partir de ir tomando decisiones durante el desarrollo de la misma, sin perder de vista que es lo que queremos lograr y que requerimos para lograrla, a este conjunto de actividades o procesos formados por una serie de instrucciones o tareas organizadas de manera lógica que nos permite alcanzar un resultado o resolver un problema se le conoce como Algoritmo.

Muchas veces aplicamos el algoritmo de manera inconsciente y automática, ya que son tantas veces que se ha resuelto, que difícilmente nos ponemos a enumerar los pasos para lograr el objetivo, y por lo tanto lo hacemos de forma mecánica.

Pero por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo y de un pensamiento flexible y estructurado para una solución, y para poder resolverlos se necesita desarrollar lo que conocemos como pensamiento algorítmico, es decir, desarrollar habilidades para resolver problemas informáticos usando la computadora a través de un pensamiento lógico, sistémico y razonado que permita proponer soluciones al elaborar algoritmos elementales, utilizando las diferentes metodologías y herramientas que existen.

Pero, ¿cuáles son esas herramientas que se pueden recomendar para desarrollar un pensamiento algorítmico?, dichas herramientas te darán la pauta para iniciarte en el mundo de la programación de computadoras. En la programación, se usan técnicas y herramientas metodológicas que permiten llevar a cabo la construcción de algoritmos eficientes y por lo tanto la resolución de un problema.

Podemos encontrar herramientas útiles desarrolladas por científicos de la computación y la educación, dichas herramientas nos permiten ir desplegando la maestría de la escuela algorítmica, para ello sugiero las siguientes herramientas, algunas son gratuitas, otras se usan directamente en la web y que por lo general están al alcance de todos, existen algunas otras que tienen objetivos similares, pero considero que estas son indispensables para alcanzar un grado de pensamiento algorítmico que permita tener la capacidad para resolver problemas.

1. Diagramas de flujo

2. Scratch

3. Blockly

4. EL lenguaje C o C++

5. Estrategias de programación

1.- Diagramas de flujo:

Son muy útiles para iniciar con la representación gráfica de los algoritmos cotidianos y para aprender los principios sobre la instrucción de los algoritmos, al término de usar diagramas de flujo, desarrollas técnicas de construcción y representación de algoritmos. Un ejemplo de un diagrama de flujo se observa en la figura siguiente, la cual es una representación clásica de algunas actividades para verificar por qué no funciona una lámpara y aplicar una solución.

Diagrama de flujo

Diagrama de flujo

Figura 1 Diagrama de flujo

Como se puede observar, los diagramas de flujo favorecen la comprensión de los procesos al ser representados los algoritmos en dibujo.

Después de resolver problemas no solo cotidianos y representándolos con diagramas de flujo, ahora se estará listo para iniciarse en algunas herramientas que nos permitan seguir construyendo algoritmos, pero ahora realizando las pruebas de escritorio, o como decimos, implementándolos y observando su funcionamiento. Así es, sabemos que existen herramientas como Logo y el robot Karel, pero en mi opinión considero que se puede iniciar y trabajar algunas horas con Scratch.

2.- Scratch

Será de utilidad para desarrollar proyectos básicos de animación y de otro tipo para crear aplicaciones sencillas mediante el desarrollo de algoritmos representados en rompecabezas o por bloques. Podemos encontrar excelente aprendizaje en: http://scratch.mit.edu/

Programando en rompecabezas

Programando en rompecabezas

Figura 2 programando en rompecabezas, imagen tomada de: https://scratch.mit.edu/

Al descargar e instalar scratch en tu equipo, tendrás la posibilidad de prepararte en este fascinante mundo de la programación, es muy versátil en la implementación de algoritmos y sobre todo con una interfaz muy amigable.

3.- Blockly

Blockly es una programación básica que te ayuda a interactuar en contextos distintos a los de scratch y que se programa en la web por google: https://code.google.com/p/blockly/ podemos desarrollar nuestro pensamiento algorítmico con sus distintas herramientas, porque ayudarás a alcanzar objetivos mediante el uso de tu tendencia algorítmica. Un ejemplo de su representación es el siguiente:

Bloques de ejemplo en Blockly

Bloques de ejemplo en Blockly

Figura 3 Bloques de ejemplo en Blockly, tomada de:

4.- El lenguaje C

Si ya hiciste varios diagramas de flujo, trabajaste varias horas en Scratch y Blockly; ahora estás listo para implementar tus habilidades de programación como lo hacen los profesionales, si, es el momento de utilizar un lenguaje de programación que es apreciado para crear software de sistemas, aunque también se utiliza para crear aplicaciones, existen otros con mucho éxito pero lo interesante es que desarrolles tu pericia de pensamiento algorítmico y el lenguaje C te será de mucha ventaja, al igual que se aprende con Blockly y Scratch, en un lenguaje como C te crearás el buen habito para programar porque sus reglas influyen en tus habilidades. Así es, ahora ya no es todo simbólico y tan visual como scratch y Blockly, ahora ya se tienen objetivos claros, no es difícil el lenguaje C, revisa el siguiente ejemplo de algunas líneas de código para enviar un mensaje de “Hola mundo” en el lenguaje C, agrego la explicación en cada línea de código expresada en medio de los caracteres: /* */.

#include /*Biblioteca de funciones*/

main ( ) /*Función principal*/

{ /*Inicio del bloque de instrucciones*/

printf(“Hola Mundo”); /*Se envía a la pantalla el mensaje con la instrucción

} /*Fin del bloque de instrucciones*/

¿Observas que el lenguaje C te será de gran provecho?

Con estas herramientas, razono que se puede desarrollar un pensamiento algorítmico imponente, el cual te permitirá adentrarte en el fascinante mundo de la lógica computacional.

5.- Estrategias de programación

¿Y qué tal si llevas al extremo tu pensamiento algorítmico? Así es, después de los procesos aquí señalados, si deseas seguir desarrollando tu habilidad estudia estas excelentes estrategias después de haber trabajado algunos días con el lenguaje C y llegado hasta las estructuras de datos elementales, estarás listo para llevar al extremo tu pensamiento algorítmico con las siguientes estrategias:

  • Recursión
  • Divide y vencerás
  • Algoritmos voraces
  • Algoritmos geométricos
  • Algoritmos genéticos

Existen más estrategias, pero con estas te inicias en el desarrollo de tu pensamiento computacional avanzado.

Estudiantes que participan en eventos académicos donde se requieren habilidades de pensamiento algorítmico, han alcanzado un grado de avance considerable y resuelven problemas complejos. Tal es el caso de los concursantes de las olimpiadas de informática. Existen científicos y académicos en busca de más instrumentales, a través de la inteligencia artificial también se han desarrollado robots que tienen lenguaje de programación para interactuar con él y así implementar algoritmos elementales en los robots.

Robots del Instituto Michoacano de Robótica

Robots del Instituto Michoacano de Robótica

Figura 4 Robots del Instituto Michoacano de Robótica (Robotrim)

Referencias

Cita esta página

Ríos Gómez Javier. (2014, octubre 16). Herramientas para desarrollar el pensamiento algorítmico. Recuperado de https://www.gestiopolis.com/herramientas-para-desarrollar-el-pensamiento-algoritmico/
Ríos Gómez Javier. "Herramientas para desarrollar el pensamiento algorítmico". gestiopolis. 16 octubre 2014. Web. <https://www.gestiopolis.com/herramientas-para-desarrollar-el-pensamiento-algoritmico/>.
Ríos Gómez Javier. "Herramientas para desarrollar el pensamiento algorítmico". gestiopolis. octubre 16, 2014. Consultado el . https://www.gestiopolis.com/herramientas-para-desarrollar-el-pensamiento-algoritmico/.
Ríos Gómez Javier. Herramientas para desarrollar el pensamiento algorítmico [en línea]. <https://www.gestiopolis.com/herramientas-para-desarrollar-el-pensamiento-algoritmico/> [Citado el ].
Copiar

Escrito por:

Imagen del encabezado cortesía de generated en Flickr