This 6-credit course provides a comprehensive introduction to recommender systems, covering both theoretical foundations and real-world applications. Students will explore a broad range of recommendation techniques, from knowledge-based and content-based methods to collaborative filtering, hybrid models, and context-aware approaches, alongside key topics such as user modelling, personalisation, group recommendation, trust, and system evaluation.
The course combines lectures with practical sessions, giving students hands-on experience in building and assessing recommender systems. Ethical, security, and data management considerations are integrated throughout. By the end of the course, students will be equipped to design, implement, and critically evaluate recommender systems across a variety of application domains, including media, e-commerce, healthcare, and agriculture.
This 6-credit course (IPM-24ATRSEG) offers a rigorous and comprehensive introduction to recommender systems, spanning theoretical foundations, algorithmic methods, and practical implementation. Taught in English at ELTE Faculty of Informatics, the course is designed for master’s students in Data Science and related programmes.
Content & Structure
The course runs across 13 weeks and covers the following progression of topics:
Week 1: Introduction to Recommender Systems, Course overview; Types of RS; Real-world applications; Challenges
Week 2: Foundations, Utility matrix; Long-tail problem; Data mining basics; User-item interaction data
Week 3: Content-Based Filtering I, Item profiles; TF-IDF similarity; User preference modelling
Week 4: Content-Based Filtering II, Movie recommender using TF-IDF; Lab Session.
Week 5: Collaborative Filtering I, Memory-based CF; User-user vs. item-item approaches; Lab Session.
Week 6: Collaborative Filtering II, KNN-based item similarity; Neighbourhood models; Lab Session.
Week 7: Latent Factor Models I, Matrix factorisation; SVD; NMF; Lab Session.
Week 8: Latent Factor Models II, SVD++; Softmax DNN; Deep learning for RS; Lab Session.
Week 9: Knowledge-Based & Constraint-Based RS, Constraint satisfaction; Critiquing; Lab Session.
Week 10: Hybrid & Advanced Architectures, Hybrid models; Context-aware RS; Group recommendation; Social models; Trust in RS.
Week 11: Evaluation of Recommender Systems, RMSE, MAE, Precision@K, Recall@K, NDCG, coverage; Lab Session.
Week 12: Ethics, Fairness & Bias, Algorithmic bias; Filter bubbles; Information cocoons; De-biasing techniques; Responsible AI.
Week 13: Future Trends & Project Presentations, Graph Neural Networks (LightGCN); Federated Learning; LLM-RS synergy; Student project presentations
At the end of the course, the learner will be able to:
LO1: Explain the fundamental concepts, architectures, and application domains of recommender systems, including the utility matrix, the long-tail problem, and key algorithm families
LO2: Implement content-based filtering techniques using TF-IDF similarity measures and user preference modelling in Python
LO3: Build collaborative filtering systems using both memory-based (user-user, item-item) and model-based (KNN, matrix factorisation) approaches
LO4: Apply latent factor models, including SVD, SVD++, NMF, and deep learning methods, to uncover hidden patterns in user-item interaction data
LO5: Design hybrid, knowledge-based, and constraint-based recommender systems suited to complex real-world application scenarios
LO6: Evaluate the performance of recommender systems using standard metrics such as RMSE, Precision@K, Recall@K, and NDCG, and interpret results critically
LO7: Assess ethical challenges in recommender systems, including algorithmic bias, filter bubbles, fairness, and data privacy considerations
LO8: Develop an original AI-based recommender system project using machine learning, deep learning, or reinforcement learning, addressing a real-world problem
LO9: use industry-standard tools and practices, including Python, Jupyter Notebooks, and version control via GitHub, to implement and document reproducible recommender system pipelines
L10: discuss emerging trends in the field, including graph neural networks, federated learning, and the integration of large language models into recommendation pipelines
There are no formal pre-requisites for this course. However, students are expected to have:
– Basic programming experience, preferably in Python (variables, loops, functions, libraries)
– Foundational knowledge of data analysis, including familiarity with data structures and basic statistical concepts (mean, variance, similarity measures)
– Basic linear algebra, including vectors, matrices, and matrix operations (helpful for understanding latent factor models)
Students are also expected to:
– Attend all lectures (mandatory) and miss no more than four practical sessions
– Maintain a GitHub account and submit all lab work and project code via the course repository
– Select an individual research project topic by the designated deadline (Week 2 of the semester)
Compulsory Reading
[1] Ricci, F., Rokach, L., Shapira, B. (Eds.) Recommender Systems Handbook. Springer, 2nd Edition, 2015. ISBN: 978-1489976376. DOI: 10.1007/978-1-4899-7637-6
[2] Aggarwal, C. C. Recommender Systems: The Textbook. Springer, 2016. ISBN: 978-3319296579. DOI: 10.1007/978-3-319-29659-3
[3] Koren, Y., Bell, R., Volinsky, C. Matrix Factorization Techniques for Recommender Systems. IEEE Computer, Vol. 42, No. 8, pp. 30–37, 2009. DOI: 10.1109/MC.2009.263
Recommended Reading
[1] Jannach, D., Zanker, M., Felfernig, A., Friedrich, G. Recommender Systems: An Introduction. Cambridge University Press, 2010. ISBN: 978-0521493369
[2] Wang, Z., Pu, C., Wang, F. Deep Learning Recommender Systems. Cambridge University Press, 2025. ISBN: 978-1009447508
[3] Leskovec, J., Rajaraman, A., Ullman, J. Mining of Massive Datasets (Chapter 9: Recommendation Systems). Cambridge University Press, 3rd Edition. Available open access at: http://www.mmds.org/
Recommended Survey Papers
[1] Zhang, S., Yao, L., Sun, A., Tay, Y. Deep Learning Based Recommender System: A Survey and New Perspectives. ACM Computing Surveys, Vol. 52, No. 1, Article 5, 2019. DOI: 10.1145/3285029
[2] Gao, C., Zheng, Y., Li, N., Li, Y., Qin, Y., Peng, J., Han, S., Chen, J., Ma, D., Jin, D., Li, Y. A Survey of Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions. ACM Transactions on Recommender Systems, Vol. 1, No. 1, Article 1, January 2023. DOI: 10.1145/3568022
[3] Zhang, Y., Chen, X. Explainable Recommendation: A Survey and New Perspectives. Foundations and Trends in Information Retrieval, Vol. 14, No. 1, pp. 1–101, 2020. DOI: 10.1561/1500000066
[4] Wu, L., Zheng, Z., Qiu, Z., Wang, H., Gu, H., Shen, T., Qin, C., Zhu, C., Zhu, H., Liu, Q., Xiong, H., Chen, E.
A Survey on Large Language Models for Recommendation.
arXiv preprint, 2023, last revised June 2024.
Course Repository (lab notebooks, datasets, project templates)
The course combines weekly lectures with hands-on laboratory sessions, where students implement recommender system algorithms in Python using Jupyter Notebooks and Google Colab. All lab materials are accessible via the course GitHub repository.
Throughout the semester, students engage in independent reading of assigned research papers and book chapters, developing critical thinking and familiarity with the state of the art. This feeds directly into the final oral examination, which combines theoretical knowledge with a discussion of the student’s own work.
The main applied activity is an individual research project, in which each student designs and implements an original AI-based recommender system addressing a real-world problem, presented formally at the end of the semester.
Transcript of records