A lato degli argomenti sono indicate le
sorgenti per lo studio a casa.
Queste sorgenti sono: le slide presentate a lezione, i complementi didattici (dispense ed esercizi addizionali), e i libri di testo (testo1 e testo2).
Sistema di elaborazione
- Architettura dell'elaboratore: la macchina di Von Neumann (slide)
Unita` centrale, periferiche, memoria centrale, CPU (slide, testo1-Cap1, test1-Cap1_Par1.6)
- Rappresentazione dell'informazione nell'elaboratore: sistemi numerici, rappresentazione degli interi, rappresentazione floating point (slide, complementi didattici, testo1-AppD)
- linguaggio macchina, assembler, fasi dell'esecuzione di un programma scritto in linguaggio macchina (slide, complementi didattici, testo1-Cap4_Sez.4.1_4.4)
- Software di base: Il sistema operativo ed il file system.
Compilazione ed esecuzione di un programma scritto in linguaggio ad alto livello (slide, testo1-Cap2)
Introduzione alla programmazione, con il C
- Concetto di algoritmo (slide, testo1-Cap3).
Concetto di variabile.
Tipi semplici di dati associati alle variabili (slide, testo1-Cap6).
Operatori, espressioni e loro valutazione (slide, complementi didattici, testo1-Cap5, testo1-Cap8, testo1-Fig9.2, testo1-AppC)
- Librerie di funzioni, per l'Input/Output (slide, complementi didattici, testo1-Cap5, testo1-Cap6, testo1-AppB_parte)
- Programmazione Strutturata. Istruzioni e blocchi di istruzioni. Strutture di controllo (selezione ed iterazione) (slide, complementi didattici, testo1-Cap4_resto, testo1-Cap5, testo1-Cap7, testo1-Cap9)
- array (slide, testo1-Cap10)
- funzioni, visibilita` e ciclo di vita delle variabili (slide, complementi didattici, testo1-Cap11)
- File testuali (slide, video, complementi didattici, testo1-Cap17_parte)
Concetti di programmazione piu` avanzati, con il C.
- Puntatori
(slide, testo1-Cap14)
- Stringhe di caratteri alfanumerici
(slide, testo1-Cap13)
- Allocazione dinamica della memoria; funzioni malloc e free; funzione realloc
(slide, testo1-Cap14, testo1-AppB)
- Array statici e array dinamici (realizzati con malloc).
(slide, complementi didattici)
- Stringhe con allocazione "esatta"
(slide, complementi didattici)
- Strutture (struct)
(slide, testo1-Cap20_parte)
- Ricorsione
(slide, complementi didattici, testo1-Cap15)
- File binari
(slide, video, complementi didattici, testo1-Cap17_parte)
(Facoltativamente si puo` approfondire con il testo di riferimento
testo2-Cap4, prime tre sezioni).
Metodologie di sviluppo e tecniche di Test dei programmi.
- Progettazione e implementazione di programmi C.
Implementazione di algoritmi significativi.
Ricerca ed ordinamento.
(slide, complementi didattici, esercitazioni guidate, testo1-Cap11, testo1-Cap12_parte, testo1-Caso_di_Studio_I, testo2-Cap1, testo2-Cap2)
- Tecniche di Test dei programmi
(slide, video, testo2-Cap1, testo2-Cap2)
(Facoltativamente si puo' approfondire con il testo di riferimento
testo2, cap. 4, prime tre sezioni).
Strutture di dati, con il C.
- Strutture di Dati Astratte (ADT) (slide)
- tabelle di dati (array di strutture)
(slide, esercitazioni guidate)
- Strutture di dati dinamiche: liste concatenate
(slide, esercitazioni guidate, testo2-Cap6)
- Strutture di dati dinamiche: alberi (cenni)
(slide, esercitazioni guidate, testo2-Cap8)
(limitatamente a quanto visto a lezione)