Linguaggi e compilatori - LINGUAGGI (2014/2015)

Codice insegnamento
4S02726
Docente
Isabella Mastroeni
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
I sem. dal 1-ott-2014 al 30-gen-2015.

Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare * organizzazione dell'insegnamento

Orario lezioni

I sem.
Giorno Ora Tipo Luogo Note
lunedì 14.30 - 17.30 lezione Aula C  
giovedì 14.30 - 16.30 lezione Aula B  

Obiettivi formativi

Il corso introduce i concetti fondamentali dei linguaggi di programmazione, quali funzioni, tipi, gestione della memoria, e controllo. L’obiettivo è dare agli studenti una comprensione approfondita dei problemi che si incontrano nella progettazione dei linguaggi di programmazione. Questa comprensione permette agli studenti di cogliere vantaggi e svantaggi dei linguaggi che usano, in modo da saper valutare la scelta del linguaggio di programmazione piu' appropriato rispetto all’applicazione che si vuole realizzare.

Programma

Funzioni. Macchine virtuali: interpreti e compilatori.
Descrizione di un linguaggio di programmazione: sintassi: grammatiche non contestuali. Semantica operazionale strutturata.
Gestione della memoria: regole di visibilità, funzioni e procedure, passaggio di parametri, stack record di attivazione, heap.
Controllo: strutturazione ed astrazione, eccezioni.
Dati e tipi: tipi di dato, tipi di base e composti, sistema dei tipi, inferenza di tipo e polimorfismo, garbage collection.
Esempi di paradigmi di programmazione.

Modalità d'esame

Esame scritto con orale facoltativo (che diventa obbligatorio per ottenere/confermare un voto allo scritto maggiore di 26/30).