Programación Funcional


Publicación de notas provisionales el miércoles 22 de Febrero de 2006

En esta página web se incluye información sobre la asignatura optativa Programación Funcional, correspondiente a las titulaciones de Ingeniero Técnico en Informática de Sistemas e Ingeniero Técnico en Informática de Gestión. La asignatura depende del Departamento de Sistemas Informáticos y Programación de la Facultad de Informática de la Universidad Complutense de Madrid.


El objetivo de la asignatura es introducir el estilo de programación funcional, capacitando a los alumnos para aplicarlo al tratamiento de algoritmos y estructuras de datos en aplicaciones de complejidad media. Existen multitud de documentos describiendo las ventajas de la programación funcional . Una motivación muy clásica de la necesidad de utilizar lenguajes funcionales puede encontrarse en el artículo de John Hughes, Why Functional Programming Matters, y otra aún más clásica es la charla impartida por John Backus al ser galardonado en 1977 con el premio Turing. Su conferencia Can Programming be Liberated from the Von Neumann Style? A Functional Style and Its Algebra of Programs en el acto de entrega del mencionado premio es todo un clásico.

El lenguaje de programación sobre el que se articula la asignatura es el lenguaje funcional perezoso Haskell, lenguaje para el que existen diversos compiladores e intérpretes de libre distribución, y que se ha convertido en el estándar de facto en el área de los lenguajes funcionales perezosos. Puede encontrarse una muy buena introducción al uso del lenguaje en A Gentle Introduction to Haskell.


Documentación del curso:
  • Temario de la asignatura
  • Introducción
  • Comenzando a programar


    Utilidades para programar:


    Hojas de ejercicios:


    Práctica:

    El 20% de la nota final del curso vendrá dado por la realización de una práctica. Salvo excepciones debidamente justificadas, la práctica se realizará en grupos de 2 alumnos. Cada grupo deberá proponer la práctica que van a realizar, que deberá ser distinta de las práctica de todos los demás grupos. Ejemplos de posibles prácas son las siguientes:

    Cada grupo deberá presentar una propuesta de práctica no más tarde del 18 de enero, y la práctica realizada se entregará no más tarde del momento en el que se realice el examen final de la asignatura en Febrero. Prácticas ya asignadas


    Enlaces a páginas sobre programación funcional:

    Dirección: Fernando Rubio Diez Departamento de Sistemas Informáticos y Programación Facultad de Informática Universidad Complutense C/. Profesor José García Santesmases, s/n 28040 Madrid Tfno: +34-91-3947629 Fax: +34-91-3947529
    e-mail: fernando@sip.ucm.es