Foundations of Computing - INTELLIGENZA ARTIFICIALE (2016/2017)

Course code
Name of lecturer
Alessandro Farinelli
Number of ECTS credits allocated
Academic sector
Language of instruction
II sem. dal Mar 1, 2017 al Jun 9, 2017.

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

II sem.
Day Time Type Place Note
Monday 11:30 AM - 1:30 PM lesson Lecture Hall I  
Wednesday 8:30 AM - 11:30 AM lesson Lecture Hall I  

Learning outcomes

The class presents the main techniques for problem solving, based on the central paradigm of symbolic representation. The objective is to provide the students with the ability to design, apply and evaluate algorithms for difficult problems, meaning that their mechanical solution captures aspects of artificial intelligence or computational rationality.


Problem solving as search in a state space; un-informed search procedures; heuristic search procedures; adversarial search. Problem solving based on constraint processing (satisfaction and optimization). Logic-based knowledge representation: normal forms; equality. Theorem proving: satisfiability (SAT), resolution, rewriting. Intelligent agents: planning, multi-agent systems, coordination. Probabilistic reasoning, decision theory.

Reference books
Author Title Publisher Year ISBN Note
Stuart Russell, Peter Norvig Artificial Intelligence: A Modern Approach (Edizione 2) Prentice Hall 2003 0137903952

Assessment methods and criteria

The final grade for the IA module can be achieved with a single test or with partial tests. The single written test will be done at the exam date. The partial tests includes two written tests (one during the course and one at the end of the course) or a written test (done during the course) and a project (usually with a consistent programming part).