I programmi d'esame sono quelli richiamati nel bando (art. 6, comma 2), con particolare riferimento agli argomenti elencati di seguito. Le prove intendono, tramite esercizi e domande aperte (cfr. art. 8 del bando), verificare le conoscenze disciplinari, le capacità di analisi, interpretazione e argomentazione e il corretto uso della lingua italiana.
Rappresentazione dell'informazione. Sistemi digitali e programmabili. I microprocessori. Programmazione a livello macchina e con linguaggi orientati alla macchina. Componenti di un sistema di elaborazione. Unità centrale. Unità periferiche. Memorie e loro gerarchia. Elaboratori con un solo processore: tipologie di architetture e loro caratteristiche funzionali.
Software di sistema e applicativo. Astrazioni fornite dal sistema operativo. Problemi di parallelismo e concorrenza. Protocolli. Reti locali e reti geografiche: architettura fisica, sistemi operativi e programmi di comunicazione.
Compilazione e interpretazione. Sequenza, selezione e iterazione. Array monodimensionali, stringhe e strutture. Funzioni e ricorsione. Parametri formali e attuali. Puntatori. Proprietà degli algoritmi. Complessità. Algoritmi notevoli: ordinamento, ricerca.
Eventuali esercizi di programmazione potranno richiedere che la soluzione sia espressa (a scelta del candidato) in C, Java o Python. Pertanto durante la prova scritta sarà possibile servirsi di manuali con le principali funzioni di libreria, resi disponibile dalla commissione esaminatrice.