-
Presentation
Presentation
This module provides the foundations for designing and implementing recommender systems (RS). Students learn fundamental algorithms, including collaborative filtering and content-based recommendation, as well as modern approaches: matrix factorisation, probabilistic methods, deep learning, and network- and graph-based approaches. The module includes three journal club sessions in which students discuss recent research articles. The module has a theoretical-practical approach, including implementation of RS in Python with real-world data. By the end, students will have a solid understanding of the state of the art in RS and will be able to apply these techniques in real-world scenarios.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Master Degree | Semestral | 7
-
Year | Nature | Language
Year | Nature | Language
2 | Optional | Português
-
Code
Code
ULHT457-1-26428
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
S1. Introduction to Recommender Systems S2. Collaborative Filtering fundamentals (hands-on tutorial) S3. Matrix Factorisation methods S4. Probabilistic extensions (PMF, BPR) S5. Evaluation metrics (accuracy, ranking, diversity) S6. Neural Collaborative Filtering S7. Network- and graph-based recommendation approaches S8. Journal clubs: societal implications, LLMs in RS, state-of-the-art surveys S9. Ethics, privacy, and social impact
-
Objectives
Objectives
LG1. Understand the fundamentals and applications of recommender systems, including their main challenges. LG2. Know, compare, and apply different recommendation algorithms: collaborative filtering, content-based, hybrid, and matrix factorisation. LG3. Explain and apply probabilistic extensions and understand their relevance for handling sparsity and uncertainty. LG4. Evaluate recommender systems using different metrics (accuracy, coverage, diversity, novelty) and interpret the results. LG5. Implement recommender systems in Python, selecting appropriate methods and tuning parameters for performance. LG6. Recognise the ethical, social, and privacy implications of recommender systems, and discuss their economic and societal impact.
-
Teaching methodologies
Teaching methodologies
Lectures are in-person and combine theoretical exposition with practical laboratory sessions. Active participation is encouraged, both in problem-solving and programming exercises and in critical debates through journal clubs. The integration of theory and practice is continuously assessed, fostering autonomy and critical thinking. Students learn to use AI tools responsibly, and the module's dynamic prioritises dialogue over unidirectional exposition.
-
References
References
Falk, K. (2019). Practical recommender systems. Simon and Schuster. Recommender Systems Handbook by Ricci, F., Rokach, L., & Shapira, B. (2015) Introduction to Recommender Systems by Aggarwal, C. C. (2016)
-
Assessment
Assessment
Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.
Exemplo:
Descrição
Data limite
Ponderação
Journal club I
semana 4
20%
Journal club II
semana 8
20%
Journal club III
semana 12
20%
Exame semana 15 40% Nota. O trabalho em pelo menos um dos journal clubs inclui a submissão de elementos práticos (implementação Python) através de projeto com especificações definidas em enunciado suplementar.
-
Mobility
Mobility
No





