Algorithms in data science

linma2472  2025-2026  Louvain-la-Neuve

Algorithms in data science
5.00 credits
30.0 h + 22.5 h
Q1
Teacher(s)
Blondel Vincent; Calbert Julien (compensates Delvenne Jean-Charles); Delvenne Jean-Charles; Legat Benoît (coordinator);
Language
Prerequisites
Familiarity with mathematics and algorithmics of the common core of the Bachelor of Engineering or Computer Science (SINF) is required. More particularly in linear algebra and analysis (e.g. LEPL1101 and 1102), probability (e.g. LEPL1108), discrete mathematics (e.g. LINMA1691), algorithmics and basic programming (e.g. LEPL1104 and LEPL1401).
Main themes
The course explores questions, mainly of an algorithmic nature, regarding the challenges offered by the emergence of Big Data.
Learning outcomes

At the end of this learning unit, the student is able to :

With regard to the AA framework, this course contributes to the development, acquisition and assessment of the following learning outcomes:
  • AA1.1, AA1.2, AA1.3
  • AA3.1, AA3.2, AA3.3
  • AA4.1, AA4.2, AA4.4
  • AA5.1, AA5.2, AA5.3, AA5.5, AA5.6
  • AA6.1, AA6.2, AA6.3, AA6.4, AA6.5
More specifically, at the end of the course the student will be able to :
  • read a general or specialized literature on a specific cutting-edge theme of discrete mathematics, and summarize the key messages and results;
  • explain those messages to their peers in a clear and precise way;
  • solve mathematical problems in application to those results;
  • identify the possible caveats of those results and criticize the exposition chosen by the references;
  • relate the concepts encountered in the literature to concepts covered in other course, despite different notations or viewpoints;
  • implement algorithms on real data and take a critical look at the results;
  • demonstrate critical thinking with regard to a technology and the environmental and societal impacts it represents.
 
Content
This course explores automatic differentiation (AD), the core technology powering modern machine learning. Students will learn how AD works from the ground up, starting with scalar and tensor-based approaches, and progressing to second-order and sparse techniques. The course also covers differentiating optimization programs. Through hands-on projects, students will implement their own AD system from scratch and use it to train neural networks and transformers.
The course also introduces kernel methods as a classical approach to learning in high-dimensional spaces. It concludes with an exploration of generative models for unsupervised learning tasks such as image generation, including generative adversarial networks (GANs), variational autoencoders (VAEs), and diffusion models.
Teaching methods
The course consists partly of ex cathedra lectures introducing the concepts, algorithms, and their theoretical foundations, and partly of projects with written and/or oral reports. These projects involve a significant amount of implementation (in Python and Julia). Prior knowledge of either language is not required, but a solid background in programming is essential. Tutorials are provided to help students get started with the necessary tools.
Evaluation methods
  • Work carried out during the term: homework assignments, exercises, or laboratory work. These activities are thus organized (and evaluated) only once per academic year.
  • Exam: written, or sometimes oral depending on the circumstances.
  • Bonus points for the best projects or for contributions to the open source resources of the course.
The final grade is computed as follows. Let HW be the homework grade (out of 20) and EX the exam grade (also out of 20). If both HW and EX are above 10, we take their average. If HW is below 5 or if EX is below 5, we use min(HW, EX). To interpolate between these cases, we define a weight function f(x) = min(max(0, (x - 5)/10), 0.5). If EX < HW, we compute G1 = f(EX) * HW + (1 - f(EX)) * EX; if HW  EX, we compute G2 = (1 - f(HW)) * HW + f(HW) * EX. In other words, the grade combining homework and exam is min(G1, G2). The bonus points are added on top of this grade (without exceeding 20).
Bibliography
  • Evaluating Derivatives, A. Griewank and A. Walther
  • The Elements of Differentiable Programming, M. Blondel, V. Roulet
Faculty or entity


Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Master [120] in Data Science : Statistic

Master [120] in Environmental Bioengineering

Master [120] in Mathematics

Master [120] in Chemistry and Bioindustries

Master [120] in Computer Science and Engineering

Master [120] in Computer Science

Master [120] in Mathematical Engineering

Master [120] in Data Science Engineering

Master [120] in Agricultural Bioengineering

Master [120] in Data Science: Information Technology