ARTIFICIAL INTELLIGENCE

Academic Year 2025/2026 - Teacher: CAROLINA CRESPI

Expected Learning Outcomes

Knowledge and understanding: Students will develop a solid grasp of the implementation and design aspects of diverse algorithmic methodologies for tackling computationally complex and large-scale problems.

Applying knowledge and understanding: Students will acquire the skills required to analyze complex problems and to select and apply suitable solution methodologies based on sound algorithmic reasoning.

Making judgments: Students will be able to assess and identify the most effective and appropriate algorithmic approach for solving complex, large-scale, and real-world problems.

Communication skills: Students will develop the communication abilities and expressive clarity needed to present issues related to intelligent systems and their applications.

Learning skills: Students will be able to transfer acquired knowledge to new contexts and critically appraise the strengths and limitations of various intelligent solution techniques.

Course Structure

The lectures will be held in person and take place in the classroom.


If the course is delivered in blended or distance learning mode, the necessary adjustments may be introduced with respect to what was previously stated, in order to ensure compliance with the program outlined in the Syllabus.

Required Prerequisites

The course assumes a good working knowledge of the programming languages C, C++, Java, Python, and/or MATLAB.

Attendance of Lessons

Attendance is recommended. The lectures help students better grasp the topics covered and the overarching idea linking the various themes, providing useful references and discussions.

Detailed Course Content

The course explores the main computational methodologies for solving complex problems, with a focus on search and optimization strategies. After an introductory overview of problem-solving and state-space search, the course examines the most relevant informed search strategies, such as Greedy Best-First Search, A*, and memory-limited heuristic approaches. It then addresses local search strategies, including Local Search and Hill Climbing, which are particularly effective for large-scale optimization problems. A dedicated section focuses on algorithmic techniques for games and competitive scenarios, such as Minimax and Alpha–Beta pruning, as well as algorithms for constraint satisfaction problems. Finally, the course covers the fundamental exact optimization methods, including Branch-and-Bound and Branch-and-Cut, highlighting their use in the design of efficient and general-purpose computational solutions.

Textbook Information

  1. Russell, S., & Norvig, P. Artificial Intelligence: A Modern Approach (3rd Edition). Prentice Hall, 2009. ISBN-10: 0136042597 - ISBN-13: 9780136042594
  2. Talbi, E.-G. Metaheuristics: From Design to Implementation. Wiley, 2009. ISBN-10: 0470278587 - ISBN-13: 9780470278581
  3. Teaching materials (lecture notes, slides, exercises, articles) provided by the instructor and made available on the instructor’s personal websitehttps://www.dmi.unict.it/ccrespi/artificial-intelligence/

Course Planning

 SubjectsText References
1Informed and uninformed search strategies.Russell & Norvig, cap. 3 “Solving Problems by Searching” (3.1–3.6)
2Local Search Algorithms (Local Search, Hill Climbing, etc.)Russell & Norvig, cap. 4 “Beyond Classical Search” (4.1–4.2); Talbi, cap. 2 “Single-Solution Based Metaheuristics” (2.1–2.3).
3Algorithmic techniques for game theory (Minimax, Alpha-beta, etc.)Russell & Norvig, cap. 5 “Adversarial Search” (5.1–5.4).
4Algorithms for problems with constraints (Map coloring, etc.)Russell & Norvig, cap. 6 “Constraint Satisfaction Problems” (6.1–6.4); Talbi, cap. 5.3 “Combining Metaheuristics with Constraint Programming”.
5Exact methodsTalbi, cap. 1.3.1 “Exact Methods” and cap. 5.2 “Combining Metaheuristics with Mathematical Programming”.
6Swarm IntelligenceTalbi, cap. 3.6 “Swarm Intelligence” (3.6.1 Ant Colony Optimization, 3.6.2 Particle Swarm Optimization, 3.7.1 Bees Colony).

Learning Assessment

Learning Assessment Procedures

The exam consists of the project-based development of an algorithmic methodology to solve a given problem, accompanied by a descriptive report written in LaTeX. The project must be completed within a maximum of 2 weeks from its start date, or within the time limit set by the instructor. The algorithm to be developed and the problem to be solved will be proposed and communicated by the instructor on the official exam date. The project must be implemented in one of the following programming languages: C, C++, Java, Python, or MATLAB.
After the project is submitted, an oral interview will follow to discuss the work carried out.

The overall grade is assigned according to the following scheme:

  • Not passed: the student has not acquired the basic concepts and is unable to complete at least 60% of the practical exercises (developing a basic algorithm).

  • 18–23: the student demonstrates a minimal command of the basic concepts and the ability to implement simple or foundational algorithms.

  • 24–27: the student demonstrates good command of the course content, solid knowledge, and the ability to implement more advanced versions of the algorithms covered in class.

  • 28–30 with honors: the student has achieved excellent mastery of all course content and is able to implement efficient and original algorithms covered in the course, including those of particular complexity.

Learning assessments may also be conducted online, should circumstances require it.

Students with disabilities and/or learning disabilities (DSA) must contact the teacher, the CInAP representative of the DMI (Prof. Daniele), and the CInAP office well in advance in order to access appropriate compensatory measures.

Examples of frequently asked questions and / or exercises

ChatGPT ha detto:

Examples of possible projects will be presented during the lectures and made available on the official course webpage. These examples are for illustrative purposes only and may not necessarily correspond to those proposed during the exam.

VERSIONE IN ITALIANO