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.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
2° Anno Attivato nell'A.A. 2015/2016
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
3° Anno Attivato nell'A.A. 2016/2017
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
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.
Linguaggi e compilatori (2016/2017)
Codice insegnamento
4S02726
Crediti
12
Coordinatore
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
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
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.