- Docente: Simone Martini
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Artificial intelligence (cod. 9063)
Conoscenze e abilità da conseguire
Al termine dell'attività formativa, lo studente è capace di analizzare un problema, formulare un algoritmo per risolverlo e codificare tale algoritmo in un programma eseguibile. Lo studente conosce alcuni algoritmi di base e un linguaggio di programmazione.
Contenuti
Informatica e problem solving. Macchine astratte. La macchina Python. Programmazione in Python: nomi e loro visibilità, funzioni, oggetti modificabili e non modificabili, tipi di dato (numeri, stringhe, ennuple, liste, dizionari) e loro uso nella risoluzione di problemi di media difficoltà. Classi e oggetti; metodi ed ereditarietà. Eccezioni. Cenni di complessità computazionale. La libreria NumPy e i suoi array N-dimensionali.
Saranno proposti esercizi ed attività di laboratorio.
Prerequisiti: qualche esperienza di programmazione. Il corso, per ovvi motivi di tempo, introdurrà soprattutto un linguaggio di programmazione, mentre non potrà dilungarsi sulle tecniche di programmazione (che sono per larga natura indipendenti dallo specifico linguaggio).
Testi/Bibliografia
John V. Guttag
Introduction to Computation and Programming Using Python
(Second Edition: With Application to Understanding Data)
MIT Press, 2016
Altre letture consigliate:
Allen B. Downey
Think Python 2e.
O'Reilly Media, 2012. ISBN 978-1449330729.
On-line manuscript: see https://greenteapress.com/wp/think-python-2e/
Jessen Havill
Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming
Chapman and Hall/CRC. ISBN 9781482254143
Metodi didattici
Lezioni in aula, con possibilità di fruizione in remoto (anche delle ore di laboratorio).
Esercitazioni guidate usando in aula i computer portatili degli studenti (BYOD: Bring Your Own Device).
Lezioni ed esercitazioni (40 ore complessive) sono concentrate nel periodo iniziale del semestre (entro il 16/10). In ottobre sarà offerto un pre appello informale: un pre appello sufficiente sarà registrato in gennaio come un esame per l'intero corso.
In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning
Modalità di verifica e valutazione dell'apprendimento
Esame scritto, parte del quale consisterà nella produzione di programmi Python
Orario di ricevimento
Consulta il sito web di Simone Martini
SDGs

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