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)