Año académico:

Anuncio
Asignatura:
Código:
Año académico:
Centro:
Departamento:
Área:
PROGRAMACIÓN LÓGICA Y FUNCIONAL
42998312
2008/09
ESCUELA POLITECNICA SUPERIOR
LENGUAJES Y COMPUTACION
LENGUAJES Y SISTEMAS INFORMÁTICOS
Titulación:
Ciclo:
Cuatrimestre:
Créditos teóricos:
INGENIERÏA EN INFORMATICA
1º
Curso:
2º
Carácter: OPTATIVA
3
Créditos prácticos: 3
Profesorado: JESÚS MANUEL ALMENDROS JIMÉNEZ
Objetivos Generales: Fundamentos de programación Lógica y Funcional.
Conocimientos Previos Recomendados: Programación. Estructuras de Datos.
Contenidos teóricos (Temporización):
1.-Introducción.
2.-Programación Lógica: Cláusulas de Horn, Hechos, Consultas, Reglas, Ejemplos.
3.-Prolog: Términos Prolog, Árbol de Búsqueda Prolog, Números Naturales, Listas, Árboles.
4.-Teoría: Resolución, Resolvente, Derivación, Refutación, Árboles SLD.
4.-Programación en Prolog: Terminación, Soluciones, Metapredicados, Corte, Negación, Lectura y
Escritura.
5.-Programación Funcional. Tipos. Funciones. Expresiones. Reescritura. Listas. Entrada y Salida.
Evaluación Perezosa. Orden Superior.
6.- Introducción a la Programación Lógico-Funcional.
Contenidos prácticos (Temporización):
Desarrollo de aplicaciones en Prolog.
Desarrollo de aplicaciones en Haskell.
Bibliografía:
R. Bird, Introduction to Functional Programming using Haskell, 2nd edition, Prentice Hall Europe, 1998. (1st edition
by R. Bird and P. Wadler, Prentice Hall, 1988.)
S. Thompson, Haskell: The Craft of Functional Programming, 2nd edition, Addison-Wesley, 1999.
P. Hudak, The Haskell School of Expression: Learning Functional Programming through Multimedia, Cambridge
University Press, 2000.
F. Rabhi and G. Lapalme, Algorithms. A Functional Programming Approach, 2nd edition, Addison Wesley, 1999.
C. Reade, Elements of Functional Programming, Addison Wesley, 1989.
K. Doets, From Logic to Logic Programming, The MIT Press, 1994.
L. Sterling and E.Shapiro, The Art of Prolog: Advanced Programming Techniques, The MIT Press, 1986.
D. Maier and D.S. Warren, Computing with Logic. Logic Programming with Prolog, Benjamin Cummings, 1988
Metodología:
Se pretende que el alumno diseñe e implemente programas lógicos y funcionales. En la parte teórica se
explican los fundamentos de la programación lógica y funcional, y en la parte práctica los alumnos en
grupos desarrollan pequeñas aplicaciones en estos lenguajes. La implementación se realiza en Prolog y
Haskell.
Plan de acción tutorial:
Seguimiento de las aplicaciones desarrolladas por parte del profesor.
Evaluación:
Entrega de prácticas y examen final.
Observaciones:
Descargar