194.035 Recommender Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2024S, VU, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • Format: Blended Learning

Learning outcomes

After successful completion of the course, students are able to:

(1) Comprehend the basic concepts of recommender systems,

(2) Distinguish the differences among various recommendation methods,

(3) “Recommend” appropriate recommendation techniques and evaluation strategies when faced with a task,

(4) Implement basic recommendations methods and evaluate them over real datasets and tasks.

Subject of course

  • Introduction
  • Collaborative Filtering (CF)
  • Model-based CF -- Matrix Factorization
  • Content-based Recommenders
  • Evaluation Methods
  • Sequence-aware Recommenders
  • Special Topics (e.g., Fairness, Group Recommenders, Special Domains - Tourism, Music, News)

Teaching methods

The programming assignments are to be done in Python using Jupyter Notebooks. A short introduction to using Jupyter Notebooks will be given. In class, there will be a discussion of the assignments, solving any problems encountered, and at then end the solutions will be overviewed.

The project is to be done in any programming language and environment. There will be dedicated lectures for the project. Also, students will be motivated (by bonus points) to actively help each other.

Mode of examination


Additional information

This course is an overview of the general research area of Recommender Systems. The goal of these systems is to address the information overload problem (multitude of choices) people face in everyday life. Examples include selecting news articles to read, a movie to watch, a travel destination, friends to connect with, a restaurant to dine, buying a product.

The course will introduce the basic concepts, that is, users, items, preferences, explicit/implicit feedback, and proceed to explain important tasks, such as modeling a user’s preferences and an item’s attractiveness, collecting feedback from users, predicting the degree of interest of a user for an item, evaluating effectiveness. For these tasks the course will overview the most important approaches taken, and discuss the state-of-the-art. Towards the end of the course, certain advanced specialized topics, recently being investigated by the research community, will be discussed.

The students will be asked to implement simple approaches using real-life datasets, and work on a real-case task related to current challenges in the field. 

Workload for students (in hours):

  • Preliminary Discussion: 0,5
  • Lecture Time: 13*1,5=19,5
  • Practical Part (Assignments and Project Work): 35
  • Test and Preparation for it: 20
  • Sum: 75



Course dates

Tue16:00 - 18:0005.03.2024EI 8 Pötzl HS - QUER Lecture
Tue14:00 - 16:0012.03.2024 - 25.06.2024EI 8 Pötzl HS - QUER Lecture
Tue16:00 - 18:0007.05.2024EI 8 Pötzl HS - QUER Lecture
Tue16:00 - 18:0018.06.2024EI 8 Pötzl HS - QUER Lecture
Tue09:00 - 12:0025.06.2024HS 7 Schütte-Lihotzky - ARCH Lecture
Tue13:00 - 16:0025.06.2024EI 5 Hochenegg HS Vorlesung
Recommender Systems - Single appointments
Tue05.03.202416:00 - 18:00EI 8 Pötzl HS - QUER Lecture
Tue12.03.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue19.03.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue09.04.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue16.04.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue23.04.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue30.04.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue07.05.202416:00 - 18:00EI 8 Pötzl HS - QUER Lecture
Tue14.05.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue28.05.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue11.06.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture
Tue18.06.202416:00 - 18:00EI 8 Pötzl HS - QUER Lecture
Tue25.06.202409:00 - 12:00HS 7 Schütte-Lihotzky - ARCH Lecture
Tue25.06.202413:00 - 16:00EI 5 Hochenegg HS Vorlesung
Tue25.06.202414:00 - 16:00EI 8 Pötzl HS - QUER Lecture

Examination modalities

The course involves individual programming assignments and a goup project as well as a final written exam.

- 4 Programming Assignments in Python using Jupyter Notebooks, where you fill in the missing code. (20% of total grade)

- 1 Project in Python partly done in groups. (40% of total grade)

- The written offline exam is closed book with open and multiple choice questions. (40% of total grade)


DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Tue14:00 - 16:0004.06.2024EI 7 Hörsaal - ETIT written05.03.2024 14:00 - 02.06.2024 23:59TISSExam 1st Date

Course registration

Begin End Deregistration end
15.02.2024 09:00 12.03.2024 23:59 31.03.2024 23:59


Study CodeObligationSemesterPrecon.Info
066 645 Data Science Not specified
066 926 Business Informatics Mandatory elective


No lecture notes are available.

Previous knowledge

  • Basic knowledge of Linear Algebra, Calculus and Statistics
  • Background in Machine Learning, Information Retrieval, E-Commerce is welcome but not required
  • All necessary concepts are introduced in course
  • Content on slides alone suffice
  • Programming skills required

Continuative courses