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ì | 09.10.2017 | ore 9:00-12:00 | aula 3Sud |
martedì | 10.10.2017 | ore 9:00-12:00 | laboratorio Ovest |
mercoledì | 11.10.2017 | ore 14:00-17:00 | aula 3Sud |
lunedì | 16.10.2017 | ore 9:00-13:00 | laboratorio Ovest |
martedì | 17.10.2017 | ore 9:00-13:00 | laboratorio Ovest |
mercoledì | 18.10.2017 | ore 14:00-17:00 | aula 3Sud |
lunedì | 23.10.2017 | ore 9:00-13:00 | aula 3Sud |
martedì | 24.10.2017 | ore 9:00-13:00 | laboratorio Ovest |
mercoledì | 25.10.2017 | ore 14:00-17:00 | aula 3Sud |
martedì | 31.10.2017 | ore 9:00-13:00 | laboratorio Ovest |
lunedì | 06.11.2017 | ore 9:00-13:00 | aula 3Sud |
martedì | 07.11.2017 | ore 9:00-13:00 | laboratorio Ovest |
mercoledì | 08.11.2017 | ore 14:00-16:00 | aula 3Sud |
lunedì | 13.11.2017 | ore 9:00-13:00 | aula 3Sud |
martedì | 14.11.2017 | ore 9:00-13:00 | laboratorio Ovest |
mercoledì | 15.11.2017 | ore 14:00-16:00 | aula 3Sud |
lunedì | 20.11.2017 | ore 9:00-13:00 | laboratorio Ovest |
martedì | 21.11.2017 | ore 9:00-13:00 | laboratorio Ovest |
mercoledì | 10.01.2018 | ore 9:30-13:00 | laboratorio Ovest |
17.01.2018 | appello di gennaio | ore 14:00 | Laboratorio Ovest |
14.02.2018 | appello di febbraio | ore 14:00 | Laboratorio Ovest |
28.03.2018 | appello di marzo | ore 14:00 | Laboratorio Ovest |
20.06.2018 | appello di giugno | ore 14:00 | Laboratorio Ovest |
18.07.2018 | appello di luglio | ore 14:00 | Laboratorio Ovest |
17.09.2018 | appello di settembre | ore 14:00 | Laboratorio Ovest |
23.01.2018 | appello di gennaio 2018 | ore 14:00 | Laboratorio Ovest |
pagina doppia | argomento | materiale | esercizi | |
---|---|---|---|---|
(pdf) | Introduzione al corso (09/10/2017) | lettura consigliata | ||
(pdf) | Linguaggi, programmi, compilazione (09/10/2017) | codice (zip) | ||
(pdf) | Laboratorio: Compilazione a riga di comando (10/10/2017) | codice (zip) | ||
(pdf) | Programmazione strutturata (11/10/2017) | codice (zip) | ||
(pdf) | Valutazione di espressioni (11/10/2017) | codice (zip) | ||
(pdf) | Laboratorio: Variabili ed espressioni (16/10/2017) | codice (zip) | ||
(pdf) | Espressioni con effetti collaterali (16/10/2017) | |||
(pdf) | Costrutti di selezione (16/12/2017) | |||
(pdf) | Laboratorio: Costrutti di selezione (16/10/2017) | codice (zip) | Esercizi (pdf) | |
(pdf) | Costrutti di iterazione (18/10/2017) | codice (zip) | Esercizi (pdf) | |
(pdf) | Tipi elementari (18-23/10/2017) | Esercizi (pdf) | ||
(pdf) | Laboratorio: Costrutti di iterazione (23/10/2017) | codice (zip) | ||
(pdf) | Vettori e matrici (24/10/2017) | Esercizi (pdf) | ||
(pdf) | Stringhe (24/10/2017) | Esercizi (pdf) | ||
(pdf) | Laboratorio: stringhe, vettori, matrici, strutture (24/10/2017) | codice (zip) | ||
(pdf) | Strutture (25/10/2017) | Esercizi (pdf) | ||
Laboratorio: Game of Life (31/10/2017) | codice | |||
(pdf) | Puntatori (06/11/2017) | Esercizi (pdf) | ||
(pdf) | Laboratorio: Puntatori (06/11/2017) | codice (zip) | ||
(pdf) | Gestione della memoria (07/11/2017) | Esercizi (pdf) | ||
(pdf) | Laboratorio: Gestione della memoria (07/11/2017) | codice (zip) | ||
(pdf) | Funzioni (08/11/2017) | Esercizi (pdf) | ||
(pdf) | Argomenti del main (08/11/2017) | Esercizi (pdf) | ||
Laboratorio: Funzioni (13/11/2017) | codice (zip) | |||
(pdf) | Ricorsione (14/11/2017) | Esercizi (pdf) | ||
(pdf) | Laboratorio: ricorsione (14/11/2017) | codice (zip) | ||
(pdf) | Parsing (15/11/2017) | Esercizi (pdf) | ||
(pdf) | Gestione dei file (20/11/2017) | Esercizi (pdf) | ||
(pdf) | Librerie standard (20/11/2017) | Esercizi (pdf) | ||
(pdf) | Macro parametriche (20/11/2017) | |||
(pdf) | Puntatori a funzione (20/11/2017) | |||
(pdf) | Debugger (20/11/2017) | |||
(pdf) | Laboratorio: preparazione all'esame, file e liste (10/01/2018) | codice (zip) | ||
lucidi (zip) | Tutto il materiale | codice (zip) | esercizi (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 |
17.01.2018 | (html) | Appello di gennaio 2018 |
14.02.2018 | (html) | Appello di febbraio 2018 |
28.03.2018 | (html) | Appello di marzo 2018 |
20.06.2018 | (html) | Appello di giugno 2018 |
18.07.2018 | (html) | Appello di luglio 2018 |
17.09.2018 | (html) | Appello di settembre 2018 |
09.11.2018 | (html) | Appello straordinario di novembre 2018 |
23.01.2019 | (html) | Appello di gennaio 2019 |