Tecniche di Programmazione
Funzionale e Imperativa
Prof. Ivano Salvo
Corso di laurea in Informatica, 3zo anno
Avvisi
BREAKING NEWS: Finalmente ufficializzato l'orario del corso:
- giovedì 11-13 (aula 2L di Castro Laurenziano) e
- venerdì 12-15 (aula Magna della palazzina C di viale Regina Elena (RM111)).
Le lezioni cominceranno
regolarmente,
giovedì, 27 febbraio 2025 alle ore
11.
BREAKING NEWS: Per l'edizione
2025, iscrivetevi al Classroom
TPFI-25
, codice
itdft22.
Vecchi Avvisi
NEWS: Finalmente ufficializzato l'orario del corso: lunedì 13-16 e giovedì 14-16.
Di norma la lezione del lunedì sarà 14-16 e occasionalmente si farà la V ora settimanale nell'ora 13-14.
Le lezioni sono in
aula S1, nella palazzina
E di viale
Regina Margherita 295 (
RM113).
Le lezioni cominceranno
regolarmente,
lunedì, 26 febbraio 2024 alle ore
14.
NEWS: Per l'edizione
2024, iscrivetevi al Classroom
TPFI-24
, codice
rtnrezf.
Descrizione del Corso
Il corso mira a introdurre il paradigma di programmazione funzionale, attraverso lo studio del linguaggio Haskell.
Viene inoltre fatto un confronto con il paradigma imperativo e quello funzionale.
Vengono infine introdotti metodi per ragionare sulla correttezza dei programmi in entrambi i paradigmi.
1. Programmazione Funzionale. [14 lezioni]
- Concetti base di Haskell: tipi, funzioni, definizioni ricorsive.
- Polimorfismo, classi, tipi definiti dall'utente, funzioni di ordine superiore.
- Call-by-name e valutazione lazy. Tipi di dato infiniti.
- Trattamento di aspetti non-funzionali (IO, eccezioni, stato, etc.) in Haskell: Funtori, Applicativi e Monadi.
- Sviluppo di programmi corretti e trasformazioni di programmi: ragionamento equazionale.
2. Programmazione Imperativa. [7 lezioni]
- Ripasso di programmazione base in C.
- Gestione esplicita della memoria in C, alias, side-effects.
- Confronti e contaminazioni I: programmazione funzionale in C.
- Confronti e contaminazioni II: programmazione imperativa in Haskell.
- Sviluppo di programmi corretti in C: asserzioni logiche. Limiti di questa metodologia nella programmazione imperativa.
3. Perle di Programmazione Funzionale e Imperativa. [5 lezioni]
- Ogni anno verranno selezionate 4-6 perle di programmazione imperativa.
- e 4-6 perle di programmazione funzionale.
Orario delle Lezioni 2024/25 - II semestre
lunedì |
ore 11:00-13:00 |
aula 2L, Castro Laurenziano |
|
giovedì |
ore 12:00-15:00 |
aula Magna, RM111 |
|