72938 - Foundations Of Artificial Intelligence T

Course Unit Page

  • Teacher Paola Mello

  • Credits 8

  • SSD ING-INF/05

  • Teaching Mode Traditional lectures

  • Language Italian

  • Campus of Bologna

  • Degree Programme Second cycle degree programme (LM) in Computer Engineering (cod. 5826)

  • Teaching resources on Virtuale

  • Course Timetable from Feb 24, 2022 to May 26, 2022


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Industry, innovation and infrastructure

Academic Year 2021/2022

Learning outcomes

Introduction to main principles and methods in Artificial Intelligence. Artificial Intelligence based methodologies and techniques for solving problems with particular emphasis on knowledge-based systems and computational logic techniques. Desing and implementation of some practical systems based on procedural and declarative programming languages.

Course contents

The course introduces the student to the principles and methods used to solve Artificial Intelligence methods, with a particular attention to knowledge-based systems and computational logic approaches. In particular, the Prolog programming language is introduced as a tool for implementing Artificial Intelligence systems. Moreover, seminars on specific Artificial Intelligence topics are planned. This course is preparatory for the course of Intelligent Systems.

Prerequisites: attending the course requires a medium knowledge of a high level programming language, in order to successfully understand case studies and applications presented during the lessons. Regarding the course contents, no prerequisites are required: the student will be gradually introduced to the fundamental notions of the Artificial Intelligence, and no assumption about previous knowledge is made.


  • Introduction to Artificial Intelligence: brief history of AI, main application fields, introduction to knowledge-based systems and architectural organization.
  • Problem solving in AI: representation through the notion of state, forward e backward reasoning, solving as a search and search strategies (informed and non). Games, constraint satisfaction problems, and planning problems.
  • Knowledge Representation: First Order Predicate Logic, Production Rules Systems, Knowledge-based systems, Some hints about formal ontologies.
  • Languages for Artficial Intelligence. Prolog: from logic to logic programming, Prolog programs as solvers, desing and development of simple Prolog programs, few notes about meta-predicates and meta-interpreters.


A comprehensive list of textbooks is available on the Web site, and it is reported also in the course slides. When available, the english versions of these textbooks are recommended:

About Artificial Intelligence:

  • S. J. Russel, P. Norvig: "Artificail Intelligence: A modern approach", Prentice Hall, Last  or previous edition.

About Prolog:
  • L. Console, E. Lamma, P. Mello, M. Milano: "Programmazione Logica e Prolog", Seconda Edizione UTET, 1997.


Teaching methods

Slides projected during the lessons are used as a support by the teacher. The teacher takes care to made them available on hte web sites few days before each lesson. Classroom lessons are interleaved by some practical activities in the laboratories of the Engineering School.
Autonomous lab activities are welcome and promoted by suggesting ideas and possible test projects.
As part of the course, the teacher organizes also some seminars and invited lectures and challenges.

Assessment methods

The achievement of the learning goals is verified by the student itself, by means of the exercises proposed during the labs, and at the end of the course, by means of a final exam.

The final exam consists of a written test, of duration of two hours, organized as a set of exercises and open questions choose by all the topics presented in the course. The total marks for the test sum up to 32 points, with a minimum threshold of 18/32 points; below the threshold the test is considered as "failed". The final mark is equal to the total marks achieved in the test, and must be considered on a maximum of 30; if the marks should exceed the 30 points, the final mark will be "30 with honor / 30". During the written test it is strictly forbidden to consult textbooks, personal notes or any other external source.

Upon an explicit request from the student, it is possible to take an additional oral exam. In such case, questions of the (non mandatory) interview will be about all the topics and contents introduced within the course, and also about a specific topic/student project that must be agreed with the teacher before the colloquium.

The final mark can be increased up to a maximum of 3 more points with respect to the marks obtained in the written test.

The student can take the written test many times, either because previous tests were failed, or because the marks were not satisfactory. When a student submit the test to the teacher, the results obtained in the previous tests are voided, and only the more recent marks will be taken into consideration.

Teaching tools

Teaching materials: all the slides used during the lessons  are available in electronic format and can be accessed/downloaded at the course web site:

The teacher takes care to publish and update the slides, and to make them available few days before each lesson.
A comprehensive list of text books and manuals is available on the course web site, and is reported on the course slides as well.
Suggestions for further readings, slides and notes about additional topics, and exercises are made available through the web site. Moreover, the texts of all the final exams of previous years are available, and the students are encouraged to use them to improve their preparation.

Links to further information


Office hours

See the website of Paola Mello