Select Academic Year:     2016/2017 2017/2018 2018/2019 2019/2020 2020/2021 2021/2022
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 fields mentioned above, 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 fields mentioned above, 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), computer architecture, and at least one high-level programming language.


- Introduction and historical notes (1h).
- Graph search problems (lectures: 10h, 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 (lectures: 2h, exercises: 1h)
- Knowledge representation and reasoning using logical languages and inference algorithms (lectures: 10h, exercises: 2h)
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: network structure definition, inference algorithms.
- Machine learning (lectures: 14h, exercises: 6h)
Basic concepts. Supervised classification problems, classification algorithms. Decision trees, learning algorithms. Neural networks: the perceptron, feed-forward multilayer networks, back-propagation algorithm; deep neural networks (basics).

Teaching Methods

Lectures: 47 hours.
In-class exercises: 13 hours.

Verification of learning

The examination consists in a written or oral test and in a computer project.
The written/oral 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/oral 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/oral test, up to 10 for the project.
To get a pass mark on the written/oral test students have to: be capable of framing simple problems in the fields considered in this course using suitable models; know the basic elements of the main approaches and algorithms to solve them; be able to apply such methods and algorithms to solve simple problem instances.
The grade of the written/oral 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 the capability of analyzing and discussing the results of their application to solve 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: