Machine Learning

Academic year
Subject Area
Computer Science
Language of Instruction
Mode of Delivery
ECTS Credits
1st Cycle Studies

Recommended Prerequisites

Calculus, Linear Algebra, Programming.

Teaching Methods

Lectures: introduction and discussion of the concepts, techniques and algorithms of machine learning. Labs: using tools to implement and apply machine learning algorithms to medium complexity problems. This is a group work to be done at the lab classes under the supervision of the professor. Count 10% of the final grade. A practical project implying the use of ML algorithms for a concrete problem (30% of the final grade).  A report and the code are mandatory, and there will be a public defense of the work. Written exam (60% of the final grade).

Learning Outcomes

We want to introduce the core machine learning algorithms, the principles and the mathematics behind them, and expect that the student at the end of the course will be able to identify the best algorithm(s) for a particular task and validate its choice both experimentally and formally. Students will also gain a broad view about other types of machine learning, together with a general idea about the most recent approaches in machine learning. Moreover, it is expected that, as a result of the several activities that will be proposed to the students, they will acquire and deepen a set of other competences, namely oral and written communication skills, arguing skills, critical reasoning skills and group work skills.

Work Placement(s)



1. Introduction: types of learning, tasks and data
2. Supervised Learning: regression, classification
3. Unsupervised Learning: clustering, association analysis
4. Performance Metrics
5. Complements: semi-supervised learning, reinforcement learning, concept learning, fuzzy learning, ensembles, deep-learning
6. Machine Learning for Big Data.

Head Lecturer(s)

Catarina Helena Branco Simões da Silva

Assessment Methods

Resolution Problems: 10.0%
Project: 30.0%
Exam: 60.0%


- Peter Flach, Machine Learning: the art and science of algorithms that maker sense of data, Cambridge University Press, 2012.
- Trevor Hastie, Robert Tibsshirani and Jerome Friedman, The Elements of Statistical Learning (2nd Edition), Springer, 2008.
- Introduction to Machine Learning with Python, Andreas C. Muller and Sarah Guido, O'Reilly, 2017.
- João Gama et alli, Extracção de Conhecimento de Dados, Edições Sílabo, 2012.