1. - Presentació -
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. Lisp, ML, 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. Propietats de programes lògics
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.2.5. Abstracció de control
4.2.6. Programació amb Script
4.2.7. Accions i Funcions
4.2.8. Pas de paràmetres
4.2.9. Abstracció de dades
4.2.10. TAD
4.2.11. OOP
4.3. C, JAVA, ...
4.4. Propietats de programes imperatius
5. Programació amb Scripts
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 tant en teoria com en pràctiques
- haver entregat totes les pràctiques
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.