Programació Declarativa (PD)
Professors Responsables: |
SILVIA INÉS CLERICI (silvia lsi.upc.edu)
|
|
Crèdits: 6.0 (3.0 T 1.5 P 1.5 L)
|
Departament:
LSI
|
Tipus d'assignatura
Optativa per la EI , ETIG
Requisits de l'assignatura
EDA
- Pre-requisit per la EI , ETIG
|
|
IL
- Pre-requisit per la EI , ETIG
|
|
Objectius docents
L'objectiu d'aquest curs és, d'una banda, fer una introducció a les dues classes més importants de llenguatges declaratius: aplicatius (o funcionals) i de programació lògica. Daltra banda, es vol que l'estudiant conegui les tècniques bàsiques de programació en aquestes classes de llenguatges.
Programa
1. Introducció
2. Programació Funcional
2.1 Conceptes bàsics 2.2 Introducció al lambda-càlcul 2.3 Formes d'avaluació (evaluació eager i lazy) 2.4 Matching, polimorfisme i ordre superior 2.5 Programació amb funcions d'ordre superior 2.6 Programació amb estructures de dades infinites 2.7 Deducció de tipus 2.8 El llenguatge Miranda
3. Programa Lògica
2.1 Conceptes bàsics 2.2 Unificació i resolució 2.3 Negació 2.4 Programació lògica amb restriccions (contraints) 2.5 Programació lògica amb funcions 2.6 El llenguatge Prolog
Avaluació
Les dues parts de l'assignatura (programació funcional i programació lògica) s'avaluan independenment. El pes relatiu de cada part és el 60% de programació funcional i el 40% de programació lògica i la nota mínima de cada una és un 4.Per altra banda, l'avaluació de cada part es basa en el resultat d'un examen de teoria i problemes i de l'entrega de pràctiques. Tant a l'examen com a les pràctiques és imprescindible treure com a mínim un 4.
Bibliografia
Bibliografia bàsica
- Clocksin, W.F.; Mellish, C.S Programació en Prolog Gustavo Gili, 1991 - Field, A.; Harrison, P Functional Programming Addison Wesley, 1988 - O'Keefe, R.A The Craft of Prolog MIT Press, 1990 - Reade, C Elements of Functional Programming Addison Wesley, 1989 - Bird, R Introducción a la Programación Funcional con Haskell Prentice Hall, 2000
|