Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Piano Didattico

Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.

2° Anno  Attivato nell'A.A. 2015/2016

InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta tra i seguenti

3° Anno  Attivato nell'A.A. 2016/2017

InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
Un insegnamento a scelta tra i seguenti
Prova finale
6
E
-
Attivato nell'A.A. 2015/2016
InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta tra i seguenti
Attivato nell'A.A. 2016/2017
InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
Un insegnamento a scelta tra i seguenti
Prova finale
6
E
-

Legenda | Tipo Attività Formativa (TAF)

TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S02726

Crediti

12

Coordinatore

Roberto Giacobazzi

Lingua di erogazione

Italiano

L'insegnamento è organizzato come segue:

LINGUAGGI

Crediti

6

Periodo

I sem.

COMPILATORI

Crediti

6

Periodo

II sem.

Obiettivi formativi

Scopo del corso è quello di insegnare il funzionamento e l'implementazione dei principali costrutti dei linguaggi di programmazione con una panoramica dei vari linguaggi, dai linguaggi imperativi, ai linguaggi ad oggetti, dai linguaggi funzionali ai linguaggi logici. Lo studente sarà chiamato a sviluppare sotto la guida del docente un interprete per un linguaggio ad oggetti imperativo-funzionale, implementato in OCAML.

Programma

Introduzione al corso, Basi matematiche, teoremi di punto fisso, Macchine astratte, Semantica operazionale, Semantica denotazionale, Il Linguaggio OCAML, Tipi di dato, Espressioni, blocchi, funzioni e procedure, Classi e Oggetti (slides), Passaggio dei parametri, Gestione della memoria.

Bibliografia

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Aho, A.V. and Lam, M.S. and Sethi, R. and Ullman, J.D. Compilatori: Principi, tecniche e strumenti (Edizione 2) Pearson 2009 978-88-7192-559-2
Torben Egidius Mogensen Introduction to Compiler Design Springer-Verlag London 2011 978-0-85729-828-7

Modalità d'esame

L’esame di Linguaggi e Compilatori consiste nello svolgimento di un progetto di Linguaggi, l’esame di Compilatori (da definire a cura del Docente titolare) ed un orale individuale. Il voto finale è la media delle prove arrotondata per eccesso.

Per la parte di Linguaggi, l’esame consiste nella realizzazione di uno dei progetti sotto proposti. I gruppi (massimo 3 studenti) dovranno sviluppare il progetto scelto, producendo un elaborato scritto (possibilmente in inglese) che riporti le specifiche e la implementazione del progetto scelto, comprensivo di una fase di testing del progetto su alcuni esempi che si ritengono significativi. I gruppi sono liberi di interpretare quanto non specificato nella consegna del progetto secondo il loro gusto e le loro scelte progettuali. La valutazione del progetto riguarderà: grado di originalità (anche rispetto ad altri progetti), qualità delle scelte progettuali, livello di dettaglio dell’elaborato scritto, e significatività degli esempi proposti per verificare la corretta implementazione del progetto. Agli studenti, in fase di esame orale, sarà richiesto di eseguire le specifiche sugli esempi proposti.
I progetti possono essere consegnati in una qualsiasi nelle date di appello definite a calendario, per la parte di Linguaggi a iniziare dal primo appello di Febbraio. Gli orali saranno svolti nelle date di appello definite a calendario. La validità dei progetti di Linguaggi svolti è di 1 anno accademico. Eventuali appelli straordinari possono essere richiesti ed attivati solo su richiesta di almeno 3 gruppi. Contattare il Tutor (Emanuele Falzone) per la composizione dei gruppi. Una volta costituito il gruppo gli studenti dovranno scegliere uno dei progetti indicati dal docente e comunicarlo al Tutor per email.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI