Método Algorítmico
Consiste en aplicar adecuadamente una serie de pasos detallados que aseguran una solución correcta. Por lo general, cada algoritmo es específico de un dominio del conocimiento. La programación de computadores se apoya en este método.
Numerosos autores de libros sobre programación, plantean cuatro fases para elaborar un procedimiento que realice una tarea específica. Estas fases concuerdan con las operaciones mentales descritas por Polya para resolver problemas:
1. Analizar el problema (Entender el problema)
2. Diseñar un algoritmo (Trazar un plan)
3. Traducir el algoritmo a un lenguaje de programación (Ejecutar el plan)
4. Depurar el programa (Revisar)
Como se puede apreciar, hay una similitud entre las metodologías propuestas para solucionar problemas matemáticos (Clements & Meredith, 1992; Díaz, 1993; Melo, 2001; NAP, 2004) y las cuatro fases para solucionar problemas específicos de áreas diversas, mediante la programación de computadores.
1. Analizar el problema (entenderlo)
Los programas de computador tienen como finalidad resolver problemas específicos y el primer paso consiste en definir con precisión el problema hasta lograr la mejor comprensión posible. Una forma de realizar esta actividad se basa en formular claramente el problema, especificar los resultados que se desean obtener, identificar la información disponible (datos), determinar las restricciones y definir los procesos necesarios para convertir los datos disponibles (materia prima) en la información requerida (resultados).
Estas etapas coinciden parcialmente con los elementos generales que, según Schunk (1997), están presentes en todos los problemas:
1. Especificar claramente los resultados que se desean obtener (meta y submetas)
2. Identificar la información disponible (estado inicial)
3. Definir los procesos que llevan desde los datos disponibles hasta el resultado deseado (operaciones)
Para establecer un modelo que los estudiantes puedan utilizar en la fase de análisis del problema, debemos agregar dos temas a los elementos expuestos por Schunk (1997): formular el problema y determinar las restricciones.
2. Diseñar el algoritmo (trazar un plan)
Podemos resumir que únicamente hasta cuando se ha realizado un análisis a fondo del problema (utilizando alguna metodología), se puede proceder a elaborar el algoritmo (diagrama de flujo). Este consiste en la representación gráfica, mediante símbolos geométricos, de la secuencia lógica de las instrucciones (plan) que posteriormente serán traducidas a un lenguaje de programación, como Logo, para ejecutarlas y probarlas en un computador.
3. Traducir el algoritmo (ejecutar el plan)
Una vez que el algoritmo está diseñado y representado gráficamente se pasa a la etapa de traducción a un lenguaje de programación determinado (en nuestro caso será scratch ó squeak). Cada lenguaje posee sus propias reglas gramaticales, por lo tanto es fundamental que los estudiantes conozcan de antemano la sintaxis de los comandos que deben utilizar para resolver el problema. A mayor dominio del lenguaje de programación, mayor posibilidad de llegar rápidamente a una solución satisfactoria. A esta fase de traducción se le conoce comúnmente como codificación.
4. Depurar el programa (revisar)
Después de traducir el algoritmo en un lenguaje de programación como Scratch, el programa resultante debe ser probado y validados los resultados. A este proceso se le conoce como depuración. Depurar programas contribuye a mejorar la capacidad en los estudiantes para resolver problemas; la depuración basada en la retroalimentación es una habilidad útil para
toda la vida (Stager, 2003).
Quienes han escrito alguna vez un programa de computador, saben de la dificultad que representa elaborar programas perfectos en el primer intento, dificultad que aumenta a medida que el problema a resolver es más complejo. La depuración, afinamiento y
documentación de un programa hacen parte fundamental del ciclo de programación y desde el punto de vista educativo estimula en los estudiantes la curiosidad, la perspectiva, la comunicación y promueve valores como responsabilidad, fortaleza, laboriosidad, paciencia y perseverancia. La programación facilita un diálogo interior en el cual la retroalimentación constante y el éxito gradual empujan a los alumnos a ir más allá de sus expectativas (Stager, 2003).
Otras dos actividades relacionadas con esta etapa son la afinación y la documentación. La primera consiste en realizar retoques para lograr una mejor apariencia del programa (en pantalla o en los resultados impresos) o para ofrecer funcionalidades más allá de los resultados esperados (especificados en la fase de análisis del problema). La segunda tiene un carácter eminentemente comunicativo, con la documentación de un programa se pone a prueba la capacidad del estudiante para informar a otras personas cómo funciona su programa y lo que significa cada elemento utilizado.