- *
R - Ricorsione
Procedure ricorsive, definizioni ricorsive ben fondate
- *
SCP - Sviluppo e Correttezza dei Programmi
Verifica della correttezza dei programmi ricorsivi attraverso dimostrazioni per induzione. Approccio iterativo e analisi della correttezza attraverso il concetto di invariante.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Astrazione sui dati attraverso semplici strutture. Strutture dati di base: coppie, liste e procedure che operano sulle liste.
- *
CB - Costrutti di Base
Formato di un programma C con una singola funzione, inclusione di libreria, funzione main. Identificatori. Tipi di dati predefiniti: int, double, char. Funzioni di libreria per l'input/output interattivo. Costanti, variabili ed espressioni
- *
SS - Sintassi e Semantica
Istruzione di assegnamento, istruzione sequenziale Istruzioni di selezione: if, switch. Istruzioni di ripetizione: while, for, do-while. Nozione di invariante.
- *
P - Procedure
Funzioni: Dichiarazione e definizione di funzione, parametri formali, invocazione di funzione e parametri attuali. Passaggio di parametri per valore e per indirizzo. Visibilità degli identificatori locali e non locali. Funzioni ricorsive. Funzioni di ordine superiore.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Conversioni di tipo e operatore di cast. Tipi enumerati. Array, Stringhe, Strutture e Puntatori.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Memoria Dinamica: allocazione e deallocazione di memoria. Tipi di dati dinamici. Liste semplici, doppie, circolari. Alberi binari.
- *
CB - Costrutti di Base
Input-Output: procedure di libreria sugli standard IO. Il tipo FILE. Creazione e manipolazione di files.
- *
PSA - Problem Solving e Algoritmi
Insertion sort, Selection sort, Bubble sort. Il divide et impera: Mergesort. Counting sort. Esercizi svolti in laboratorio.
- *
P - Procedure
Procedure come astrazione di istruzioni. Procedure e parametri.
- *
CB - Costrutti di Base
Valori numerici, booleani, caratteri e stringhe in CaML. Espressioni numeriche e non numeriche.