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.
Calendario accademico
Il calendario accademico riporta le scadenze, gli adempimenti e i periodi rilevanti per la componente studentesca, personale docente e personale dell'Università. Sono inoltre indicate le festività e le chiusure ufficiali dell'Ateneo.
L’anno accademico inizia il 1° ottobre e termina il 30 settembre dell'anno successivo.
Calendario didattico
Il calendario didattico indica i periodi di svolgimento delle attività formative, di sessioni d'esami, di laurea e di chiusura per le festività.
Periodo | Dal | Al |
---|---|---|
I semestre | 1-ott-2020 | 29-gen-2021 |
II semestre | 1-mar-2021 | 11-giu-2021 |
Sessione | Dal | Al |
---|---|---|
Sessione invernale d'esame | 1-feb-2021 | 26-feb-2021 |
Sessione estiva d'esame | 14-giu-2021 | 30-lug-2021 |
Sessione autunnale d'esame | 1-set-2021 | 30-set-2021 |
Sessione | Dal | Al |
---|---|---|
Sessione Estiva | 15-lug-2021 | 15-lug-2021 |
Sessione Autunnale | 15-ott-2021 | 15-ott-2021 |
Sessione Invernale | 15-mar-2022 | 15-mar-2022 |
Periodo | Dal | Al |
---|---|---|
Festa dell'Immacolata | 8-dic-2020 | 8-dic-2020 |
Vacanze Natalizie | 24-dic-2020 | 3-gen-2021 |
Epifania | 6-gen-2021 | 6-gen-2021 |
Vacanze Pasquali | 2-apr-2021 | 5-apr-2021 |
Santo Patrono | 21-mag-2021 | 21-mag-2021 |
Festa della Repubblica | 2-giu-2021 | 2-giu-2021 |
Calendario esami
Gli appelli d'esame sono gestiti dalla Unità Operativa Segreteria Corsi di Studio Scienze e Ingegneria.
Per consultazione e iscrizione agli appelli d'esame visita il sistema ESSE3.
Per problemi inerenti allo smarrimento della password di accesso ai servizi on-line si prega di rivolgersi al supporto informatico della Scuola o al servizio recupero credenziali
Docenti
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.
Insegnamenti | Crediti | TAF | SSD |
---|
1° Anno
2° Anno Attivato nell'A.A. 2021/2022
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
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.
Fondamenti di linguaggi di programmazione e specifica (2020/2021)
Codice insegnamento
4S008895
Crediti
12
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
L'insegnamento è organizzato come segue:
Teoria
Laboratorio
Obiettivi formativi
L’insegnamento si propone di fornire le basi teoriche dei linguaggi di programmazione appartenenti a tre diversi paradigmi di programmazione: imperativo, funzionale e concorrente. In particolare, vengono affrontate le seguenti tematiche: (i) tecniche per la definizione di sintassi e semantiche formali, (ii) logiche per esprimere proprietà formali di buon comportamento di programmi, (iii) strumenti per l'analisi statica dei programmi, (iv) nozioni di equivalenze comportamentali tra programmi. Al termine del corso, lo studente sarà in grado di definire formalmente un nuovo linguaggio di programmazione, anche in un contesto di ricerca, attraverso sintassi, semantica formale e sistemi di tipi per l’analisi statica della correttezza dei programmi scritti nel linguaggio. Sarà inoltre in grado di esprimere attraverso linguaggi logici proprietà di buon comportamento dei programmi. Queste conoscenze consentiranno allo studente di: i) provare formalmente proprietà di correttezza di un'arbitraria semantica usando tecniche diverse di induzione; ii) provare formalmente se un programma soddisfa una determinata proprietà di buon comportamento; iii) provare formalmente la correttezza di un sistema di tipi; iv) padroneggiare equivalenze comportamentali semantiche al fine di confrontare il comportamento, a tempo di esecuzione, di due programmi diversi. Al termine del corso lo studente sarà in grado di: i) confrontare linguaggi diversi e scegliere tra questi il più adeguato a seconda del contesto d'uso e di fare le scelte progettuali più appropriate in fase di definizione di un nuovo linguaggio; ii) proseguire gli studi nell’ambito dei linguaggi di programmazione e dello sviluppo di software in maniera autonoma.
Programma
Prima parte.
• Introduzione. Sistemi di transizione. La nozione di semantica operazionale strutturale. Sistema di transizioni per fornire la semantica operazionale di un semplice linguaggio imperativo. Opzioni per la progettazione di un linguaggio. Esercizi.
• Tipi. Introduzione ad un sistema formale di tipaggio. Tipaggio per un semplice linguaggio imperativo. Proprietà di buon comportamento di programmi ben tipati. Esercizi.
• Induzione. Rivisitazione dell'induzione matematica. Alberi di sintassi astratta e induzione strutturale. Definizioni induttive guidate da un sistema di inferenze e "rule induction". Prove di proprietà di safety. Esercizi.
• Linguaggi funzionali. Estensione del linguaggio base per la rappresentazione di funzioni higher-order. Tipaggio dell'estensione funzionale e semantica operazionale in modalità call-by-value e call-by-name. Esercizi.
• Data. Semantica e tipaggio per strutture dati di tipo prodotto, somma, records, riferimenti. Esercizi.
• Sottotipaggio. Sottotipaggio dei record, funzioni, e codifica di un semplice linguaggio ad oggetti. Esercizi.
• Equivalenze semantiche. Equivalenze semantiche per frammenti di un semplice linguaggio imperativo. La proprietà di congruenza di un'equivalenza semantica. Esempi di frammenti di programma equivalenti e non. Esercizi.
• Concorrenza. Interleaving con variabili condivise. Semantica per semplici mutex. Una proprietà di serializzazione. Equivalenze semantiche in linguaggi concorrenti. Esercizi.
Seconda parte.
• Relazioni di ordinamento, reticoli, teoremi del punto fisso. Esercizi.
• Semantica denotazione di un linguaggio di programmazione imperativo. Esercizi.
• Esempi di proprietà di programmi e linguaggi di specifica. Esercizi.
• Logica di Hoare (completezza e incompletezza); correttezza parziale/totale. Esercizi.
• Decidibilità, safety, liveness, e sicurezza. Esercizi.
• Semantica a tracce - strutture di Kripke. Esercizi.
• Elementi di logiche temporali. Esercizi.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Teoria | Dovier A. Giacobazzi R. | Fondamenti dell'Informatica: Linguaggi Formali, Calcolabilità e Complessità. | Bollati Boringhieri | 2020 | 9788833933795 | |
Teoria | Peter Sewell | Semantics of Programming Languages (Edizione 6) | Cambridge University Press | 2019 | ||
Teoria | Aaron R. Bradley, Zohar Manna | The Calculus of Computation - Decision Procedures with Applications to Verification (Edizione 1) | Springer | 2007 | 9783540741 | |
Teoria | G. Winskel | The formal Semantics of Programming Languages | MIT Press | 1993 |
Modalità d'esame
Per superare l'esame lo studente dovrà dimostrare di essere in grado di:
* definire, attraverso regole di inferenza, semantiche operazionali e sistemi di tipo per semplici linguaggi imperativi, funzionali e concorrenti;
* provare formalmente proprietà su un'arbitraria semantica operazionale usando tecniche diverse di induzione (matematica, strutturale, rule-based);
* conoscere e usare diverse nozioni di equivalenze semantica per confrontare il comportamento di programmi scritti in linguaggi imperativi, funzionali e concorrenti.
L'esame consiste in una prova scritta composta da 3 esercizi. Lo svolgimento corretto di tutti gli esercizi consente di conseguire una votazione di 30/30.
Tipologia di Attività formativa D e F
Le attività formative in ambito D o F comprendono gli insegnamenti impartiti presso l'Università di Verona o periodi di stage/tirocinio professionale.
Nella scelta delle attività di tipo D, gli studenti dovranno tener presente che in sede di approvazione si terrà conto della coerenza delle loro scelte con il progetto formativo del loro piano di studio e dell'adeguatezza delle motivazioni eventualmente fornite.
anni | Insegnamenti | TAF | Docente |
---|---|---|---|
1° 2° | Linguaggio Programmazione Matlab-Simulink | D |
Bogdan Mihai Maris
(Coordinatore)
|
1° 2° | Sfide di programmazione | D |
Romeo Rizzi
(Coordinatore)
|
anni | Insegnamenti | TAF | Docente |
---|---|---|---|
1° 2° | Introduzione alla stampa 3D | D |
Franco Fummi
(Coordinatore)
|
1° 2° | Linguaggio programmazione Python | D |
Vittoria Cozza
(Coordinatore)
|
1° 2° | Progettazione di componenti hardware su FPGA | D |
Franco Fummi
(Coordinatore)
|
1° 2° | Prototipizzazione con Arduino | D |
Franco Fummi
(Coordinatore)
|
1° 2° | Tutela dei beni immateriali (SW e invenzione) tra diritto industriale e diritto d’autore | D |
Roberto Giacobazzi
(Coordinatore)
|
anni | Insegnamenti | TAF | Docente |
---|---|---|---|
1° 2° | Lab.: The fashion lab (1 cfu) | D |
Maria Caterina Baruffi
(Coordinatore)
|
1° 2° | Minicorso Blockchain | D |
Nicola Fausto Spoto
(Coordinatore)
|
Prospettive
Avvisi degli insegnamenti e del corso di studio
Per la comunità studentesca
Se sei già iscritta/o a un corso di studio, puoi consultare tutti gli avvisi relativi al tuo corso di studi nella tua area riservata MyUnivr.
In questo portale potrai visualizzare informazioni, risorse e servizi utili che riguardano la tua carriera universitaria (libretto online, gestione della carriera Esse3, corsi e-learning, email istituzionale, modulistica di segreteria, procedure amministrative, ecc.).
Entra in MyUnivr con le tue credenziali GIA: solo così potrai ricevere notifica di tutti gli avvisi dei tuoi docenti e della tua segreteria via mail e a breve anche tramite l'app Univr.
Prova Finale
Scadenziari e adempimenti amministrativi
Per gli scadenziari, gli adempimenti amministrativi e gli avvisi sulle sessioni di laurea, si rimanda al servizio Sessioni di laurea - Scienze e Ingegneria.
Necessità di attivare un tirocinio per tesi
Per stage finalizzati alla stesura della tesi di laurea, non è sempre necessaria l'attivazione di un tirocinio tramite l'Ufficio Stage. Per maggiori informazioni, consultare il documento dedicato, che si trova nella sezione "Documenti" del servizio dedicato agli stage e ai tirocini.
Regolamento della prova finale
Alla tesi di laurea sono dedicati 24 CFU, per un lavoro che non deve superare i 4-5 mesi a tempo pieno per la/o studentessa/studente.
Scopo della Tesi di Laurea
La Tesi di Laurea costituisce un importante ed imprescindibile passo nella formazione della/del futura/o laureata/o Magistrale in Ingegneria e Scienze Informatiche. Scopo della tesi è quello di sviluppare uno studio quanto più originale che può culminare con un progetto applicativo o un risultato teorico connesso a specifici problemi di natura progettuale o una rassegna critica sullo stato dell'arte in un determinato ambito di studio. Su proposta della/del relatrice/relatore, può essere compilato e discusso in lingua straniera. Nel corso dello svolgimento della Tesi il laureando dovrà, sotto la guida della relatrice/relatore ed eventuali correlatrici/correlatori, affrontare lo studio e l'approfondimento degli argomenti scelti, ma anche acquisire capacità di sintesi e applicazione creativa delle conoscenze acquisite. Il contenuto della Tesi deve essere inerente a tematiche dell'ingegneria e delle Scienze Informatiche o discipline strettamente correlate. La Tesi consiste nella presentazione in forma scritta di attività che possono essere articolate come:
- progettazione e sviluppo di applicazioni o sistemi;
- analisi critica di contributi tratti dalla letteratura scientifica;
- contributi originali di ricerca.
La Tesi può essere redatta sia in lingua inglese che in lingua italiana, e può essere discussa sia in inglese che in italiano, anche mediante l'ausilio di supporti multimediali quali slide, filmati, immagini e suoni. Nel caso di tesi redatta in lingua italiana alla medesima dovrà essere aggiunto un breve riassunto in lingua inglese.
Modalità di svolgimento e valutazione
Ogni Tesi di Laurea può essere interna o esterna a seconda che sia svolta presso l'Università di Verona o in collaborazione con altro ente, rispettivamente. Ogni Tesi prevede una/un relatrice/relatore eventualmente affiancata/o da una/uno o più correlatrici/correlatori e una/un controrelatrice/controrelatore. La/il controrelatrice/controrelatore è nominata/o dal Collegio Didattico di Informatica almeno 20 giorni prima della discussione della Tesi, verificata l'ammissibilità della/o studentessa/studente a sostenere l’esame di Laurea Magistrale. Per quanto riguarda gli aspetti giuridici (e.g., proprietà intellettuale dei risultati) legati alla Tesi e ai risultati ivi contenuti si rimanda alla legislazione vigente in materia ed ai Regolamenti di Ateneo.
Valutazione delle Tesi
I criteri su cui sono chiamati ad esprimersi relatore ed eventuali correlatori e controrelatore sono i seguenti:
- livello di approfondimento del lavoro svolto, in relazione allo stato dell'arte dei settori disciplinari di pertinenza informatica;
- avanzamento conoscitivo o tecnologico apportato dalla Tesi;
- impegno critico espresso dalla/dal laureanda/o;
- impegno sperimentale e/o di sviluppo formale espresso dal laureando;
- autonomia di lavoro espressa dalla/dal laureanda/o;
- significatività delle metodologie impiegate;
- accuratezza dello svolgimento e della scrittura;
- la/il controrelatrice/controrelatore non è chiamata/o ad esprimersi sul punto 5.
Voto di Laurea
Il voto di Laurea (espresso in 110mi) è un valore intero compreso tra 66/110 e 110/110 e viene formato dalla somma, arrotondata al numero intero più vicino (e.g., 93.50 diventa 94, 86.49 diventa 86), dei seguenti addendi:
- 1. media pesata sui crediti e rapportata a 110 dei voti conseguiti negli esami di profitto;
- 2. valutazione del colloquio di Laurea e della Tesi secondo le seguenti modalità:
- a. attribuzione di un coefficiente compreso tra 0 e 1 (frazionario con una cifra decimale) per ciascuno dei punti 1-7 elencati sopra;
- b. attribuzione di un coefficiente compreso tra 0 e 1 (frazionario con una cifra decimale) per la qualità della presentazione;
- c. somma dei coefficienti attribuiti ai punti a e b.
La presenza di eventuali lodi ottenute negli esami sostenuti, la partecipazione a stage ufficialmente riconosciuti dal Collegio Didattico di Informatica, il superamento di esami in soprannumero ed il raggiungimento della Laurea in tempi contenuti rispetto alla durata legale del corso degli studi possono essere utilizzati dalla Commissione di Laurea per attribuire un ulteriore incremento di un punto.
Qualora la somma ottenuta raggiunga 110/110, la Commissione può decidere l'attribuzione della lode. La lode viene proposta e discussa dalla Commissione, senza l'adozione di particolari meccanismi di calcolo automatico. In base alle norme vigenti, la lode viene attribuita solo se il parere è unanime.
Tesi esterne
Una Tesi esterna viene svolta in collaborazione con un ente diverso dall'Università di Verona. In tal caso, la/il laureanda/o dovrà preventivamente concordare il tema della Tesi con una/un relatrice/relatore dell'Ateneo. Inoltre, è previsto almeno una/un correlatrice/correlatore appartenente all'ente esterno, quale riferimento immediato per la/o studentessa/studente nel corso dello svolgimento dell’attività di Tesi. Relatrice/relatore e correlatrici/correlatori devono essere indicate/i nella domanda di assegnazione Tesi. Le modalità assicurative della permanenza della/o studentessa/studente presso l'Ente esterno sono regolate dalle norme vigenti presso l'Università di Verona. Se la Tesi si configura come un periodo di formazione presso tale ente, allora è necessario stipulare una convenzione tra l'Università e detto ente. I risultati contenuti nella Tesi sono patrimonio in comunione di tutte le persone ed enti coinvolti. In particolare, i contenuti ed i risultati della Tesi sono da considerarsi pubblici. Per tutto quanto riguarda aspetti non strettamente scientifici (e.g. convenzioni, assicurazioni) ci si rifà alla delibera del SA. del 12 gennaio 1999
Relatrice/relatore,correlatrici/correlatori,controrelatrici/controrelatori
La Tesi di Laurea viene presentata da una/un relatrice/relatore docente di ruolo del Dipartimento di Informatica o inquadrato nei SSD ING-INF/05 e INF/01. Oltre a coloro che hanno i requisiti indicati rispetto al ruolo di relatrice/relatore (come indicato sopra), possono svolgere il ruolo di correlatrici/correlatori anche ricercatrici/ricercatori operanti in istituti di ricerca extrauniversitari assegnisti di ricerca, titolari di borsa di studio post-dottorato, dottorandi di ricerca, personale tecnico del Dipartimento, cultrici/cultori della materia nominate/i da un Ateneo italiano ed ancora in vigore, referenti aziendali esperte/i nel settore considerato nella Tesi. Può essere nominata/o controrelatrice/controrelatore qualunque docente professoressa/professore o ricercatrice/ricercatore del Dipartimento di Informatica dell'Università degli Studi di Verona, che risulti particolarmente competente nell'ambito specifico di studio della Tesi.
Elenco delle proposte di tesi e stage
Modalità di frequenza
Come riportato nel Regolamento Didattico per l'A.A. 2022/2023, la frequenza al corso di studio non è obbligatoria.
Per le modalità di erogazione della didattica, si rimanda alle informazioni in costante aggiornamento dell'Unità di Crisi.