Linguaggi di programmazione (2005/2006)

Corso disattivato non visibile

Codice insegnamento
4S00042
Docente
Maria Paola Bonacina
crediti
5
Altri corsi di studio in cui è offerto
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
2° Q dal 8-gen-2006 al 9-mar-2006.
Pagina Web
http://profs.sci.univr.it/~bonacina/teachingUniVR/LingProg2005-06.html

Orario lezioni

Obiettivi formativi

Il corso insegna i concetti fondamentali che stanno alla base della progettazione ed implementazione di un linguaggio di programmazione. Si studia il ruolo centrale dei tipi e della semantica, operazionale e denotazionale, nella comprensione e progettazione di un linguaggio di programmazione. Si impara a derivare sistematicamente interpreti e macchine astratte da una corretta e ben formalizzata definizione del linguaggio. Il corso ha come prerequisiti i corsi del I e II anno ed è propedeutico al corso di "Compilatori".

Programma

Interpreti e macchine astratte;
Descrizione formale di un linguaggio di programmazione: sintassi e semantica;
Introduzione al linguaggio ML;
Ambiente: nomi e tipi;
Gestione della memoria;
Controllo: strutturazione ed astrazione;
Dati: strutturazione ed astrazione;
Riesame del paradigma orientato a oggetti (opzionale);
Cenni ai paradigmi funzionale e logico (opzionale).

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Jeffrey D. Ullman Elements of ML Programming (Edizione 2) Prentice Hall 1998 0-13-79038 Libro di riferimento per il linguaggio ML
Maurizio Gabbrielli, Simone Martini Linguaggi di programmazione: principi e paradigmi (Edizione 2) McGraw Hill 2011 88-386-626 Adottato
Lawrence C. Paulson ML for the Working Programmer (Edizione 2) Cambridge University Press 1996 0-521-5654 Libro di riferimento per il linguaggio ML
Guy Cousineau, Michel Mauny The functional approach to programming (Edizione 1) Cambridge University Press 1998 0-521-5768 Libro di riferimento per il linguaggio ML
Xavier Leroy et al. The Objective Caml System 2004 Sito del linguaggio OCAML

Modalità d'esame

Esame mediante prove parziali:
questa modalità vale solo per il primo appello dopo la fine delle lezioni, ovvero per la sessione di marzo 2006, essendo il corso nel II quadrimestre. In questa modalità, l'esame consta di due compiti scritti di due ore ciascuno (C1 e C2). Il voto d'esame è dato da: 50% C1 + 50% C2. Passato il primo appello dopo la fine delle lezioni, le prove parziali non valgono più nulla.

Esame senza prove parziali:
in questa modalità, l'esame consta di un unico compito scritto (E), di difficoltà tale da uguagliare C1 + C2, il cui voto determina il voto d'esame. Questa modalità vale per tutti gli appelli, incluso il primo dopo la fine delle lezioni. Tuttavia chi sostiene l'esame E al primo appello perde il voto maturato con 50% C1 + 50% C2.

Nota: il primo compito (C1) si terrà tentativamente l'8 febbraio 2006; il secondo compito (C2) si terrà nella stessa data, ora e luogo dell'esame E della sessione di marzo (naturalmente contenuto e durata di C2 ed E saranno diversi).

Registrazione: a ogni sessione d'esame ci saranno due date: una per lo scritto ed una per registrare il voto. Per chi sostiene l'esame e lo registra nella stessa sessione, è sufficiente iscriversi alla prima. Iscriversi alla seconda data è necessario per chi ha sostenuto l'esame in una sessione precedente, ma non lo ha registrato.

Regolamento: tutti gli elaborati sono individuali; è severamente vietato copiare e scambiare/passare/condividere codice. Tutti gli elaborati che mostrano di essere stati copiati ricevono voto 0, senza distinzione tra chi copia e chi fa copiare.

Condividi