Semantics (2005/2006)

Course partially running

Course code
4S00065
Name of lecturer
Andrea Masini
Number of ECTS credits allocated
5
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Period
not yet allocated

Learning outcomes

Scopo del corso è quello di introdurre le principali tecniche matematiche usate nello studio dei linguaggi di programmazione:

* sistemi di tipi
* semantica operazionale
* domini
* semantica denotazionale

Il corso si rivolge a studenti con uno spiccato interesse per l'informatica teorica.

Il corso presuppone le competenze acquisite nei corsi di "Programmazione", "Logica", "Algebra", "Linguaggi di Programmazione" e "Fondamenti dell'informatica" della laurea triennale in informatica.

Syllabus

1 semantica operazionale
1.1 il linguaggio IMP
1.2 regole di valutazione
2 principi di induzione
2.1 induzione matematica, strutturale e ben fondata
2.2 induzione sulle derivazioni
2.3 definizioni per induzione
3 definizioni induttive
3.1 regole e induzione
3.2 regole di prova per la semantica operazionale
3.3 operatori e punti fissi
4 semantica denotazionale di IMP
4.1 semantica denotazionale
4.2 confronto con la semantica operazionale
4.3 ordini parziali completi (cpo)
4.4 teorema di Knaster-Tarski di punto fisso
5 introduzione alla teoria dei domini
5.1 costruzione di cpo
5.2 un metalinguaggio per la teoria dei domini
6 la ricorsione
6.1 il linguaggio REC
6.1 call-by value e call-by-name (semantiche operazionali e denotazionali)
7 linguaggi tipati
7.1 tipi
7.2 un linguaggio call-by-value: semantica operazionale e denotazionale
7.3 un linguaggio call-by-name: semantica operazionale e denotazionale
7.5 confronto delle semantiche operazionali e denotazionali

Reference books
Author Title Publisher Year ISBN Note
G. Winskel The formal Semantics of Programming Languages MIT Press 1993

Assessment methods and criteria

L'esame consiste in una prova orale