Salta al contenuto principale
CODICE 90546
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 2° Semestre

PRESENTAZIONE

Agli studenti verrà fornita una conoscenza più profonda e critica dei linguaggi di programmazione, attraverso l'apprendimento di fondamenti teorici e il confronto di diversi paradigmi.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Acquisire una conoscenza più approfondita e critica dei linguaggi di programmazione, attraverso l’apprendimento delle basi teoriche e il confronto tra diversi paradigmi.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso, lo studente/la studentessa sarà in grado di:

  • Comprendere in modo approfondito i concetti presentati durante il corso.

  • Praticare con una certa competenza i paradigmi di programmazione proposti.

PREREQUISITI

Non sono necessari prerequisiti specifici.

MODALITA' DIDATTICHE

Lezioni frontali e piccolo progetto.

PROGRAMMA/CONTENUTO

  • Fondamenti: semantica a piccoli passi, sistemi di tipi, correttezza (soundness)
  • Paradigma funzionale: calcolo lambda, call-by-value e call-by-name, lambda-calcolo semplicemente tipato, polimorfismo, inferenza di Hindley-Milner. Programmazione funzionale in Haskell, valutazione lazy, classi di tipi.
  • Effetti: estensioni del calcolo lambda con caratteristiche imperative e gestione delle eccezioni
  • Paradigma orientato agli oggetti: sottotipizzazione, Featherweight Java
  • Paradigma logico: sintassi di Prolog, semantica modello-teorica, risoluzione SLD
  • Coinduzione e programmazione logica coinduttiva

TESTI/BIBLIOGRAFIA

Appunti del corso.

Benjamin Pierce, Types and Programming Languages.

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario

 

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L’esame consisterà in una prova orale e, eventualmente, nello sviluppo di un piccolo progetto.

ndicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/11964/studenti-disabilita-dsa

 

MODALITA' DI ACCERTAMENTO

L’esame orale verifica la corretta comprensione dei concetti e la capacità di presentarli in modo appropriato. Lo sviluppo di un piccolo progetto attesta che lo studente ha sperimentato i paradigmi di programmazione proposti.

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.