L'insegnamento di Programmazione è composto da due moduli, la cui valutazione avviene in prove separate:
Per superare l'esame bisogna superare tutte le prove. Il voto finale risulterà dalla media dei voti della prova scritta e della prova pratica, incrementato dal punteggio del progetto (fino a tre punti).
La prova pratica si considera superata se si raggiungono i 17/30.
Le prove possono essere affrontate anche in sessioni differenti. In ogni caso, per partecipare ad una prova è necessario iscriversi all'esame tramite il SIFA (Esame di Programmazione, prof. Anisetti). Entrambe le prove si terrano nello stesso giorno (tipicamente, al mattino la prova scritta e al pomeriggio la prova pratica).
Una volta superate entrambe le prove, bisogna contattare il prof. Anisetti per concordare un progetto.
Per verbalizzare il voto, una volta superate le prove scritte e terminato il progetto, contattare il prof. Anisetti, comunicandogli in quali sessioni si sono superate le prove.
Nota bene: I voti conseguiti sono validi per un anno (cioé fino alla sessione corrispondente dell'anno seguente). Per stimolare al miglioramento della propria preparazione, le prove possono essere ripetute e il miglior risultato conseguito potrà essere utilizzato nel calcolo del voto finale.
La prova pratica consisterà in una serie di quesiti ai quali bisogna rispondere fornendo il programma C che risolve il problema.
I quesiti sono a difficoltà crescente, con punteggio differenziato a seconda delle difficoltà. In particolare, ci saranno due esercizi per ciascuna delle categorie 1, 3 e 5 punti, e un esercizio per ciascuna delle categorie da 7 e 9 punti.
Esempi di esercizi che possono costituire la prova pratica sono riportati nella sezione Prove d'esame.
| lunedì | 17.10.2016 | ore 14:00-15:45 | aula 3Sud |
| martedì | 18.10.2016 | ore 14:00-17:30 | aula 3Sud |
| mercoledì | 19.10.2016 | ore 14:00-17:30 | laboratorio Ovest |
| lunedì | 24.10.2016 | ore 14:00-15:45 | aula 3Sud |
| martedì | 25.10.2016 | ore 14:00-17:30 | aula 3Sud |
| mercoledì | 26.10.2016 | ore 14:00-17:30 | laboratorio Ovest |
| mercoledì | 02.11.2016 | ore 14:00-17:30 | laboratorio Ovest |
| lunedì | 07.11.2016 | ore 14:00-17:30 | aula 3Sud |
| martedì | 08.11.2016 | ore 14:00-17:30 | aula 3Sud |
| mercoledì | 09.11.2016 | ore 14:00-17:30 | laboratorio Ovest |
| lunedì | 14.11.2016 | ore 14:00-17:30 | aula 3Sud |
| martedì | 15.11.2016 | ore 14:00-17:30 | aula 3Sud |
| mercoledì | 16.11.2016 | ore 14:00-17:30 | laboratorio Ovest |
| lunedì | 21.11.2016 | ore 14:00-17:30 | aula 3Sud |
| martedì | 22.11.2016 | ore 14:00-17:30 | aula 3Sud |
| mercoledì | 23.11.2016 | ore 14:00-17:30 | laboratorio Ovest |
| 18.01.2017 | appello di gennaio | ore 14:00 | Laboratorio Ovest |
| 15.02.2017 | appello di febbraio | ore 14:00 | Laboratorio Ovest |
| 12.04.2017 | appello di aprile | ore 14:00 | Laboratorio Ovest |
| 14.06.2017 | appello di giugno | ore 14:00 | Laboratorio Ovest |
| 12.07.2017 | appello di luglio | ore 14:00 | Laboratorio Ovest |
| 20.09.2017 | appello di settembre | ore 14:00 | Laboratorio Ovest |
| 17.01.2018 | appello di gennaio | ore 14:00 | Laboratorio Ovest |
| pagina doppia | argomento | materiale | esercizi | |
|---|---|---|---|---|
| (pdf) | Introduzione al corso (17/10/2016) | |||
| (pdf) | Linguaggi, programmi, compilazione (17-18/10/2016) | codice (zip) | ||
| (pdf) | Laboratorio: Compilazione a riga di comando (19/10/2016) | codice (zip) | ||
| (pdf) | Programmazione strutturata (24/10/2016) | codice (zip) | ||
| (pdf) | Valutazione di espressioni (25/10/2016) | codice (zip) | ||
| (pdf) | Laboratorio: Variabili ed espressioni (26/10/2016) | codice (zip) | ||
| (pdf) | Espressioni con effetti collaterali (03/11/2016) | |||
| (pdf) | Costrutti di selezione (03/11/2016) | |||
| (pdf) | Laboratorio: Costrutti di selezione (03/11/2016) | codice (zip) | Esercizi (pdf) | |
| (pdf) | Costrutti di iterazione (07/11/2016) | Esercizi (pdf) e Codice (zip) | Esercizi (pdf) | |
| (pdf) | Tipi elementari (07/11/2016) | Esercizi (pdf) | ||
| (pdf) | Vettori e matrici (08/11/2016) | Esercizi (pdf) | ||
| (pdf) | Stringhe (08/11/2016) | Esercizi (pdf) | ||
| (pdf) | Strutture (08/11/2016) | Esercizi (pdf) | ||
| (pdf) | Laboratorio: stringhe, vettori, matrici, strutture (09/11/2016) | |||
| (pdf) | Puntatori (14/11/2016) | Esercizi (pdf) | ||
| (pdf) | Gestione della memoria (14-15/11/2016) | Esercizi (pdf) | ||
| (pdf) | Esercizio: Game of Life con variabili statiche (15/11/2016) | codice (zip) | ||
| (pdf) | Laboratorio: esercizi con variabili dinamiche (16/11/2016) | |||
| (pdf) | Funzioni (21/11/2016) | Esercizi (pdf) | ||
| (pdf) | Ricorsione (21/11/2016) | Esercizi (pdf) | ||
| (pdf) | Argomenti del main (22/11/2016) | Esercizi (pdf) | ||
| (pdf) | Parsing (22/11/2016) | Esercizi (pdf) | ||
| (pdf) | Gestione dei file (22/11/2016) | Esercizi (pdf) | ||
| (pdf) | Librerie standard (22/11/2016) | Esercizi (pdf) | ||
| (pdf) | Macro parametriche (22/11/2016) | |||
| (pdf) | Puntatori a funzione (22/11/2016) | |||
| (pdf) | Debugger (22/11/2016) | |||
| (pdf) | Laboratorio: funzioni e ricorsione (23/11/2016) | codice (zip) | ||
| (pdf) | Laboratorio: preparazione all'esame (21/12/2016) | materiale (zip) |
Gli esercizi da 1 punto consistono nella correzione degli errori sintattici di un semplice programma e nella sua compilazione.
| Esercizio | Soluzione | Risultato |
| Correggi_e_compila | correggi_01_sol.c | correggi_01_ris.txt |
| Correggi_e_compila | correggi_20_sol.c | correggi_20_ris.txt |
Gli esercizi da 3 punti consistono nella implementazione di una semplice procedura.
Gli esercizi da 5 punti consistono nel completamento di una procedura con strutture iterative.
Gli esercizi da 7 punti consistono nella scrittura di una programma con strutture statiche e lettura da file.
| Esercizio | Soluzione | Risultato |
| Finestra | finestra_01_sol.c | finestra_01_ris.txt |
| Telefoni | telefoni_01_sol.c | telefoni_01_ris.txt |
| Verniciatore | verniciatore_01_sol.c | verniciatore_01_ris.txt |
Gli esercizi da 9 punti consistono nella scrittura di una programma con strutture dinamiche e lettura da file.
| Esercizio | Soluzione | Risultato |
| Attacco IP | attaccoIP_01_sol.c | attaccoIP_01_ris.txt |
| Viaggiatori | viaggiatori_01_sol.c | viaggiatori_01_ris.txt |
| Menu | menu_01_sol.c | menu_01_ris.txt |
| 18.01.2017 | (html) | Appello di gennaio 2017 |
| 15.02.2017 | (html) | Appello di febbraio 2017 |
| 12.04.2017 | (html) | Appello di aprile 2017 |
| 14.06.2017 | (html) | Appello di giugno 2017 |
| 12.07.2017 | (html) | Appello di luglio 2017 |
| 20.09.2017 | (html) | Appello di settembre 2017 |