Linguaggi di programmazione (2004/2005)

Corso a esaurimento

Codice insegnamento
4S00042
Docente
Roberto Giacobazzi
crediti
5
Altri corsi di studio in cui è offerto
Lingua di erogazione
Italiano
Periodo
2° Q dal 10-gen-2005 al 11-mar-2005.
Pagina Web
http://profs.sci.univr.it/~giaco/linguaggi.html

Orario lezioni

2° Q
Giorno Ora Tipo Luogo Note
giovedì 10.30 - 12.30 lezione Aula D  
venerdì 10.30 - 13.30 lezione Aula D  

Obiettivi formativi

Scopo del corso è quello di introdurre i concetti fondamentali che stanno alla base della progettazione ed implementazione di un linguaggio di programmazione moderno. In particolare si porrà l'attenzione sul ruolo centrale che hanno i tipi e la semantica (operazionale e denotazionale) nella fase di comprensione e progettazione di un linguaggio di programmazione, e di come sia possibile derivare sistematicamente interpreti e macchine astratte a partire da una corretta e ben formalizzata definizione del linguaggio.

Propedeuticità consigliate: Il corso ha come prerequisiti i corsi del I e II anno e la parte di linguaggi formali ed automi del corso di Fondamenti dell'Informatica. Il corso è propedeutico al corso di Compilatori.

Programma

# Interpreti e macchine astratte: interpretazione, compilazione, specializzazione
# Definizioni induttive, sistemi di transizione, teoremi di punto fisso
# Sintassi concreta, sintassi astratta, ambiente e memoria: i tipi di dato
# Semantica denotazionale ed operazionale
# Il linguaggio ML: specifica dell'interprete denotazionale ed operazionale
# L'interprete per un linguaggio di programmazione: interprete denotazionale, operazionale, iterativo.
# La gestione degli ambienti: linguaggi a blocchi
# L'interprete per un lunguaggio con funzioni e procedure
# L'interprete per un linguaggio ad oggetti
# Semantica statica e interpretazione: linguaggi fortemente tipati
# Gestione della memoria e del controllo

Modalità d'esame

Realizzazione di un progetto implementativo su specifiche fornite dal docente. Il progetto consiste nello sviluppo in OCAML di un interprete. L'esame consiste nella discussione del progetto. Il progetto di Linguaggi ha validita' annuale, ovvero fino al I appello del II quadrimestre A.A. 2005-06 escluso. La consegna del progetto, redatto secondo le seguenti specifiche ovvero composto dalle specifiche date dal docente, dalle specifiche che descrivano le scelte progettuali indivuduali operate, ed il codice sorgente in OCAML del progetto con eventuali esempi di funzionamento, e' fissata ad ogni appello dell'esame di Linguaggi presso lo studio del docente o presso un'aula da destinarsi. Oltre al I appello del II quadrimestre (Aprile 2005) e' fissata una consegna straordinaria a 2 settimane dal I appello, presso lo studio del Docente. L'esame consiste in una discussione del progetto con domande sul programma del corso. I gruppi non possono essere formati da piu' di 4 studenti. La formazione dei gruppi deve essere stabilita prima della fine del corso, ovvero prima del 15 Marzo 2005.

Materiale didattico

Documenti

Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 72.34% 23 3
Respinti --
Assenti 25.53%
Ritirati --
Annullati 2.12%
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
14.7% 0.0% 20.5% 5.8% 2.9% 8.8% 5.8% 11.7% 8.8% 11.7% 5.8% 0.0% 0.0% 2.9%

Valori relativi all'AA 2004/2005 calcolati su un totale di 47 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.