Metodología algorítmica para construir funciones que resuelvan cálculos basados en procesos simples usando programación funcional
Algorithmic Methodology to build functions to solve processes with simple calculations using two programming paradigms
El presente artículo presenta una metodología algorítmica para construir funciones que resuelvan cálculos, basándose en procesos simples usando sumas y restas apoyándose en dos paradigmas de programación: la programación funcional y la programación imperativa, usando los procesos recursivos y cíclicos, respectivamente, que cada una provee. El propósito de esta investigación es demostrar lo sencillo que es resolver algunos problemas muy conocidos a partir de las operaciones más simples que se conocen y para las cuales el computador está acondicionado a calcular, de forma que los estudiantes conciban la solución a un problema a través de sus propios conocimientos para un aprendizaje significativo y con sentido. En la parte metodológica, se les hizo una presentación a los estudiantes de lo que se iba a realizar, los propósitos, los alcances y los logros que se esperaban para que, de una forma comparativa, pudieran formularse soluciones algorítmicas e implementarse en dos paradigmas de programación. Se encontró que los alumnos confieren suprema importancia a la relación entre el nuevo conocimiento que se les explica y sus nexos con los conocimientos ya adquiridos y que sea cual fuere la solución a implementar, a ésta le subyacen modelos que son independientes de la tecnología. La investigación concluye que cuando los estudiantes conocen la metodología con la cual se va a abordar un nuevo conocimiento, la siguen rigurosamente de la mano del docente, la codifican y comprueban la efectividad de sus resultados, el aprendizaje se alcanza más fácilmente.
1. Introducción
En términos de la programación de computadores, el concepto de función constituye uno de los pilares más importantes para la comprensión de los diferentes paradigmas de programación según Trejos (2000) [1]. No en vano la función es la esencia de la programación funcional, es el concepto que simplifica la concepción de soluciones imperativas y que se convierte la función en parte constitutiva de la definición de una clase bajo el nombre de método [2], por citar tan solo tres paradigmas de programación, tal vez, los más comunes.
El presente artículo encuentra su justificación en el hecho de buscar tanto aplicaciones cada vez más prácticas y cercanas del estudiante al concepto de función como la implementación de éstas como camino de solución de problemas matemáticos, reto metodológico que tiene el docente de programación de computadores para aproximar a sus alumnos a ese punto de convergencia que conforman las matemáticas y la programación y permitir que éstos lo conciban como fuente tanto de problemas computables como de soluciones implementables según Trejos, Significado y Competencias (2013) [3].
Uno de los objetivos de la enseñanza de la programación de computadores, dentro del contexto de un proceso de formación profesional para ingenieros de sistemas, radica en proveer de herramientas lógicas y tecnológicas a los estudiantes para que puedan encontrar, diseñar, implementar, monitorear, retroalimentar y optimizar soluciones que resuelvan problemas computables de manera que sea el mismo estudiante quien las diseñe, las conciba y las implemente [4]. De otra parte, se pretende con la enseñanza de la programación que los estudiantes puedan capitalizar al máximo los recursos que provee la tecnología computacional para resolver problemas transversales a otras ciencias y otras áreas de conocimiento [5]. El reto que tiene el docente de programación de hoy radica en poder encontrar soluciones óptimas, fundamentadas e implementables tanto a problemas computables como buscar caminos para encontrar, por vía de la programación, aproximaciones para resolver problemas no computables. Puede advertirse que una de las competencias que el docente debe infundir en sus estudiantes es la capacidad para reconocer un problema computable y encontrar ágilmente por lo menos una solución posible, así como reconocer que un problema no es computable y, aun así, aproximarse a su posible solución por el camino de la programación de computadores [6].
Recursos
-
Formatopdf
-
Idioma:español
-
Tamaño:657 kb