Docente: G. Pasi, C. Simone
Crediti: 6 CFU
Descrizione e Programma del Corso
Conoscenze: Completare le conoscenze acquisite nei corsi di Programmazione e di Architetture degli Elaboratori con concetti di base per una migliore comprensione delle caratteristiche ed un migliore uso dei linguaggi di programmazione che appartengono ai diversi paradigmi esistenti.
Abilità: Generazione e riconoscimento di linguaggi regolari e liberi da contetso. Elementi essenziali della programmazione in Lisp e Prolog. Definizione di specifiche di programmi concorrenti
Testi di riferimento:
- Carlo Ghezzi, Mehdi Jazayeri, Programming Language Concepts, John Wiley and Sons 1998, terza edizione (per il Moldulo 1: cap. 1, §2.1; per il modulo 4: cap. 7; per il Modulo 5: cap. 8)
- J. Magee & J. Kramer, "Concurrency: State Models and Java Programs", Wiley, 1999 ISBN 0-471-98710-7 (per il Modulo 3)
- P. Graham, ANSI Common Lisp, Prentice-Hall, ISBN 0133708756 (per il Modulo 4)
- L. Sterling, E. Shapiro, The Art of Prolog, MIT Press, ISBN: 0262193388; 2nd edition (per il Modulo 5)
Il materiale didattico verrà reso reperibile durante le lezioni.
Modalità d'esame: prova scritta seguita da un orale, previa presentazione e discussione di un progetto assegnato di programmazione in Lisp e in Prolog.
Per ulteriori informazioni sul corso rivolgersi direttamente i docenti.
Programma:
- Paradigmi di programmazione: imperativa, funzionale, logica
- Grammatiche regolari e libere da contesto
- Sintassi, semantica: traduttori ed interpreti
- Elementi di base della programmazione concorrente: definizione delle specifiche di un programma.
- Elementi di base della programmazione in Lisp
- Elementi di base della programmazione in Prolog
Vai al sito web del corso