- Docente: Maurizio Gabbrielli
- Credits: 6
- SSD: ING-INF/05
- Language: English
- Moduli: Michael Lodi (Modulo 1) Maurizio Gabbrielli (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
-
from Sep 16, 2024 to Oct 22, 2024
-
from Oct 31, 2024 to Dec 19, 2024
Learning outcomes
At the end of the course, the student has an understanding of the main linguistic techniques used in the context of AI, including the main aspects related to functional, logic and constraint programming.
Course contents
Modulo 1
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. La libreria NumPy e i suoi array N-dimensionali.
Modulo 2
Introduzione alla logica matematica. Unificazione. Risoluzione.
Introduzione alla programmazione logica. I linguaggi Prolog.
Programmazione logica con vincoli e programmazione concorrente con vincoli. Programmazione con vincoli. Il linguaggio MiniZinc.
Readings/Bibliography
Modulo 1
John V. Guttag. Introduction to Computation and Programming Using Python Third Edition: With Application to Computational Modeling and Understanding Data. MIT Press, 2021.
https://mitpress.mit.edu/books/introduction-computation-and-programming-using-python-third-edition
Modulo 2
Dirk van Dalen. Logic and structure. 4th edition, Springer.
K. Doets. From Logic to Logic Programming. The Mit Press.
Russell, Norvig. Artificial Intelligence: A Modern Approach (any edition). Pearson.
Teaching methods
Lezioni frontali ed esercitazioni.
Modulo 1
Lezioni in aula. Esercitazioni autonome (fuori dall’orario di lezione) di programmazione, utilizzando la piattaforma Moodle del corso. Le lezioni (24 ore) sono concentrate nel periodo iniziale del semestre (entro la fine di ottobre). 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
Assessment methods
Esame orale e/o scritto alla fine di ogni modulo. Possibile progetto.
Modulo 1: sarà proposto un test obbligatorio di programmazione in Python, a correzione automatica su dati di test, sulla piattaforma Moodle del corso. Un primo test potrebbe essere offerto nel mese di Novembre (o fine Ottobre)
Teaching tools
Esercitazioni in aula.
Office hours
See the website of Maurizio Gabbrielli
See the website of Michael Lodi