07276 - INFORMATICA

Scheda insegnamento

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità

Anno Accademico 2019/2020

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.

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 di laboratorio, nella stessa aula dove si tiene lezione, con i portatili degli studenti: un PC ogni due studenti, in pair programming. Durante il laboratorio, il docente è affiancato da tre tutor.

Il corso è tenuto nel secondo semestre (da febbraio a maggio).
Per gli studenti di Filosofia: il corso è mutuato dal CdL in Matematica e si tiene nel secondo periodo didattico


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) una prova in laboratorio, che consiste nella redazione di alcuni programmi Python, con correzione automatica su dati di prova; (ii) una prova scritta (2 ore, non è consentita la consultazione di appunti o testi). Per sedere alla prova scritta è necessario aver superato la prova di laboratorio. 

Una prova di laboratorio positiva sostenuta nella sessione di giugno-luglio rimane valida per tutti gli appelli della stessa sessione (ma non per quelli di settembre, o gennaio). 

Alla prova di laboratorio è assegnato un voto compreso da 0 e 10, con sufficienza a 5.

Alla prova scritta è assegnato un voto compreso tra 0 e 24, con sufficienza a 13.

Il voto finale è determinato sommando il voto (sufficiente) della prova di laboratorio, dello scritto, e l'eventuale bonus. Se il risultato è maggiore o uguale a 32, il voto è 30Lode.

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

Strumenti a supporto della didattica

Tutte le informazioni e il materiale sul corso sono reperibili a partire dalla pagina: www.cs.unibo.it/~martini/MATH/.

 

Il laboratorio si svolge nella stessa aula dove si tiene lezione, con i portatili degli studenti. È necessario installare sul portatile una versione del linguaggio di programmazione Python: si suggerisce Thonny, un ambiente di programmazione auto-contenuto per Python 3, che sarà utilizzato durante le lezioni.

Tutto il materiale è disponibile sulla piattaforma Moodle del corso: lab-info-mat.cs.unibo.it/moodle/
Per accedere, usare il bottone "Credenziali istituzionali di Ateneo" (e non "Login"), inserire username e password. La prima volta occorre iscriversi al corso, password: "cremona", tutta minuscolo.


La piattaforma deve essere utilizzata anche per inviare gli esercizi per casa assegnati durante il lab.

Link ad altre eventuali informazioni

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

Orario di ricevimento

Consulta il sito web di Simone Martini