Si comienzas a programar directamente, salvo que lo que vas a hacer sea algo realmente muy sencillo, lo más probable es que el algoritmo que crees no sea ni claro ni eficiente. Aprender a programar es mucho más que escribir código: implica aprender a pensar. De ahí la importancia de introducir la programación y el pensamiento computacional en nuestras aulas: es un camino que permite fomentar el pensamiento crítico y la autonomía en nuestros alumnos. En este artículo (en inglés) se explica cómo la programación es, en realidad, un medio para alcanzar el verdadero fin último de la educación: aprender a pensar.
Que un programa funcione no significa que esté bien hecho. Seguramente todos podríamos construir una casa poniendo 10 columnas en medio del salón para que se sostenga, pero no sería eficiente ni estético.
En programación, los usuarios no van a ver las columnas que hay dentro de la casa, pero si tú como programador añades 10 columnas en medio del “salón” de tu programa, ese programa será muy difícil de mantener o de actualizar en el futuro.
Veamos un ejemplo muy sencillo. Supongamos que queremos hacer un programa que pida un número al usuario y muestre la tabla de multiplicar de ese número. Si no nos paramos a pensar, una solución a la que podríamos haber llegado con Scratch y que funcionaría sería la siguiente:
Elaboración propia utilizando Scratch
Pero éste no es un buen algoritmo, ya que estamos repitiendo la misma instrucción 10 veces (hemos metido 10 columnas en nuestro salón). Si antes de ponernos a programar, nos sentásemos a pensar un poco en un algoritmo que calcule la tabla de multiplicar, seguramente llegaríamos a una solución como ésta que seguramente todos somos capaces de entender:
ALGORITMO mostrar tabla de multiplicar DATOS número (el número que pedimos al usuario) multiplica (el número por el que vamos multiplicando) INICIO Pedir un número al usuario y guardarlo en número multiplica = 1 REPETIR 10 veces ESCRIBIR EL TEXTO “número x multiplica =” ESCRIBIR el resultado de multiplicar número x multipica INCREMENTAR en 1 multiplica FIN REPETIR FIN |
Una vez que hemos pensado el algoritmo, el problema ya está resuelto, y simplemente tendríamos que utilizar un lenguaje de programación para escribir este algoritmo (Scratch, Java, JavaScript, C++, etc.).
Veamos cómo quedaría este algoritmo una vez que lo hemos programado en Scratch:
Elaboración propia utilizando Scratch