Functional Languages (2004/2005)

Course partially running

Course code
4S00063
Name of lecturer
Nicola Fausto Spoto
Number of ECTS credits allocated
5
Other available courses
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Location
VERONA
Period
Second four-month term dal Jan 10, 2005 al Mar 11, 2005.

Lesson timetable

Learning outcomes

Fornire un'introduzione alla programmazione funzionale, allo studio degli algoritmi e allo sviluppo di strutture dati complesse in tale paradigma di programmazione.

Syllabus

* Introduzione al corso e alla programmazione funzionale.
* Utilizzo dell'ambiente di programmazione OCaml.
* Introduzione alla programmazione OCaml.
* Funzioni come valori.
* Valutazioni strette e lazy.
* Persistenza: liste, alberi binari di ricerca.
* Heap sinistrorsi e binomiali, alberi rosso-neri
* Valutazione lazy: gli stream
* Analisi ammortizzata: code e heap
* Ammortizzazione e persistenza tramite valutazione lazy
* Il metodo del banchiere e quello del fisico
* Eliminazione dell'ammortizzazione
* Ricostruzione lazy

Il corso si svolge in 44 lezioni, due terzi delle quali frontali, e un terzo delle quali in laboratorio.

Reference books
Author Title Publisher Year ISBN Note
Chris Okasaki Purely Functional Data Structures (Edizione 1) Cambridge University Press 1998 0-521-6635 Riferimento per la parte di strutture dati, valutazione lazy e ammortizzazione.
Xavier Leroy et al. The Objective Caml System 2004 Riferimento per il linguaggi OCaml. Disponibile in rete all'indirizzo: http://caml.inria.fr/ocaml/htmlman/

Assessment methods and criteria

L'esame consiste in un orale e in un progetto.

L'orale mira a verificare le conoscenze teoriche degli argomenti trattati a lezione. Il progetto intende verificare l'acquisizione da parte dello studente delle capacità di lavoro in programmazione funzionale.

Teaching aids

Documents

Share