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

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

Commissione d'esame

FRANCESCO DAGNINO (Presidente)

DAVIDE ANCONA

ELENA ZUCCA SCHILLANI (Presidente Supplente)

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

 

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.