- Docente: Simone Martini
- Crediti formativi: 8
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Simone Martini (Modulo 1) Davide Bresolin (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
-
Corso:
Laurea in
Matematica (cod. 8010)
Valido anche per Laurea Magistrale in Scienze filosofiche (cod. 8773)
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à. 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 e valutazione 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