Programmazione (Informatica musicale)
Indice
- Avvisi
- Orario
- Appelli
- Compitini
- Programma del corso
- Modalità d'esame
- Ricevimento studenti
- Link utili
Avvisi
- URGENTE! Appello settembre 2010. Prego gli studenti ammessi all'orale di settembre (Carletto, Ugge, Costanzo e Campostrini) di contattarmi al più presto.
- Appello settembre 2010. Dopo la prova di laboratorio risultano ammessi all'orale i seguenti studenti:
755834 CARLETTO ALEX 755998 UGGE MATTIA 756842 COSTANZO EMILIANO 757209 CAMPOSTRINI MATTEO
Orario
Le lezioni si svolgeranno con il seguente orario:
- martedì ore 9:30-13:30, aula Sigma (via Comelico): laboratorio;
- mercoledì ore 13:30-16:30, aula 208 (via Celoria): teoria;
- giovedì ore 16:30-19:30, aula 208 (via Celoria): teoria (fino all'8/10 compreso l'orario è invece 15:30-18:30).
Appelli
Il seguente elenco contiene le date presunte degli appelli.
Laboratorio | Scritto | Orale | Esiti | |
---|---|---|---|---|
Gennaio 2010 | 21/01 | 18/01 | 26/01 | Tabella degli esiti |
Febbraio 2010 | 11/02 | 02/02 | 16/02 | Tabella degli esiti |
Giugno 2010 | 10/06 | 16/06 | 22/06 | Tabella degli esiti |
Luglio 2010 | 01/07 | 08/07 | 13/07 | Tabella degli esiti |
Settembre 2010 | 21/09 | 23/09 | 28/09 |
Compitini
I Compitino | Esercizi di preparazione | Testo e soluzioni | Esiti |
---|---|---|---|
II Compitino | Esercizi di preparazione | Testo e soluzioni | Esiti |
Tabella riassuntiva dell'esito dei compitini |
Programma di massima del corso di Programmazione
Il corso di Programmazione è un corso di 18 crediti finalizzato all'insegnamento della programmazione. Trattandosi di un corso di base, non richiede alcuna conoscenza specifica pregressa; obiettivo del corso è formare gli studenti alla programmazione in senso tradizionale, mediante l'uso di un linguaggio imperativo; il linguaggio insegnato nel corso sarà il C.
Il corso si compone di due moduli, svolti in parallelo: questa pagina descrive solo il modulo di Programmazione (teoria), mentre il Laboratorio di programmazione, tenuto dal dottor Massimo Santini, ha una sua propria pagina web.
Libri di testo consigliati
Il libro consigliato per il corso è:
- [AMA] "Programmazione in C", di K. N. King (ISBN: 9788850328697).
Per la prima parte si farà riferimento a
- [FAP] "Dispense per la prima parte del corso di Fondamenti di Architetture e Programmazione" di Paolo Boldi.
Altri testi di approfondimento di cui consigliamo la lettura sono:
- [KR] "Il linguaggio C", di Brian Kernighan e Dennis M. Ritchie, edito da Pearson Education Italia, Milano (ISBN: 887192200X).
- [PPr] "Programmazione nella pratica", di Brian Kernighan e Rob Pike, edito da Pearson Education Italia, Milano (ISBN: 8871920724).
- [PPe] "Programming Pearls" di Jon Bentley, edito da Addison-Wesley (ISBN: 0201657880).
Alcuni altri link:
- Se siete utenti Linux, potete fare esperienza con la Turtle Graphics con http://edu.kde.org/kturtle/ (ringrazio Nicolò Rebughini per la segnalazione).
- Lo stesso Nicolò Rebughini ha reso disponibile la sua soluzione di mastermind.
- Le mie soluzioni dei programmi presentati nella lezione del 7/1:
- libreria per la gestione di polinomi: polinomi.zip;
- il gioco dell'IndovinaChi: sino.c e un esempio di dump sino-dump.txt (potete eseguirlo come: ./sino sino-dump.txt).
Contenuti del corso
- Introduzione, hardware e software, macchina di Von Neumann, algoritmi, programmi
- Rappresentazione dell'informazione, cenni di assembly, linguaggi, traduttori (FAP)
- Introduzione al C, i primi programmi (AMA 1+2+3)
- Espressioni (AMA 4)
- Selezione (AMA 5)
- Cicli (AMA 6)
- Tipi elementari (AMA 7)
- Array (AMA 8) e stringhe (AMA 13 [cenni])
- Funzioni e struttura dei programmi (AMA 9+10)
- Aritmetica dei puntatori (AMA 11+12, escluso 12.4) e complementi di uso delle stringhe (AMA 13)
- Strutture, unioni ed enumerazioni (AMA 16)
- Puntatori (argomenti avanzati) (AMA 17)
- Preprocessore e programmi di grandi dimensioni, Input/Output e file (AMA 14+15+22)
Modalità d'esame
- Compitini: durante il corso si terranno due compitini (a novembre e a gennaio), cui possono partecipare tutti gli studenti; il compitino costituisce un esonero dallo scritto di gennaio e febbraio: gli studenti che vogliano sostenere l'esame a gennaio o febbraio e che abbiano ottenuto la sufficienza in entrambi i compitini sono esentati dallo scritto (la media dei voti dei compitini sostituisce il voto dello scritto).
- Appelli di gennaio e febbraio 2010: gli appelli di gennaio e febbraio sono costituiti da:
- uno scritto (facoltativo per chi abbia i compitini sufficienti; se viene sostenuto, comunque, i compitini vengono annullati);
- una prova di programmazione individuale in laboratorio;
- un orale, obbligatorio per chi ha sostenuto lo scritto, che determina il voto finale.
- Appelli successivi: gli appelli successivi a quello di febbraio sono costituiti da:
- uno scritto, obbligatorio per tutti (i compitini perdono la propria validità l'appello di febbraio);
- una prova individuale di programmazione in laboratorio;
- un orale facoltativo seguito da verbalizzazione.
- Salto di appello: chi risulta insufficiente negli appelli di gennaio o giugno non potrà sostenere gli appelli di febbraio e luglio, rispettivamente.
- Iscrizione agli appelli: 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 che per l'orale. Questo vale per tutti gli appelli, compresi quelli di gennaio e febbraio, anche per gli studenti che abbiano sostenuto con successo il compitino.
Ricevimento studenti
Il docente riceve nel suo studio di Via Comelico, 39/41 (II piano), su appuntamento. Un appuntamento può essere fissato a lezione, oppure inviando una e-mail al docente e attendendo una risposta di conferma.
Link utili
Tutti gli avvisi e le informazioni importanti relativi a questo corso saranno resi pubblici mediante questa pagina web. Inoltre, in via sperimentale, è attivato un gruppo di discussione sul corso aperto agli studenti e a chiunque sia interessato, e su cui pubblicherò eventuali avvisi urgenti.
Altri link utili sono:
- pagina del modulo di laboratorio tenuto dal dott. Massimo Santini.
- homepage del gruppo di discussione sul corso, ospitato da Google Groups.
- dsy.it, l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione dell'Università degli Studi di Milano.
- pagina di riferimento per il GCC, il compilatore C della GNU che useremo come riferimento.
- pagina di Wikipedia sulle distribuzioni Linux.
- Cygwin, porting degli strumenti GNU per Windows.
- alcune FAQ pubbliche di interesse sugli argomenti del corso sono: