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.
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.
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.
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.