Docente:
Comunicazioni
- Attenzione: sono della dell' a causa di problemi con le aule, tenere questa pagina sotto controllo per eventuali altri cambiamenti
Ricevimento studenti
Contattare il docente via e-mail per fissare assieme l'orario.
Materiale didattico dell'edizione 2007/2008 e precedenti
Cliccare qui per tale materiale.
Lucidi delle lezioni
- Introduzione al corso di Programmazione
- Dai problemi ai programmi
- Introduzione ai linguaggi C e C++ (aggiornata al 13/10/08)
- Tipo booleano, programmazione strutturata, istruzioni condizionali e di scelta multipla (data ultima modifica: 22/10/08)
- Istruzioni iterative (data ultima modifica: 22/10/08)
- Funzioni (data ultima modifica: 3/11/08)
- Scope e tempo di vita (data ultima modifica: 19/11/08)
- Valori logici, espressione condizionale, tipo carattere, tipo reale, conversioni di tipo (data ultima modifica: 17/11/08)
- Riferimenti e passaggio dei parametri per riferimento
- Ingegneria del codice
- Tipi di dato strutturati: array e matrici (data ultima modifica: 25/11/08)
- Tipi di dato strutturati: stringhe e struct
- Memoria dinamica, puntatori ed array dinamici (data ultima modifica: 01/12/08)
- Compendio sul sottoinsieme del C++ a comune col C
- Stream, fstream e file (data ultima modifica: 9/12/08)
- Algoritmi, linguaggi, programmi, traduttori, ambienti di programmazione (data ultima modifica: 9/12/08)
- Classi di memorizzazione, record di attivazione e spazio di indirizzamento
- Introduzione alle liste
Cliccare qui per la versione con sfondo bianco dei lucidi delle lezioni.
Lucidi delle esercitazioni
Tracce/soluzioni esercizi
Introduzione all'uso del PC:
Clicca qui per il materiale del corso di Introduzione all'uso del PC.
Modalità d'esame
- L'esame si compone di due prove:
- una prova scritta (a volte chiamata anche test) con maggioranza di domande a scelta multipla e alcune domande aperte
- una prova di programmazione (a volte chiamata anche prova pratica) da svolgersi su calcolatore sia per gli studenti di Informatica, che per quelli di Matematica
- La prova consiste nella scrittura di un programma o frammento di codice che risponda alle specifiche riportate nella traccia fornita all'atto della prova stessa.
- Durante la prova lo studente avrà modo di scrivere, compilare e provare il proprio elaborato nel tempo a disposizione. Entro tale tempo lo studente deve informare il docente della sua eventuale intenzione di abbandonare la prova. Se non abbandona, il suo elaborato sarà preso in consegna dal docente.
- Al termine del tempo previsto avverrà una correzione pubblica. Ogni algoritmo equivalente a quello mostrato nella correzione è valido per superare la prova. Ovviamente l'esito della prova in termini di punti dipenderà dall'aderenza alle specifiche date nella traccia, dagli errori introdotti e, in misura minore, dalla efficienza/inefficienza in termini di quantità di codice scritto o numeri di passi effettuati dall'algoritmo realizzato dallo studente.
- Dopo la correzione pubblica, lo studente, ovviamente purché non abbia precedentemente abbandonato, può decidere se consegnare o meno. Nel caso di mancata consegna, la prova scritta rimane valida per gli appelli successivi. Nel caso invece lo studente consegni, questo conclude l'esame.
- L'esito dell'esame verrà comunicato nel modo più opportuno. In caso lo studente non abbia superato l'esame, oppure rifiuti il voto proposto, sia la prova scritta che quella di programmazione vengono invalidate, e pertanto dovranno essere sostenute di nuovo.
- La prova di programmazione sarà svolta in uno dei laboratori del Dipartimento di Matematica (tipicamente il Laboratorio Base)
- Le macchine su cui si svolgerà la prova di programmazione sono dotate di sistema operativo GNU/Linux, e probabilmente anche Windows. Tuttavia, siccome l'ambiente di sviluppo preso a riferimento durante il corso e' GNU/Linux, solo per quest'ultimo è garantita la presenza di tutti i necessari tool di sviluppo e la piena assistenza del docente.
- Per chi non fosse pratico dell'ambiente GNU/Linux, può essere utile consultare il materiale del mini corso di Introduzione all'uso del PC
- Si ricorda che:
- nel caso di superamento della prova di programmazione, è possibile sostenere un orale facoltativo (che potrà migliorare o peggiorare il voto acquisito dalle prove scritta e di programmazione)
- è possibile ripetere la prova scritta negli appelli successivi tenendo presente che il voto della prova scritta precedente rimane valido fino alla consegna della nuova prova scritta e comunque non oltre l'anno accademico in corso
- è possibile ripetere la prova di programmazione negli appelli successivi tenendo presente che il voto della prova scritta precedente rimane valido fino alla consegna della nuova prova di programmazione e comunque non oltre l'anno accademico in corso
- Per gli studenti che hanno seguito in anni precedenti
- Se (e solo se) segnalano esplicitamente la cosa all'atto dell'iscrizione all'esame, avranno modo di sostenere l'esame con le stesse regole e lo stesso linguaggio (C) dell'anno precedente.
- Per iscriversi ad uno degli appelli previsti (tranne il pre-appello, a cui l'iscrizione è ormai chiusa) mandare una e-mail a paolo.valente < at > unimore.it almeno 3 giorni prima della data dell'appello, specificando nome, cognome, matricola, corso di laurea e se l'iscrizione riguarda entrambe le prove o solamente una delle due prove.
Nel caso ci si sia immatricolati in anni precedenti a quello in corso, indicare se si vuole
sostenere l'esame secondo le regole del vecchio esame di Programmazione (ossia sostanzialmente
utilizzando il linguaggio C anziché il C++). Attenzione, nel caso non pervenga alcuna
segnalazione in merito, non saranno preparate tracce alternative, per cui non sarà di fatto
possibile sostenere l'esame in base alle vecchie regole.
- In quanto all'iscrizione su esse3, necessaria per tutti solo per poter poi verbalizzare l'esame sul
libretto elettronico, per ciascun appello sarà presente solo la data della prova di programmazione,
perché è in tale data che avverrà la verbalizzazione in caso di esito positivo dell'esame. In particolare,
gli informatici devono scegliere l'esame di Programmazione I, mentre i matematici
quello di Informatica Generale.
NB: iscriversi per poi cambiare idea e non presentarsi non comporta nessun problema, mentre, al
contrario iscrizioni pervenute in ritardo non saranno accettate.
- Preappello:
- Prova scritta: 17 Dicembre 2008, ore 14:00, Aula di Disegno
- Traccia prova scritta
PDF
- Traccia e soluzione prova scritta
PDF
- Prova di programmazione: 19 Dicembre 2008, ore 13:00, Lab. Base
- Traccia prova di programmazione
PDF
- Per problemi tecnici (doppio turno di esami) sono state date solo 2 ore anche se la
prova è stata definita per essere svolta in 2 ore e 45 minuti.
- Frammento iniziale di codice
sorgente C++
- Soluzione prova di programmazione
sorgente C++
- Primo appello sessione invernale:
- Prova scritta: 14/01/09, ore 10, Aula di disegno, Dip. Matematica
- Traccia prova scritta PDF
- Traccia e soluzione prova scritta PDF
- Prova di programmazione: 15/01/09, ore 9, Lab. Base, Dip. Matematica
- Traccia prova di programmazione PDF
- Frammento iniziale prova di programmazione sorgente C++
- Soluzione prova di programmazione sorgente C++
- Secondo appello sessione invernale:
- Prova scritta: 10/02/09, ore 10, Aula di disegno, Dip. Matematica
- Traccia prova scritta PDF
- Traccia e soluzione prova scritta PDF
- Prova di programmazione: 11/02/09, ore 9, Lab. Base, Dip. Matematica
- Traccia prova di programmazione PDF
- Frammento iniziale prova di programmazione sorgente C++
- Soluzione prova di programmazione sorgente C++
- Primo appello sessione estiva:
- Prova scritta: 9/06/09, ore 13:30, Aula 3, Dip. Matematica
- Prova di programmazione: 10/06/09, ore 9, Lab. Base, Dip. Matematica
- Traccia prova di programmazione PDF
- Frammento iniziale prova di programmazione sorgente C++
- Soluzione prova di programmazione sorgente C++
- Secondo appello sessione estiva:
- Prova scritta: 30/06/09, ore 10, Aula 2, Dip. Matematica
- Traccia prova scritta PDF
- Traccia e soluzione prova scritta PDF
- Prova di programmazione: 1/07/09, ore 9, Lab. Base, Dip. Matematica
- Traccia prova di programmazione PDF
- Frammento iniziale prova di programmazione sorgente C++
- Soluzione prova di programmazione sorgente C++
- Appello sessione autunnale:
- Prova scritta (attenzione: sono a causa di problemi con le aule, tenere questa pagina sotto controllo per eventuali altri cambiamenti): 22/09/09, ore 12:15, Aula 1, Dip. Matematica
- Prova di programmazione: 23/09/09, ore 9, Lab. Base, Dip. Matematica
Testi di riferimento:
- Bruce Eckel
Thinking in C++, 2nd Edition, Volume 1
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Sito per il download gratuito:
http://www.mindviewinc.com/
- Testo chiaro e completo per apprendere il linguaggio, e per acquisire dimistichezza con il lessico della programmazione (ed in generale dell'Informatica) in lingua Inglese.
- Andrea Domenici, Graziano Frosini
Introduzione alla programmazione ed elementi di strutture dati con il Linguaggio C++
Franco Angeli
ISBN 88-464-3173-1
- Più sintetico e formale del precedente, ma molto chiaro e conciso. Anche questo molto appropriato per incominciare.
- Bjarne Stroustrup
C++. Linguaggio, libreria standard, principi di programmazione
Pearson Education Italia
ISBN: 88-719-2078-3
- Scritto dall'autore stesso del linguaggio C++, non è di facile lettura come i precedenti, e soprattutto presuppone la conoscenza del linguaggio C o del C++ stesso. E' segnalato in questo elenco quale testo di approfondimento e riferimento sul C++ (con alta probabilità tra i migliori disponibili).