Select Academic Year:     2017/2018 2018/2019 2019/2020 2020/2021 2021/2022 2022/2023
First Semester 
Teaching style
Lingua Insegnamento

Informazioni aggiuntive

Course Curriculum CFU Length(h)


This course is taught in English, and provides basic knowledge of some of the main approaches, methods, and application fields of Artificial Intelligence, under the computer engineering perspective.

The learning outcomes expressed in terms of the Dublin descriptors are the following:

Knowledge and understanding
Students will know and understand some of the main approaches, models and algorithms of Artificial Intelligence in the following fields: graph search and constraint satisfaction problems; knowledge representation and reasoning using logical languages, and using probabilistic methods; machine learning.

Applying knowledge and understanding
Students will be capable of solving simple problems in the above-mentioned fields, and of implementing and testing computer programs to solve them.

Making judgements
Students will be able to analyze and design systems for solving simple problems in the above-mentioned fields, taking into account the trade-off between computational complexity and solution quality, in terms of criteria such as accuracy and optimality.

Student will be capable of expressing and discussing issues related to Artificial Intelligence, to highlight problems and to propose solutions.


Good knowledge of elements of discrete mathematics (combinatorics), of computer organization and architecture, and of at least one high-level programming language.


- Introduction and historical notes (1h).
- Graph search problems (lectures: 9h, exercises: 2h)
Formulation of search problems: state space, operators, goal, path cost, search tree. Uninformed search strategies: breadth-first, depth-first, uniform cost; other search strategies (basics): depth-limited, iterative-deepening depth-first, bidirectional. Informed, best-first search strategies: greedy search, A*; heuristic functions. Computational complexity of search algorithms.
- Constraint satisfaction problems: depth-first backtracking search algorithm (lectures: 3h)
- Knowledge representation and reasoning using logical languages and inference algorithms (lectures: 12h, exercises: 3h)
Introduction: logical languages, inference.
Propositional logic and first-order logic: syntax and semantics. Main inference algorithms: model checking, inference rules, forward and backward chaining; the resolution algorithm (basics).
- Knowledge representation and reasoning under uncertainty (lectures: 10h, exercises: 2h)
Notes on probability theory. Bayesian networks: conditional independence assumptions encoded in cetwork structure, outline of inference algorithms.
- Machine learning (lectures: 16h, exercises: 2h)
Basic concepts. Supervised classification problems, classification algorithms. Decision trees, learning algorithms. Neural networks: the perceptron, feed-forward multilayer networks, back-propagation algorithm; basics of deep neural networks.

Teaching Methods

Lectures: 53 hours.
In-class exercises: 7 hours.
Lectures and in-class exercises will be held in person, possibly complemented with live streaming.

Verification of learning

The examination consists in a written test and in a computer project.
The written test consists of open questions and exercises about all course topics.
The project can be developed individually or in groups of two, and aims at deepening knowledge of one of the course topics; this is achieved by implementing suitable computer programs to solve specific problem instances.
To pass the examination a pass mark in both the written test and the project is required; the final grade (expressed in the numeric range 18-30) will be the sum of the two grades: up to 20 for the written test, up to 10 for the project.
To get a pass mark on the written test students must show a basic knowledge of all the course topics; in particular, they must be capable of framing simple problems in the fields considered in this course, using suitable models; must know the basic elements of the main approaches and algorithms to solve them; must be able to apply such methods and algorithms to solve simple problem instances.
The grade of the written test, expressed in a numeric scale from 12 to 20, depends on the degree of knowledge of the approaches and algorithms presented during the course, and on the degree of complexity of the problems that the student will be able to address and to solve.
To get a pass mark on the project, students must possess: a sufficient mastery of related models, methods and algorithms; the capability of developing computer programs to implement simple versions of such algorithms; the capability of applying their programs to solve specific problem instances.
The grade of the project, expressed in a numeric scale from 6 to 10, depends on the degree of complexity of the algorithms that the student will be capable of implementing, and on the capability of analyzing and discussing the results of their application to specific problem instances.


S. Russell and P. Norvig, "Artificial Intelligence - A Modern Approach", 3rd Ed., Prentice Hall, 2009.

More Information

Teaching material is available on the course web site:
The web site includes an extended version of the lecture slides, in-class exercises (including solutions), and additional resources on Artificial Intelligence (textbooks, links to relevant Web sites, etc.).

Questionnaire and social

Share on:
Impostazioni cookie