Programmazione 1 - Corso B
Paolo Milazzo
Appunti delle lezioni
Gli appunti delle lezioni (in formato PDF) saranno resi disponibili qui sotto man mano che si procederà con il corso.
- Lezione 1 - mar. 19.09.2017 (appunti in formato PDF)
- Introduzione al corso. Introduzione alla programmazione imperativa in C. Nozione di stato di un programma: l'ambiente e la memoria. Il comando di assegnamento. Le dichiarazioni di variabili.
- Lezione 2 - mer. 20.09.2017 (appunti in formato PDF)
- Comando condizionale. Comandi di iterazione.
- Lezione 3 - ven. 22.09.2017 (appunti in formato PDF)
- Gestione dei blocchi nello stato del programma (pile di frame). Ambito delle variabili. Procedure e funzioni.
- Lezione 4 - mar. 26.09.2017 (appunti in formato PDF)
- Puntatori. Passaggio dei parametri per indirizzo.
- Lezione 5 - mer. 27.09.2017 (appunti in formato PDF)
- Array
- Lezione 6 - ven. 29.09.2017 (appunti in formato PDF)
- Array come puntatori. Ricerca di un elemento in un array
- Lezione 7 - mar. 03.10.2017 (appunti in formato PDF)
- Problem solving con array
- Lezione 8 - mer. 04.10.2017 (appunti in formato PDF)
- Problem solving con array (segue)
- Lezione 9 - mar. 10.10.2017 (appunti in formato PDF)
- Automi a stati finiti
- Lezione 10 - mer. 11.10.2017 (appunti in formato PDF)
- Automi a stati finiti deterministici e non deterministici. Traduzione di automi non deterministici in automi deterministici equivalenti.
- Lezione 11 - ven. 13.10.2017 (appunti in formato PDF)
- Introduzione alle grammatiche
- Lezione 12 - mer. 18.10.2017 (appunti in formato PDF)
- Alberi di derivazione e ambiguità
- Lezione 13 - gio. 19.10.2017 (appunti in formato PDF)
- Linguaggi regolari e liberi. Pumping lemma
- Lezione 14 - ven. 20.10.2017 (appunti in formato PDF)
- Dimostrazione del Pumping lemma e suo uso per dimostrare che un linguaggio non è regolare
- Lezione 15 - mar. 24.10.2017 (appunti in formato PDF)
- Esercitazione per verifica intermedia (esercizi su linguaggi formali)
- Lezione 16 - mer. 25.10.2017 (appunti in formato PDF)
- Esercitazione per verifica intermedia (problem solving su array)
- Lezione 17 - ven. 27.10.2017 (Esercizi svolti e appunti in formato PDF)
- Esercitazione per verifica intermedia (simulazione di verifica)
- Lezione 18 - mar. 07.11.2017 (appunti in formato PDF)
- Memoria dinamica e introduzione alle liste in C
- Lezione 19 - mer. 08.11.2017 (appunti in formato PDF)
- Creazione di liste. Procedure per l'inserimento di elementi in testa e in coda.
- Lezione 20 - ven. 10.11.2017 (appunti in formato PDF)
- Operazioni su liste. Calcolo della lunghezza e verifica di ordinamento, inserimento in mezzo, cancellazione di elementi, spostamento di elementi.
- Lezione 21 - mar. 14.11.2017 (appunti in formato PDF)
- Introduzione alla teoria della ricorsione. Punto fisso. Trasformazione di insiemi. Trasformazione monotona e continua.
- Lezione 22 - mer. 15.11.2017 (appunti in formato PDF)
- Teorema di ricorsione.
- Lezione 23 - ven. 17.11.2017 (appunti in formato PDF)
- Dimostrazione del teorema di ricorsione e sua applicazione per calcolare il grafico di una funzione ricorsiva.
- Lezione 24 - mar. 21.11.2017 (appunti in formato PDF)
- Relazione di precedenza indotta dalla definizione di una funzione ricorsiva.
Introduzione al linguaggio Caml Light. Definizione di nomi e funzioni. Coppie ed ennuple.
- Lezione 25 - mer. 22.11.2017 (appunti in formato PDF)
- Caml Light: passaggio di parametri, funzioni polimorfe e definzioni locali.
- Lezione 26 - ven. 24.11.2017 (appunti in formato PDF)
- Funzioni ricorsive, liste e pattern matching
- Lezione 27 - mar. 28.11.2017 (appunti in formato PDF)
- Funzioni ricorsive su liste
- Lezione 28 - mer. 29.11.2017 (appunti in formato PDF)
- Funzioni ricorsive su liste. Funzioni di ordine superiore: Forall, Exists e Map
- Lezione 29 - ven. 01.12.2017 (appunti in formato PDF)
- Funzioni di ordine superiore: Filter e FoldR
- Lezione 30 - mar. 05.12.2017 (appunti in formato PDF)
- Esempi con FoldR. Introduzione alla semantica formale del linguaggio C: la rappresentazione dello stato
- Lezione 31 - mer. 06.12.2017 (appunti in formato PDF)
- Semantica formale del linguaggio C
- Lezione 32 - mar. 12.12.2017 (appunti in formato PDF)
- Semantica formale del linguaggio C
- Lezione 33 - gio. 14.12.2017 (appunti in formato PDF)
- Esercitazione per la verifica intermedia (CAML)
- Lezione 34 - ven. 15.12.2017 (Esercizi svolti e appunti in formato PDF)
- Esercitazione per verifica intermedia (simulazione di verifica)