teaching

Materials for courses in the bachelors, and the masters level at TU Delft.

Data Mining

Level: Bachelors
Co-taught with: Sicco Verwer, Nergin Tömen

This course introduces students to the fundamental concepts and techniques of data mining. Topics include data preprocessing, probabilistic counting, dimensionality reduction, clustering, anomaly detection, and mining text and graph data. The course also includes practical sessions where students apply these techniques using popular data mining tools and software.

Studyguide Link

Brightspace 2024


Information Retrieval

Level: Masters

Co-taught with: Sole Pera, Jie Yang

In this course, students explore the principles and practices of information retrieval. The syllabus covers the design and implementation of search engines, text indexing, query processing, and evaluation of information retrieval systems. Special topics include learning-to-rank, neural ranking models, and recommender systems.

Studyguide Link

Brightspace 2024


Natural Language Processing (NLP)

Level: Masters

Co-taught with: Jie Yang

This course delves into the field of Natural Language Processing, covering both the theoretical and practical aspects. Students learn about text processing, language modeling, syntactic and semantic analysis, and large-language models. The course emphasizes hands-on projects and applications of NLP techniques in real-world scenarios.

Coursebase Link

Brightspace 2024


Past Courses (@Leibniz University Hannover)


SS 2019 - 2021: Deep Learning

Level: Masters

Course Description: Foundations of Deep Learning with applications. The aim of this lecture is to provide a solid foundation about deep learning and its applications. We will first study regular machine learning and basic, simple deep learning architectures. Afterwards we will focus on the applications of deep learning/neural networks, including current cutting-edge research. The lecture has both theoretical and programmatic aspects. Students will be exposed to popular machine learning problems and datasets while being able to work hands on with frameworks such as TensorFlow and scikit-learn.


SS 2016 - 2018: Algorithms for Big Data

Level: Masters

Course Description: Concepts and foundations of modern algorithms for Processing, Mining, and Learning for Big Datasets. The aim of this lecture is to learn efficient algorithms that are used for processing large datasets. The course involves learning scalable approaches to some of the fundamental problems involving finding similar items, clustering, recmmender systems and graph mining. The lecture has both theoretical and programmatic aspects. Students will be exposed to large distributed data processing frameworks like Hadoop and Spark.


WS 2017 - 19: Foundations of Probabilistic Information Retrieval

Level: Masters

Course Description: The aim of this lecture is to learn the probabilistic underpinings of modern information retrieval techniques. We will study probabilistic modeling, machine learning, deep learning and how to apply concepts from these areas to improve search engines. The lecture has both theoretical and programmatic aspects. Students will be exposed to popular machine learning problems and datasets while being able to work hands on with frameworks such as tensorflow and scipy.


WS 2014 - 2016: Temporal Information Retrieval

Level: Masters

Course Description: Masters level course on understanding temporal aspects and issues in Information Retrieval.


Puzzling Problems in Computer Science

Level: Bachelors

Course Description: Bachelor course which presents computer science problems in the form of puzzles.