1. - Presentació, Llenguatges de Programació -
1.1. Què és un Llenguatge de Programació
1.2. Possibles Classificacions
1.3. Paradigmes
1.3.1. Imperatiu
1.3.2. Funcional
1.3.3. Lògic
1.3.4. Altres
1.4. Història i evolució
1.5. Definició del Llenguatge
1.5.1. Lèxic
1.5.2. Sintàctic
1.5.3. Semàntic
1.6. Traducció per a l'execució
1.6.1. Compilació
1.6.2. Interpretació
2. - Paradigma Funcional -
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. Haskell
2.7. Propietats de programes funcionals
3. - Paradigma Lògic -
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. Programació lògica amb Restriccions
4. - Paradigma Imperatiu -
4.1. Introducció
4.2. Model de Còmput: Màquines de Turing/Arquitectura Von Newman
4.2.1. Estat
4.2.2. Expressions i instruccions
4.2.3. Tipus d'expressions, notacions
4.2.4. Assignació i control de flux
4.3. Abstracció de control
4.3.1. Accions i Funcions
4.4. Pas de paràmetres
4.5. Abstracció de dades
4.5.1. TAD
4.5.2. OOP
4.6. C, JAVA, ...
4.7. Propietats de programes imperatius
La nota final de l'assignatura s'obtindrà a parts iguals de
teoria i de pràctica, essent obligatori per a aprobar:
- tenir una nota >= 4,5 tant en teoria com en pràctiques
- haver superat l'avaluació pràctica
Teoria:
la nota de teoria s'obtindrà bàsicament d'un exàmen final, tot i que es podrà recolzar també en "petits exercicis" proposats d'una sessió per l'altra, i també amb el seguiment que es faci de l'assignatura per part de l'alumne i que el professor controlarà mitjançant la participació a classe.
Pràctiques:
la nota de pràctiques s'obtindrà bàsicament mitjançant l'elaboració de pràctiques en els llenguages explicats a laboratori que seran: Haskell i Prolog. També, segons disponibilitat, es podrà fer un exàmen pràctic amb l'ordinador que complementaria la nota.