- Docente: Maurizio Gabbrielli
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Inglese
- Moduli: Michael Lodi (Modulo 1) Maurizio Gabbrielli (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea Magistrale in Artificial Intelligence (cod. 9063)
-
Orario delle lezioni (Modulo 1)
dal 16/09/2024 al 22/10/2024
-
Orario delle lezioni (Modulo 2)
dal 31/10/2024 al 19/12/2024
Conoscenze e abilità da conseguire
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.
Contenuti
Module 1
Abstract machines. Python machine. Programming in Python: names and visibility, functions, immutable and mutable objects, basic data types (numbers, strings, tuples, lists, dictionaries) and their use in the solution of problems. Classes and objects. Methods and inheritance. Exceptions. Introduction to the library NumPy and its N-dimensional array objects.
Module 2
Introduction to mathematical logic. Unification. Resolution.
Introduction to logic programming. Prolog languages.
Constraint logic programming and concurrent constraint programming. Constraint programming. The language MiniZinc.
Testi/Bibliografia
Module 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
Module 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.
Metodi didattici
Theoretical and practical class lectures.
Module 1
Formal in-class lectures. Autonomous work on guided programming exercises (outside the scheduled class times), using the Moodle platform for the course. Lectures (24 hours) will be concentrated at the beginning of the semester (before end of Oct). As it concerns the teaching methods of this course unit, all students must attend Modules 1 and 2 on Health and Safety online
Modalità di verifica e valutazione dell'apprendimento
Written and/or oral examinations at the end of each module.
Possible project work.
Module 1 will be assessed through a mandatory Python programming test, with automatic correction, using the Moodle programming platform for the course. A preliminary test could be offered in end October / early November.
Strumenti a supporto della didattica
Lectures. Practical exercises.
Orario di ricevimento
Consulta il sito web di Maurizio Gabbrielli
Consulta il sito web di Michael Lodi