Laurea in Informatica musicale (Università degli Studi di Milano)
Questo insegnamento spiega tecniche di base di programmazione procedurale utilizzando il linguaggio C.
Avvisi
Lingua
Le lezioni sono in italiano.
Orari del corso
Le lezioni si svolgeranno secondo il seguente orario:
Giorno | Ora | Luogo |
---|---|---|
martedì | 8:30 - 10:30 | aula 204 (via Celoria) |
mercoledì | 8:30 - 10:30 | aula beta (via Comelico) |
giovedì | 12:30 - 14:30 | aula beta (via Comelico) |
Eventuali variazioni rispetto al calendario pianificato verranno comunicate in aula e pubblicizzate nel paragrafo Avvisi di questa pagina. In particolare, in alcuni casi la lezione del martedì si svolgerà dalle 8:30 alle 11:30.
Al corso è associato un laboratorio che si svolgerà ogni venerdì dalle 8:30 alle 12:30 nell'aula sigma dei dipartimenti di informatica di Via Comelico. Si rimanda al sito web corrispondente per ulteriori informazioni.
Ricevimento studenti
Su appuntamento, stanza 5015 del Dipartimento di Informatica.
È possibile contattare il docente tramite posta elettronica, avendo cura di leggere preventivamente la guida predisposta dal Prof. Sebastiano Vigna e di specificare chiaramente nell'oggetto del messaggio il nome dell'insegnamento e l'anno accademico. In particolare, si invitano gli studenti a usare sempre come mittente l'indirizzo fornito loro dall'Ateneo (basato cioè sul dominio studenti.unimi.it
) firmando con nome, cognome e matricola e ricordando che i tempi di risposta possono variare in funzione degli impegni del docente.
Materiale didattico
Il corso è basato sul seguente materiale:
- il libro di testo: C Programming -- A Modern Approach, second edition, di K. N. King, edito da W. W. Norton (ISBN 978-0-393-97950-3), corredato da una homepage contenente un errata corrige, il codice sorgente degli esempi e la soluzione di alcuni esercizi. È disponibile anche la traduzione in lingua italiana (K. N. King, Programmazione in C, Apogeo, 2009, ISBN 9-788-85032869-7) che però contiene diversi errori dovuti principalmente a un editing trascurato durante la traduzione (è disponibile un elenco degli errori curato dal Dr. Massimo Santini);
- le dispense sulla parte di architettura e logica booleana curate dal Prof. Paolo Boldi.
Si consiglia inoltre la lettura dei seguenti testi di approfondimento:
- il volume Il linguaggio C, di Brian Kernighan e Dennis M. Ritchie, edito da Pearson Education Italia, Milano (ISBN: 887192200X);
- il volume Programmazione nella pratica, di Brian Kernighan e Rob Pike, edito da Pearson Education Italia, Milano (ISBN: 8871920724);
- il volume Programming Pearls di Jon Bentley, edito da Addison-Wesley (ISBN: 0201657880).
Programma
Il programma riguarda gli argomenti dettagliati nel calendario delle lezioni, che corrisponde al materiale trattato sulle dispense e sul libro di testo nei capitoli da 1 a 17 (escluso il paragrafo 12.4), e nel capitolo 22.
Calendario delle lezioni
Data | Argomento |
---|---|
04/10/2011 | Introduzione al laboratorio e basi di architettura degli elaboratori |
05/10/2011 | Rappresentazione dell'informazione |
12/10/2011 | Rappresentazione dell'informazione |
13/10/2011 | Linguaggi, interpreti, compilatori e primi programmi in C |
18/10/2011 | Algebra Booleana e circuiti |
19/10/2011 | I/O formattato ed espressioni |
20/10/2011 | Strutture di selezione |
25/10/2011 | Strutture di iterazione |
26/10/2011 | Strutture di iterazione |
27/10/2011 | Strutture di iterazione |
02/11/2011 | Riepilogo sulle strutture di controllo |
03/11/2011 | Tipi elementari |
08/11/2011 | Array |
09/11/2011 | Array |
10/11/2011 | Funzioni e struttura dei programmi |
15/11/2011 | Funzioni e passaggio dei parametri |
16/11/2011 | Valutazione intermedia |
17/11/2011 | Correzione della valutazione intermedia |
22/11/2011 | Organizzazione dei programmi |
23/11/2011 | Puntatori |
24/11/2011 | Aritmetica dei puntatori |
29/11/2011 | Stringhe |
30/11/2011 | Stringhe, array di stringhe e puntatori a puntatori |
01/12/2011 | Algoritmi di ordinamento |
13/12/2011 | Algoritmi di ricerca |
14/12/2011 | Ricorsione |
15/12/2011 | Preprocessore e programmi di grandi dimensioni |
20/12/2011 | Strutture, unioni e enumerazioni |
21/12/2011 | Allocazione dinamica della memoria |
22/12/2011 | Liste |
10/01/2012 | I/O e file |
11/01/2012 | Uso di file e tipi di dati astratti |
17/01/2012 | Tipi di dati astratti |
Modalità d'esame
L'esame consta di tre prove: una scritta, una in laboratorio e una orale. Le tre prove devono essere sostenute nel medesimo appello (vedi oltre per le eccezioni che riguardano gli appelli di gennaio e febbraio e le valutazioni intermedie) conseguendo in ognuna una valutazione sufficiente. La media dei voti conseguiti nelle prove scritta e di laboratorio (pesata in funzione dei CFU corrispondenti) rappresenta il punteggio di partenza per la prova orale. Gli studenti devono essere consapevoli del fatto che la valutazione della prova orale può causare sia un innalzamento che un abbassamento di tale punteggio, anche eventualmente invalidando la sufficienza.
Gli studenti che vogliano sostenere l'esame a un dato appello devono iscriversi al SIFA (tramite il @SIFA on-line, o recandosi presso gli appositi chioschi), sia per il laboratorio che per lo scritto. Questo vale per tutti gli appelli, comprese le valutazioni intermedie.
Valutazioni intermedie
Durante il corso si terranno due prove di valutazione intermedie (il 16 novembre e, indicativamente, a fine gennaio). Gli studenti che vogliano sostenere l'esame a gennaio o febbraio e che abbiano ottenuto la sufficienza in entrambe le prove sono esentati dalla prova scritta (la media dei voti dei compitini sostituisce il voto dello scritto). Gli studenti possono in ogni caso sostenere le prova scritta anche avendo ottenuto la sufficienza nelle valutazioni intermedie, tenendo presente che in tal caso queste ultime vengono invalidate.
Salto di appello
Gli studenti che in una prova scritta conseguano una valutazione nettamente inferiore alla votazione media per quell'appello non potranno sostenere alcuna prova nell'appello successivo.
Studenti di Informatica per le telecomunicazioni
Gli studenti iscritti al corso di Laurea in Informatica per le telecomunicazioni possono sostenere l'esame di Programmazione effettuando una prova orale presentandosi agli appelli scritti dell'insegnamento di Programmazione per il corso di Laurea in Informatica musicale. È in ogni caso richiesta l'iscrizione all'appello.
Appelli d'esame
Sessione | Data | |
---|---|---|
novembre (valutazione intermedia) | 16/11/2011 | Esiti |
gennaio (valutazione intermedia) | 18/01/2012 | Esiti |
gennaio | 23/01/2012 | Esiti |
febbraio | 29/02/2012 | Esiti |
giugno | 13/06/2012 | Esiti |
luglio | 05/07/2012 | convertito in orale a causa di un basso numero di partecipanti |
settembre | 20/09/2012 | convertito in orale a causa di un basso numero di partecipanti |