Programmazione funzionale

A.A. 2015/2016
Insegnamento per
6
Crediti massimi
48
Ore totali
Lingua
Italiano
Obiettivi formativi
Lo scopo di questo corso è fornire agli studenti una solida conoscenza della programmazione funzionale, delle sue applicazioni, e dei suoi punti di forza e di debolezza. Al fine di raggiungere questi obiettivi, il corso sarà basato sul linguaggio di programmazione funzionale F #, un moderno linguaggio funzionale creato da Microsoft Research, e membro della famiglia di linguaggi di programmazione . NET. Intendiamo anche mostrare come il paradigma di programmazione funzionale possa essere efficace da un punto di vista del software engineering - offrendo ottimo supporto per la scrittura di programmi concisi, riutilizzabile e sicuri.

Struttura insegnamento e programma

Linea Milano
Edizione attiva
Responsabile
Programma
Il corso coprirà: ricorsione, strutture dati avanzate, sistemi di tipi, funzioni di ordine superiore, valutazione "eager" e "lazy", programmazione senza effetti collaterali, ma anche imperativa e altro ancora. Tratteremo anche brevemente i presupposti teorici della programmazione funzionale, in particolare il lambda calcolo e l'inferenza di tipo, al fine di migliorare la comprensione del paradigma.
Prerequisiti e modalità di esame
L'esame prevede una prova in laboratorio. E' richiesto di scrivere semplici programmi in F#, il linguaggio studiato nel corso.
Oltre alla prova in laboratorio, lo studente puo' svolgere a casa un progetto su una traccia concordata con i docenti.
L'esame e' concluso da una discussione sul lavoro svolto.
Metodi didattici
Modalità di esame: Scritto e eventuale orale; Modalità di frequenza: Fortemente consigliata; Modalità di erogazione: Tradizionale.
Materiale didattico e bibliografia
ll libro di riferimento è: Functional Programming using F# , Michael R. Hansen and Hans Rischel.
Periodo
Secondo semestre
Periodo
Secondo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Siti didattici
Docente/i
Ricevimento:
Su appuntamento
Via Celoria, 18 - stanza 4012
Ricevimento:
Venerdì, 16:30 --18
4009, Celoria 18