teaching
Next to research, I also teach courses at the University of Liège, mainly to students in engineering, computer science, and data science.
INFO8006 Introduction to Artificial Intelligence
This course offers an introduction to artificial intelligence, covering both the foundational concepts of intelligent agents and the immediate applications of AI in science and engineering. Lectures are based on several chapters of the textbook “Artificial Intelligence: A modern approach” (S. Russel and P. Norvig) used worldwide since 1995 for teaching the essentials of AI. The course also integrates some of the latest developments not included in this textbook.
Table of contents:
- Lecture 0: Introduction to Artificial Intelligence
- Lecture 1: Intelligent agents
- Lecture 2: Solving problems by searching
- Lecture 3: Games and adversarial search
- Lecture 4: Quantifying uncertainty
- Lecture 5: Probabilistic reasoning
- Lecture 6: Reasoning over time
- Lecture 7: Machine learning and neural networks
- Lecture 8: Making decisions
- Lecture 9: Reinforcement learning
Materials:
INFO8010 Deep Learning
In an age where sophisticated algorithms drive innovation, deep learning stands at the forefront, underpinning many breakthroughs in science and engineering. From advancing medical diagnostics with image recognition, to reshaping natural language processing, deep learning has become indispensable across many domains.
In this context, this course offers an immersive exploration of deep neural networks, emphasizing end-to-end model development for tasks such as visual recognition, text and speech understanding, or the design of autonomous intelligent systems. Lectures cover the details of neural network architectures, ensuring students not only learn the theoretical underpinnings but also master the practical aspects. Students also learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in the field.
Table of contents:
- Lecture 1: Fundamentals of machine learning
- Lecture 2: Multi-layer perceptron
- Lecture 3: Automatic differentiation
- Lecture 4: Training neural networks
- Lecture 5: Convolutional neural networks
- Lecture 6: Computer vision
- Lecture 7: Attention and transformers
- Lecture 8: GPT and large language models
- Lecture 9: Graph neural networks
- Lecture 10: Uncertainty
- Lecture 11: Auto-encoders and variational auto-encoders
- Lecture 12: Diffusion models
Materials:
INFO8004 Advanced Machine Learning
The goal of this course is to prepare students for the study of state-of-the-art research in the field of machine learning. The class is organized as a journal club, with reading and presentation assignments of recent machine learning research papers. In terms of content, this course focuses on advanced topics in machine learning, deep learning, and artificial intelligence.
Materials:
DATS0001 Foundations of Data Science
Data science is rooted in a rigorous and systematic methodology for understanding and interpreting data. This course seeks to instil the foundational principles of data science, with a particular emphasis on the scientific method and the iterative process of Bayesian modelling. Our perspective is that models are built iteratively: We build a model, use it to analyze data, assess how it succeeds and fails, revise it based on insights, and repeat.
Table of contents:
- Lecture 1: Build, compute, critique, repeat
- Lecture 2: Data
- Lecture 3: Visualization
- Lecture 4: Bayesian modeling
- Lecture 5: MCMC
- Lecture 6: Expectation-maximization
- Lecture 7: Variational inference
- Lecture 8: Model criticism
- Lecture 9: Wrap-up case study
Materials:
Archived courses
Previously, I have taught the following courses:
- INFO8002 Large-scale data systems
- PROJ0016 Big data project