RESUMEN DE METADATOS
Matemática
Fecha
2017-03Autor
Echenique, Patricia
Tenenbaum, Saúl
Echenique, Paula
CFE.IPA
CFE.IPA
Editorial
CFE, Departamento de MatemáticaMetadatos
Mostrar el registro completo del ítemResumen
¿Por qué incluir un lenguaje de programación en un curso de matemática?
¿Por qué un lenguaje de programación funcional? ¿Por qué Haskell?
“Hay una razón fundamental para el estudio integrado de matemática y programación: los
principios y técnicas para la resolución de problemas en una y otra disciplina, se aplican en
cualquiera de ellas. Esto sugiere que existe un conjunto de ideas que subyace y establece un
punto de contacto entre el comportamiento de los programas y el pensamiento matemático, y
que influencian el modo de pensar humano cuando se trata de resolver un problema utilizando
un computador. Este conjunto de ideas constituye un proceso de pensamiento llamado
resolución algorítmica de problemas.
En todas las épocas, las nuevas demandas que impone la tecnología, condicionan el desarrollo
de viejas teorías, que superándose a sí mismas, dan lugar a nuevos y profundos problemas y
exigen nuevas formas e ideas para lograr resolverlos. En las sociedades antiguas las
condiciones necesarias para pasar a la matemática superior, no existían ni podían existir; las
circunstancias adecuadas surgieron con el desarrollo de las ciencias naturales, condicionado a
su vez por los avances de la tecnología en los siglos XVI y XVII. El componente educativo es
parte vital de este proceso; sin él no hay transmisión de conocimiento, ni posibilidades de
supervivencia. El sistema educativo debe acompañar y adecuarse permanentemente al avance
teórico y sus aplicaciones en los diferentes campos científicos y tecnológicos. En los últimos
años, el desarrollo tecnológico ha puesto a nuestra disposición herramientas que permiten
realizar cómputos (cálculos) en forma automática, esto es, nos permiten aplicar distintas
instancias de un algoritmo para resolver diferentes problemas. Esto no significa de ninguna
manera que las nuevas herramientas simplifican la tarea ya sea del docente o del estudiante,
sino que muy por el contrario nos enfrentan a un desafío sumamente exigente: el de investigar
cómo enseñar y aprender a resolver nuevos problemas. Por ejemplo, el algoritmo de unión de
conjuntos, se enseña a través de su aplicación a conjuntos particulares. Contando con un
software que realice los cómputos necesarios para obtener la unión de conjuntos, pierde
sentido que los estudiantes continúen realizando la misma tarea. Lo interesante es que el
estudiante estudie el algoritmo genérico representado por la operación unión y aprenda a
construirlo mediante un programa. Podemos establecer un paralelismo entre esta situación y el
uso de las calculadoras en los cursos de la enseñanza primaria y media: son herramientas que
no enseñan a sumar o a dividir, pero que resultan muy poderosas para sumar y/o dividir,
cuando el objeto de estudio es la esencia de la aritmética y no la herramienta en sí.
Análogamente, tener un computador para ejecutar algoritmos, o para mostrar como esos
algoritmos funcionan, es una cosa, ser capaz de enfrentarse con la esencia de esos conceptos,
es otra. Tener clara esta distinción es especialmente importante hoy día dado que el énfasis
exagerado en las herramientas informáticas puede convertirlas en objeto de estudio en sí
mismas (plan ceibal).
La noción de algoritmo está presente en cursos tradicionales tanto de matemática como de
computación; por ejemplo, se estudian el algoritmo de Euclides, el algoritmo de Ruffini, el
algoritmo de Dijkstra, etc. En los cursos tradicionales de matemática se estudian funciones sin
relacionarlas con el concepto de algoritmo y mucho menos con el concepto de programa, el
cual está restringido a los cursos de computación. En los cursos modernos de matemática, que
integran un lenguaje de programación, el concepto de algoritmo se estudia como función y
como programa y los estudiantes aprenden el concepto matemático a través de su construcción
en la computadora. Esto representa un salto cualitativo importante desde el punto de vista del
aprendizaje y sus aplicaciones: el estudiante utiliza un manipulador simbólico (el computador)
en un contexto conceptual apropiado (un curso de matemática).
Los lenguajes funcionales han sido diseñados teniendo en cuenta el acercamiento entre
matemática y programación, lo cual hace que la sintaxis del lenguaje sea muy similar a la del
formalismo matemático y que la propiedad de transparencia referencial de las expresiones
matemáticas sea conservada en las expresiones del lenguaje de programación. Esto los hace
muy adecuados para su introducción en cursos de matemática, ya que no es necesario dedicar
demasiado tiempo al aprendizaje de una sintaxis muy distinta a la del lenguaje matemático.
Los lenguajes funcionales modernos se enmarcan en dos escuelas diferenciadas por la
implementación de las estrategias de evaluación de expresiones: estricta y perezosa. Haskell
pertenece a la segunda, que permite entre otras cosas, trabajar con objetos infinitos, lo que lo
convierte en un lenguaje excelente para el trabajo con Matemática Discreta. Haskell sintetiza
además las funcionalidades de los distintos lenguajes funcionales en su evolución hasta finales
de la década de los 80 en que la comunidad de programación funcional decidió su creación y
desarrollo, que no ha cesado desde entonces, convirtiéndolo en un lenguaje funcional de uso
extendido tanto en la industria como en el ámbito educativo”.
Dra. Sylvia Da Rosa
Colecciones
- Libros [102]