| Lezione | Data | Slide / Riferimenti | Argomenti |
| 1 | 21/09/2016 | Introduzione al Corso. Primi cenni introduttivi sul sistema binario. | |
| 2 | 22/09/2016 | Il concetto di "informazione". Rappresentazione e codifica dell'informazione, rappresentazione analogica e discreta. Sistemi di numerazione. Rappresentazione dei numeri in binario: numeri naturali, numeri relativi (segno e modulo). Rappresentazione ottale ed esadecimale. Concetto di overflow/underflow. | |
| 3 | 28/09/2016 | Rappresentazione in complementi. Rappresentazione in complementi diminuiti. Rappresentazione Eccesso-k. Rappresentazione in virgola mobile. Normalizzazione. Standard IEEE 754. | |
| 4 | 29/09/2016 | Rappresentazione dei caratteri. Codice ASCII. Campionamento e quantizzazione. Rappresentazione dei segnali multimediali (immagini, audio, video). Compressione | |
| 5 | 05/10/2016 | Proposizioni Logiche. Algebra di Boole. Tabelle di veritā | |
| 6 | 06/10/2016 | Il modello di Von Neumann. Memoria, tipi di memorie, funzionamento e operazioni di lettura e scrittura. Interazione processore-memoria. CPU: unitā di controllo, ALU e registri interni. Ciclo del processore. Bus di sistema | |
| 7 | 12/10/2016 | Il clock. Istruzioni in linguaggio macchina. Formato istruzioni. Modi di indirizzamento. Logica cablata e microprogrammata. Processori RISC e CISC. Gestione Input/Output. Interruzioni. Cache e gerarchie di memorie. Assembly e assemblatore. | |
| 8 | 13/10/2016 | Algoritmo. Automa a stati finiti. Macchina di Turing. Tesi di Church-Turing. Calcolabilitā, trattabilitā e complessitā. Analisi del caso migliore/peggiore. | |
| 9 | 20/10/2016 | Strutture di controllo. Tipi di istruzioni. Sequenza statica e dinamica. Progettazione degli algoritmi. Ciclo di vita del software. Linguaggi di basso/alto livello. Compilatore, assemblatore, linker, loader. Esercizi sulla progettazione degli automi a stati finiti. | |
| 10 | 27/10/2016 | La struttura di un programma: istruzioni, strutture di controllo, commenti, dichiarazioni. Costrutti equivalenti. Sottoprogrammi. Parametri formali. Passaggio per valore e per riferimento. Main. Regole di visibilitā. Generazione di un eseguibile in C/C++. Gestione degli errori | |
| 11 | 02/11/2016 | Programmazione in C++: dichiarazione e definizione di una variabile, costanti, tipi delle variabili, operatori (aritmetici, logici, bitwise e relazionali), librerie, namespace, gestione dell'I/O, istruzione di selezione if e switch-case. Esempi | |
| 12 | 03/11/2016 | Programmazione in C++: esercizi | |
| 13 | 09/11/2016 | Programmazione in C++: strutture di controllo, cicli while, do..while e for. Istruzioni goto, break e continue. Esempi | |
| 14 | 10/11/2016 | Esercitazione C++: programma per la conversione della temperatura | |
| 15 | 16/11/2016 | Esercitazione C++: programma che stampa gli asterischi; programma che calcola la potenza. | |
| 16 | 17/11/2016 | Spiegazione del programma che calcola la potenza con ciclo for. Programmazione in C++: gli array monodimensionali e multidimensionali, le stringhe di caratteri, la libreria string.h, i record, l'istruzione typedef. | |
| 17 | 23/11/2016 | Esercitazione C++: programmi su vettori e matrici. | |
| 18 | 24/11/2016 | Programmazione in C++: Indentazione, visibilitā, conversione tra tipi. Spiegazione esercizi 9.1.4, 9.1.5, 9.2.1, 9.2.2, 9.2.3. | |
| 19 | 30/11/2016 | Programmazione in C++: Le funzioni. Parametri formali e parametri effettivi. Il passaggio dei parametri per valore e per riferimento. La keyword const. | |
| 20 | 01/12/2016 | Esercitazione C++: programmi sull'uso delle funzioni. | |
| 21 | 07/12/2016 | Spiegazione quarta esercitazione; spiegazione ordinamento vettori; quinta esercitazione. | |
| 22 | 14/12/2016 | Spiegazione quinta esercitazione; sesta esercitazione. | |
| 23 | 15/12/2016 | Spiegazione sesta esercitazione; settima esercitazione. |