- Docente: Simone Martini
- Crediti formativi: 8
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Simone Martini (Modulo 1) Simone Martini (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à. 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
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 e valutazione dell'apprendimento
Anche se il corso è composto da due parti logicamente distinte
(lezioni; 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. 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 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