Academic Year 2019-2020


Carlo Tasso
Giuseppe Serra
Total Course Credits: 6
Teaching Period: Second Period
Prerequisites. Knowledge of traditional (imperative and object-oriented) programming techniques and languages, knowledge of software engineering methodologies, knowledge of data base technology.
Teaching Methods. Lectures, exercises, and laboratory.
Verification of Learning. Written test including: 2 exercises on knowledge representation (from natural langiage texts) and machine learning (from the laboratory sessions); 2 questions on the topics presented in all the course.


The course objectives are mainly introductory, conceptual, and cultural:

– Introducing basic concepts and principles of Artificial Intelligence (AI) and of some of its major areas, such as knowledge-based systems, knowledge representation and reasoning, natural language processing, problem solving, and machine learning;

– Understanding how AI is to be considered an engineering discipline, aimed at developing software systems capable of performing advanced cognitive tasks;

– Understanding relationships and differences between the Traditional approach of Computer science and the Artificial Intelligence Approach;

– Knowing the major characteristics of the symbolic approach to AI and of the sub-symbolic approach to AI;

– Knowing some of the major application areas of AI;

Knowing hao to program a simple Machine Learning module.


The student will have to:

1. Knowledge and understanding:

acquiring specific knowledge of the main concepts and basic principles of AI. Knowing and exploiting basic techniques for knowledge representation and machine learning, also by means of some specific laboratory class. Knowing what is a conceptual model of a specific problem solving task.

2. Ability to apply knowledge and understanding:

knowing how to analyze and represent domain specific knowledge, how to represent the meaning of a simple Natural Language text, how to approach simple machine learning projects, and how to apply the above mentioned knowledge in specific application contexts.


The student will have to:

1. Autonomy of judgment:

being able to independently evaluate the characteristics of a computer application and to be able to understand if the domain is adequate for the traditional approach or for the AI approach.

2. Communicative skills:

acquiring the ability to describe effectively and through appropriate models the scenario of an AI based system and its advantages over a traditional system

3. Learning skills:

being able to learn the basics of AI, in order to possibly later refine and deepen specific areas of the discipline.


General Objectives of the Course are:

– Introducing Atificial Intelligence (AI) and some of its major areas, such as knowledge-based systems (KBS), knowledge representation (KR), natural language processing, and machine learning.

– Introducing and performing some practical (laboratory) activity in Machine Learning.

The main topics presented in the Course are: definition of Knowledge, Intelligence, of AI and of KBSs; basic knowledge representation techniques; introduction to some advanced topic in KR; problem solving; conceptual modeling techniques, ontologies, computer-based diagnosis; natural language processing; machine learning.

Practical exercises in Python are carried out in the Laboratory on Machine Learning, covering: Regression, Classification, Clustering, Neural Networks and Deep Learning


Various papers, reports, slides, etc. available in the E-Learning portal.