07276 - INFORMATICA

Scheda insegnamento

Anno Accademico 2014/2015

Conoscenze e abilità da conseguire

Al termine del corso, lo studente possiede il necessario background informatico ed una appropriata conoscenza dei linguaggi di programmazione. Sa utilizzare le conoscenze acquisite per progettare autonomamente algoritmi e strutture dati. Sa lavorare in modo autonomo, ma anche inserirsi in un gruppo di lavoro.

Programma/Contenuti

Informatica e problem solving.  Macchine astratte. La macchina Python. Programmazione in Python: nomi e loro visibilità, funzioni, oggetti modificabili e non modificabili, strutture dati di base (stringhe, ennuple, liste, dizionari) e loro uso nella risoluzione di problemi di media difficoltà. Rappresentazione dell'informazione. Struttura della macchina di Von Neumann. Limitazioni dei procedimenti effettivi: esistenza di problemi non risolubili per via algoritmica. 
 
Una parte del corso (su liste, dizionari e tipi di dato astratti) è tenuta dal dott. Davide Bresolin. Il corso ha un'intensa attività di laboratorio, in cui il docente è affiancato da un tutor e da studenti di laurea magistrale che fanno assistenza.

Testi/Bibliografia

Allen B. Downey. Python for software design. Cambridge University Press, 2009. ISBN 0521725968.
Manoscritto disponibile on-line: http://greenteapress.com/thinkpython/

Saranno disponibili dispense informali.

Metodi didattici

Lezioni in aula. 
Esercitazioni in laboratorio.
Il corso è tenuto nel secondo semestre (da febbraio a maggio). 

Il corso ha un'intensa attività di laboratorio, in cui il docente è affiancato da un tutor e da studenti di laurea magistrale che fanno assistenza.

Per gli studenti di Filosofia: il corso è mutuato dal CdL in Matematica; gli orari saranno pubblicati su questa pagina: http://cdl.dm.unibo.it/8010/orari.

Modalità di verifica dell'apprendimento

Anche se il corso è composto da tre parti logicamente distinte (lezioni prof. Martini; lezioni prof. Dal Lago; laboratorio con i tutor), l'esame è unico. Ogni settimana saranno proposti in laboratorio alcuni test di autovalutazione: non sono necessari per l'esame, ma costituiscono un importante strumento per la sua preparazione.  
 
L'esame è costituito da due parti:  (i) la  redazione individuale di un progetto, da consegnare prima di sedere allo scritto; (ii) una prova scritta (2 ore, non è consentita la consultazione di appunti o testi).  
Il testo del progetto è unico per tutto l'anno accademico ed è reso pubblico entro il mese di aprile. I progetti vanno consegnati entro scadenze fissate alcuni giorni precedenti la prova scritta cui si intende presentarsi. 

Condizione necessaria e sufficiente per la verbalizzazione dell'esame è aver superato lo scritto con una prova sufficiente (voto ≥ 18/30) e aver consegnato un progetto sufficiente. Ad un progetto sufficiente viene assegnato un voto tra 0 e 5, che viene sommato al voto dello scritto per determinare il voto finale in trentesimi. Un progetto insufficiente deve essere ripresentato: sarà corretto e valutato insieme ai progetti della scadenza successiva. Non si può rifiutare il voto assegnato al progetto. 

Per gli studenti di scienze filosofiche (per i quali l'esame è di sei crediti): l'esame non comprende il progetto.

Strumenti a supporto della didattica

Laboratorio informatico.
Informazioni e materiale sul corso sono disponibili al link  www.cs.unibo.it/~martini/MATH/

Link ad altre eventuali informazioni

http://www.cs.unibo.it/~martini/MATH/index.html

Orario di ricevimento

Consulta il sito web di Simone Martini

Consulta il sito web di Davide Bresolin