Go to:
Esta página em português Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
You are here: Start > EIC0029

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Artificial Intelligence

Code: EIC0029     Acronym: IART

Classification Keyword
OFICIAL Artificial Intelligence

Instance: 2018/2019 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 168 Syllabus since 2009/2010 3 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Ana Paula Cunha da Rocha
Luís Paulo Gonçalves dos Reis

Teaching - Hours

Lectures: 3,00
Recitations: 1,00
Type Teacher Classes Hour
Lectures Totals 1 3,00
Luís Paulo Gonçalves dos Reis 3,00
Recitations Totals 6 6,00
Ana Paula Cunha da Rocha 2,00
Luís Paulo Gonçalves dos Reis 4,00
Mais informaçõesLast updated on 2019-02-24.

Fields changed: Objectives, Resultados de aprendizagem e competências, Pre_requisitos, Componentes de Avaliação e Ocupação, Fórmula de cálculo da classificação final, Obtenção de frequência, Programa, Métodos de ensino e atividades de aprendizagem

Teaching language



This course provides a set of subjects (topics) that are the core of the Artificial Intelligence and Intelligent System area.

The main objectives are:

  • To know what characterizes and distinguishes AI and how to apply it.
  • To know how to automatically represent, acquire, manipulate and apply knowledge using Computational Algorithms and Systems.
  • To develop small projects using AI techniques.

Percentual Distribution: Scientific component: 60%; Technological component: 40%

Learning outcomes and competences

At the end of the course, students should be able to represent, acquire, manipulate and apply knowledge using computer systems. More specifically, the student should be able to:

  • Understand the fundamentals of Artificial Intelligence and Intelligent Systems, what characterizes and distinguishes them, their applicability and where we find them in our daily lives.
  • Understand the notion of Computational Agent and Multi-Agent System and be able to design and implement Agents and Multi-Agent Systems to solve different problems.
  • To learn heuristic and systematic methods of Problem Solving, with and without Adversaries, using the Knowledge for solving complex problems.
  • To learn methods of Representation and Reasoning with uncertain Knowledge using different formalisms.
  • Understand how to develop interfaces in Natural Language and Inference Engines for Knowledge Based Systems.
  • To know machine learning algorithms applying different paradigms (Induction, Evolutionary, Reinforcement, Neuronal, Deep Learning).
  • Understand advanced topics in Artificial Intelligence and be able to formulate a vision into the future of AI and its practical applications now and in the future.


Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge of algorithms, data structures, and programming.


I. Introduction to Artificial Intelligence (AI)

Definition of AI. Fundamentals, Scope, Evolution and Chronology of AI. Problems and Approaches of AI and Intelligent Systems. AI Applications.

II. Intelligent Agents and Multi-Agent Systems

The Concept of Agent. Environments. Agent Architectures: Reactive, Deliberative, Goal-Based, Utility-Based, Learning and BDI. Multi-Agent Systems: Concept, Motivation, Architectures, Communication, Coordination. Practical Examples of Application.

III. Problem Solving Methods

Problem Formulation. State Space. Search Strategy. Uninformed Search: Breadth First, Depth First, Uniform Cost, Iterative Deepening, Bidirectional Research. Intelligent Search: Greedy Search, A* Algorithm. Search with Adversaries: Game Search, Minimax Algorithm, Alpha-Beta Cuts, Search with Imperfect Information. Practical Examples of Application.

IV. Optimization and Metaheuristics

Formulation of Decision/Optimization Problems. Hill-Climbing Algorithm, Simulated Annealing, Tabu Search, "Ant Colony". Genetic Algorithms and Evolutionary Computation. Constraint Satisfaction. Practical Examples of Application.

V. Knowledge Engineering

Knowledge Representation and Reasoning. Propositional and Predicate Logic. Semantic Networks, Frames, Rules, and Ontologies. Logic Programming and Programming with Constraints. Reasoning with Uncertain Knowledge. Knowledge-Based Systems. Expert Systems: Inference Engine, Generation of Explanations, Generic Systems ("Shells"). Practical Examples of Application.

VI. Machine Learning

Types of Learning. Learning concepts. Learning for example, by analogy, based on explanations. Inductive Learning: Algorithms ID3 and C4.5. Artificial Neural Networks: Basic principles and fundamental algorithms. Support Vector Machines. Reinforcement Learning. Deep Learning. Practical Application Examples.

VII. Natural Language Processing

Processing Levels. Syntactic and Semantic Analysis. ATN, Semantic Grammars and Case Grammars. Classical Approach and Use of Logic. Grammar with Definite Clauses. Extraposition Grammar. Statistical Approach. Text Mining. Practical Application Examples.

VIII. Advanced Topics in Artificial Intelligence

Perception/Vision, Communication, Interaction, Planning, Scheduling, Robotics, Intelligent Simulation, Social Intelligence. Applications of Artificial Intelligence and Intelligent Systems. The Future of AI. IA and the Society. Beneficial IA. Machine Ethics. Weak and Strong IA. Super Intelligence. The Singularity.

Mandatory literature

Stuart Russell, Peter Norvig; Artificial intelligence. ISBN: 978-0-13-207148-2

Complementary Bibliography

Bratko, Ivan; Prolog programming for artificial intelligence, N. ISBN: 0-201-40375-7
J. Ross Quinlan; Programs for Machine Learning, Morgan Kaufmann Publishers, 1998
Ernesto Costa e Anabela Simões; Inteligência artificial. ISBN: 972-722-269-2
Elaine Rich, Kevin Knight; Artificial intelligence. ISBN: 0-07-100894-2
Pedro Domingos; The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World, Basic Books, 2015. ISBN: ISBN-13: 978-0465065707

Teaching methods and learning activities

Theoretical classes: exposition with interaction. Theoretical-practical classes: modeling, problem-solving, programming exercises and project development.


Java, C/C++
Prolog: SWI, Sicstus, LPA


Technological sciences > Engineering > Knowledge engineering

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 50,00
Teste 10,00
Trabalho escrito 10,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 50,00
Frequência das aulas 56,00
Trabalho laboratorial 56,00
Total: 162,00

Eligibility for exams

Not exceed the absence limit allowed and have a minimum of 37,5% in the distributed classification (DC)

Calculation formula of final grade

Distributed Classification (DC): weight=50%, including two practical works (% related to the distributed classification):

  • Assignment1 (quality of the work and code, final report, presentation performance) (40%);
  • Assignment2 (quality of the work and code, final report, presentation performance) (40%);
  • Evaluation during classes: mini-exams/moodle activities (20%)

Test/Exam (EC): weight=50% (2h30m test with consultation).

 To pass, the student must have a minimum of 37.5% in each of the two evaluation components, distributed (DC) and exam (EC).

Examinations or Special Assignments

Two practical assignment, respective reports, and demos (weight=50%) and an exam (weight=50%).

To get approved, the student must have a grade equal or higher to 37,5% in each of the evaluation items.

Special assessment (TE, DA, ...)

Two practical assignment and the respective reports, and demos (weight=50%) and an exam (weight=50%).

To be approved, the student must have a grade equal or higher to 37,5% in each of the evaluation items.

Classification improvement

Assignment, exam or both.

Mini-exams' grades are not taken into account for this purpose. Its valuation will be added to the Exam component.

Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-03-21 at 23:11:22