Laboratorio di programmazione (Matematica)
Indice
- Avvisi
- Appelli
- Compitini
- Programma del corso
- Materiale usato durante le esercitazioni
- Modalità d'esame
- Ricevimento studenti
- Link utili
Avvisi
- Appello di settembre. Si veda la pagina apposita.
Appelli
- Appello di Aprile 2008
- Appello di Giugno 2008
- Appello di Luglio 2008
- Appello di Settembre 2008
Compitini
I compitino (13/11/2007) | Esercizi di preparazione | Testo e soluzioni | Esiti |
---|---|---|---|
II compitino (11/01/2008) | Esercizi di preparazione | Testo e soluzioni | Esiti |
Tabella riassuntiva | |||
Ammessi alla prova del 5/2 | Ammessi alla prova (suddivisi per turno) | ||
Voti della prova e verbalizzazioni |
Posso sostenere l'esame a febbraio? Per aiutarvi a rispondere a questa domanda, e per evitare che mi scriviate una valanga di e-mail a riguardo, ho preparato un programma C che è in grado di aiutarvi. Scaricate il programma cliccando qui, compilatelo ed eseguitelo rispondendo alle domande che vi porrà.
Programma di massima del corso
Il corso di Laboratorio di programmazione è 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 lezioni di teoria e di esercitazioni svolte in laboratorio.
Libri di testo consigliati
I libri consigliati per il corso sono:
- [AMA] "C Programming: A Modern Approach", di K. N. King, edito da W. W. Norton & Company, USA (ISBN: 0-393-96945-2).
- [KP] "C - Didattica e programmazione", di A. Kelley e I. Pohl, edito in Italia da Pearson Education (ISBN-13: 9-788-87192-2195).
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).
Uno studente del corso, che ringrazio, ha gentilmente fornito un'interessante presentazione PowerPoint sulla scrittura di un programma, di cui può essere utile la lettura. [© Gabriele Agliardi 2006-07. Tutti i diritti riservati (legge 22 aprile 1941, n. 633).]
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)
Materiale usato durante le esercitazioni
- Esercitazione del 11/10/2007
- Esercitazione del 18/10/2007
- Esercitazione del 24/10/2007
- Esercitazione del 9/11/2007
- Esercitazione del 22/11/2007
- Esercitazione del 22/11/2007; per questa esercitazione servono anche i seguenti file:
- Esercitazione del 13/12/2007
- Esercitazione del 20/12/2007
- Esercitazione del 10/1/2008
- Esercitazione del 17/1/2008
- Esercitazione extra da svolgere autonomamente
- Esercitazione del 24/1/2008 (solo per il Corso avanzato)
Ringrazio Giovanni Cavallanti, che ha reso disponibili le sue soluzioni delle esercitazioni svolte fino al 20/12; ringrazio anche Gabriele Lombardi, che lo ha aiutato nella stesura dei commenti al codice.
Modalità d'esame
Gli studenti possono sostenere l'esame a partire dall'appello di febbraio 2008. Sono previste modalità diverse per gli studenti che decidono di sostenere l'esame al primo appello (febbraio 2008) e quelli che decidono di sostenerlo in uno degli appelli successivi, come specificato sotto.
- Compitini: durante il corso si terranno due compitini, cui possono partecipare tutti gli studenti; i compitini danno la possibilità di partecipare all'appello di febbraio 2008: gli studenti che vogliano sostenere l'esame a febbraio e che abbiano ottenuto nel primo compitino una votazione non inferiore a 15, e una media non inferiore a 18 nei due compitini, possono partecipare all'appello di febbraio 2008.
- Appello di febbraio 2008: l'appello di febbraio è costituito da una prova di programmazione individuale in laboratorio. Gli studenti che hanno ottenuto la sufficienza nella media dei compitini e che hanno una valutazione sufficiente nella prova di programmazione possono verbalizzare. Il voto verbalizzato è la media aritmetica fra i voto dei compitini e quello della prova di programmazione, arrotondato all'intero più vicino.
- Scritto straordinario di febbraio 2008. A febbraio, prima della prova di programmazione in laboratorio, si terrà uno
scritto straordinario, cui potranno partecipare esclusivamente:
- gli studenti che abbiano partecipato al primo compitino con una votazione inferiore a 15;
- gli studenti che abbiano partecipato a entrambi i compitini con una media inferiore a 18.
- Appelli successivi: gli appelli successivi a quello di febbraio sono costituiti da:
- un progetto da realizzare a casa, individualmente o in gruppi di al massimo tre persone;
- un orale.
- 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). Questo vale per tutti gli appelli, compreso quello di febbraio, anche per gli studenti che abbiano sostenuto con successo il compitino.
Ricevimento studenti
Il docente riceve il giovedì, dalle ore 13.30 alle ore 14.30, 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.
Altri link utili sono:
- 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: