07276 - INFORMATICA

Scheda insegnamento

Anno Accademico 2017/2018

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à. Tipi di dato astratti: coda, pila, albero binario; algoritmi ricorsivi su di essi. Rappresentazione dell'informazione. Struttura della macchina di Von Neumann. Limitazioni dei procedimenti effettivi: esistenza di problemi non risolubili per via algoritmica. 

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
Think Python 2e.
O'Reilly Media, 2012. ISBN 978-1449330729.
Manoscritto disponibile on-line: si veda http://www.cs.unibo.it/~martini/MATH/index.html

Jessen Havill
Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming
Chapman and Hall/CRC. ISBN 9781482254143

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 e si tiene nel secondo periodo didattico; gli orari saranno pubblicati su questa pagina: http://corsi.unibo.it/laurea-matematica/Pagine/orario-lezioni.aspx

Modalità di verifica dell'apprendimento

Il corso ha sia lezioni tradizionali che lezioni di laboratorio, con un unico esame. 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.   La consegna di tutti gli assegnamenti durante l'anno dà diritto ad un bonus di 1 punto.
 
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 le scadenze che sono 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