1. - Presentació - (7 hores)
1.1. Què és un Llenguatge de Programació
1.2. Possibles Classificacions
1.2.1. Paradigmes
1.2.2. Imperatiu
1.2.3. Funcional
1.2.4. Lògic
1.2.5. Altres
1.3. Història i evolució
1.4. Definició del Llenguatge
1.4.1. Lèxic
1.4.2. Sintàctic
1.4.3. Semàntic
1.5. Traducció per a l'execució
1.5.1. Compilació
1.5.2. Interpretació
2. - Paradigma Funcional - (20 hores)
2.1. Introducció
2.2. Model de Còmput: lambda-càlcul simple no tipat
2.2.1. lambda-termes
2.2.2. substitució
2.2.3. lambda-teoria
2.3. lambda-definibilitat
2.4. lambda-càlcul tipat
2.5. inferència de tipus
2.6. Lisp, ML, Haskell
2.7. Propietats de programes funcionals
3. - Paradigma Lògic - (20 hores)
3.1. Introducció
3.2. Model de Còmput: lògica de primer ordre
3.2.1. Fórmules lògiques
3.2.2. Unificació
3.2.3. Resolució, SLD-resolució
3.3. Prolog
3.4. Resolució de restriccions
3.5. Propietats de programes lògics
4. Programació Orientada a Objectes - (5 hores)
4.1. Tipatge, dispatching, herència,...
4.2. Problemes amb el tipatge
5. - Semàntica – (5 hores)
NOTA FINAL:
La nota final de l'assignatura s'obtindrà a partir d'un 60% de
la nota de teoria i un 40% de la nota de pràctiques (d'aquest 40%, un 75% són de les pràctiques i l'altre 25% de la part de laboratori de l'exàmen), essent necessari per aprobar:
- tenir les pràctiques presentades i acceptades
- tenir una nota superior o igual a 5 en cada part
TEORIA:
la nota de teoria s'obtindrà mitjançant un exàmen final.
PRÀCTICA:
la nota de pràctiques s'obtindrà mitjançant la realització de pràctiques en els llenguatges explicats a laboratori: Haskell i Prolog, i d'un exàmen pràctic.
EXERCICIS de SEGUIMENT:
la nota final es podrà arrodonir a l'alça mitjançant el lliurament de petits exercicis de seguiment proposats pel professor de sessió en sessió.
Criteris específics de la nota «No Presentat»:
No haver presentat alguna de les proves obligatòries: exàmen o pràctiques, implicarà tenir qualifiació de No Presentat.