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)


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 2023/2024

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 editions.

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 the 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, challenges  and invited lectures.

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 selected from all the topics presented in the course.  During the written test it is strictly forbidden to consult textbooks, personal notes or any other external source.

More details will be provided in the material published on the Virtuale platform related to the Course.

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