Materiali Didattici
Testi
- Testi Consigliati
- R. Bird: Thinking Functionally with Haskell. Cambridge University Press (2015).
- G. Hutton: Programming in Haskell (2nd edition). Cambridge University Press (2016).
- B. W. Kernigham, D. Ritchie: The C Programming Language (2nd edition), Pearson (1988).
- Testi di consultazione e di ispirazione
- E. W. Dijkstra: A Discipline of Programming, Prentice Hall (1976).
- R. Bird: Pearls of Functional Algorithm Design, Cambridge University Press (2010).
- R. Bird, P. Wadler: Introduction to Functional Programming, Prentice Hall (1988).
- A. Oram, G. Wilson (eds.): Beautiful Code, O'Reilly (2008).
- J. Bentley: Programming Pearls (1986) and More Programming Pearls (1988), Addison Wesley.
Slides (2025)
Anche se il programma ricalcherà quello del 2024, le slides verranno aggiornate durante il corso.
Le versioni aggiornate sono disponibili nel classroom del corso.
Slides (2024)
Anche se il programma ricalcherà quello del 2023, le slides verranno aggiornate durante il corso.
Slides (2023)
Anche se il programma ricalcherà quello del 2022, le slides verranno aggiornate durante il corso.
Slides (2022)
- Parte I: Fondamenti della Programmazione Funzionale
- Parte II: Temi Avanzati di Programmazione Funzionale
- Parte III: Programmazione Imperativa in C
- [03/5/22] Lezione 19: ABC... del C: programmazione imperativa in C e asserzioni logiche.
- [06/5/22] Lezione 20: Parli del Diavolo e spuntano... i puntatori!: uso di puntatori espliciti e aritmetica dei puntatori.
- [10/5/22] Lezione 21: Vettori: Vettori e matrici nel C classico.
- [13/5/22] Lezione 22: Memoria Dinamica: vettori variabili e dinamici in C. Allocazione esplicita di memoria.
- [17/5/22] Lezione 23: Liste: Liste in C: versioni mutabili e immutabili.
- [24/5/22] Lezione 24: Liste II: Strutture Dati Generiche e quello che in Haskell non si può fare.
- Parte IV: Perle di Programmazione Funzionale e Imperativa
Slides (2021)
- Parte I: Programmazione Funzionale
- Parte II: Programmazione Imperativa
- Lezione 17: Specifiche, precondizioni, postcondizioni e invarianti.
- Lezione 18: Puntatori in C e passaggio di parametri.
- Lezione 19: Vettori in C e aritmetica dei puntatori.
- Lezione 20: Vettori e Matrici in C. Allocazione di memoria dinamica.
- Lezione 21: Liste I. Strutture dati mutabili e immutabili.
- Lezione 22: Liste II. Gestione della memoria: fastidio e opportunità.
- Lezione 23: Alcune perle di stile e di programmazione.
- Lezione 24: Alberi binari e Strutture Dati Generiche in C.
-
Ivano Salvo - 2021-03-12