Docenti:Daniele Nardi - Giorgio Grisetti (Canale A-L), Alberto Pretto (Canale M-Z)
Tutor:Bartolomeo Della Corte
Obiettivi Formativi. Il corso ha l'obiettivo di fornire allo studente la capacità di comprendere e progettare programmi che richiedano una conoscenza approfondita del modello di esecuzione dei programmi che, in particolare, gestiscano in maniera esplicita la memoria. A questo scopo il corso fa riferimento ad una caratterizzazione dell'architettura dell'elaboratore basata sul modello di Von Neumann ed utilizza il linguaggio C per la programmazione. Il corso ha una forte connotazione progettuale e prevede quindi esercitazioni settimanali in laboratorio, in ambiente LINUX.
Programma
- Modello di Von Neumann e caratterizzazione delle primitive di controllo in linguaggio macchina (corrispondenza sintassi Python - C, uso della grammatica per definire il linguaggio). Struttura del compilatore.
- Tipi di dato: tipi primitivi, array, strutture, allocazione di memoria, compatibilità di tipo, cast, equivalenza strutturale.
- Funzioni, pila dei record di attivazione, passaggio dei parametri, campo d'azione, ricorsione
- Puntatori ed allocazione dinamica della memoria
- Strutture collegate lineari: pile, liste, code, insiemi
Orario delle lezioni:
- Canale A-L (Prof. Nardi - Prof. Grisetti)
- Lun 10:00 - 12:00 (Lab. 15-16 via Tiburtina)
- Mar 10:00 - 12:00 (Aula 13 - via Scarpa)
- Gio 10:00 - 12:00 (Aula 13 - via Scarpa)
- Canale M-Z (Prof. Pretto)
- Lun 12:00 - 14:00 (Lab. 15-16 via Tiburtina)
- Mar 12:00 -14:00 (Aula 13 - via Scarpa)
- Mer 13:00 - 15:00 (Aula 13 - via Scarpa)
- Teacher: giorgio grisetti
- Teacher: Luca Iocchi
- Teacher: Daniele Nardi
- Teacher: DANIELE Nardi
- Teacher: Alberto Pretto