- Introduzione al corso, macchina di von neumann, perché è importante studiare il linguaggio C
- Linux: cos'è, la shell, primi comandi
- Introduzione al C: compilazione e hello world
- Introduzione al C: if, scanf, printf funzioni
- Operatori di preincremento/postincremento, cicli for, break, while
- PRNG
- le librerie statiche e dinamiche
- Il debugger GDB e lo stacktrace
- Le classi di memoria e attributi delle variabili
- La codifica
- Funzioni ricorsive - Enum, Const, Casting
- Gli array
- Le stringhe
- I puntatori
- Caratteri e stringhe
- Il preprocessore
- Strutture e Unioni
- Algebra booleana; Lavorare sui bit
- Lavorare con i file
- La gestione dinamica della memoria
- Le strutture dati: liste, pile, code, alberi
- Algoritmi di ordinamento: selection, insertion, e merge sort
- POSIX, gestione del tempo e introduzione ai programmi multi-processo