Introduction to Artificial Intelligence

[272SM]
a.a. 2025/2026

3° Year of course - First semester

Frequency Not mandatory

  • 9 CFU
  • 72 hours
  • English
  • Trieste
  • Obbligatoria
  • Standard teaching
  • Written and Oral Kindred
  • SSD INF/01
  • Advanced concepts and skills
Curricula: PERCORSO COMUNE
Syllabus

[Knowledge and understanding]
Students will understand classical artificial intelligence techniques to multiple application domains, from automatic planning, constraints satisfactiom, to the control of intelligent agents.
[Applying knowledge and understanding]
Through exercise sessions, homework and projects, students will learn to apply the learnt concepts in practical scenarios: how to identify the problem and which of the techniques shown in class may apply.
[Making Judgement]
The course will equip the student with critical judgement about the difficulty of algorithmic search problem at hand, as well as possible methods of approaching it.
[Communication skills]
Students will enhance their ability to communicate their progress and final findings through discussion with team-members and presentation in front of the class.
[Learning skills]
Students will enhance both their independent learning skills as well as learning through teamwork.

Basics of programming, logic, algorithms and complexity

The course will deal with classical artificial intelligence methods, starting from research techniques and then continuing with the treatment of constraint satisfaction problems, the use of techniques deriving from logic and the planning of complex actions.

Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach. The latest is the fourth edition but previous editions are also adequate.

- Introduction and history of classical artificial intelligence
- Intelligent agents
- Search strategies and heuristic research
- Research in non-deteministic and / or partially observable environments

- Basics of game theory
- Optimal decisions in games and research techniques
- Stochastic games and partially observable games
- Introduction to multi-agent systems

- Constraints Satisfaction Problems
- Inference, backtracking, and local search techniques

- Logic agents, SAT solvers, and logic programming
- Knowledge representation and ontologies
- Expert systems and knowledge engineering

- Automatic scheduling and planning
- Classical planning techniques
- Heuristics for scheduling

Learning will take place through lectures and exercises

The verification consists of three parts: (1) a written exam value 70% of the final grade, (2) oral exam valued 20% of the final grade, (3) project work, homework, and activity in class which alltogehter are valued 10% of the final grade. To pass the exam, the student must have at least 60% overal performance. The written exam is organised at the end of lecture sessions and it contributes with 70% to the final grade. To be admitted to the oral exam, the student must have 60% of the written exam correctly solved. The oral exam then counts with 20% towards the final grade. It consists of a short examination of the student with questions on two or three theoretical concepts seen in class. The written exam evaluates technical knowledge on specific topics and the ability to focus on detail. On the other hand, the oral exam serves to evaluate whether the student understands the concepts and is able transfer knowledge over different applicative scenarios or to connect them into a big picture.
Throughout the year, students are given homework 6 times.
Homeworks are either exercise sheets, or hands-on programming assignments, which can becompleted in teams of up to 5 members. They receive feedback on these solutions and this can influence the final grade up to 10%. The first homework assignment involves a presentation of studied material in front of the whole class. Presence and activity in class can raise the final grade by 5%.

This course explores topics closely related to one or more goals of the
United Nations 2030 Agenda for Sustainable Development (SDGs)