The list of courses, together with possible optional courses, is also available on Synapses. For Polytechnique courses, you might find additional information on Polytechnique's Synapses.
Group "Logics"
Logics and Symbolic AI (APM_5AI01_TP)
This course is taught by Fabian Suchanek, Nils Holzenberger, Nikola Simidjievski, Amel Bouzeghoub, Thomas Bonald.This course aims at providing the bases of symbolic AI, along with a few selected advanced topics. It includes courses on formal logics, ontologies, symbolic learning, typical AI topics such as revision, merging, etc., with illustrations on preference modeling and image understanding.
ECTS: 2.5
Prerequisites: Basic knowledge in algebra
Group "Softskills"
Softskills seminar (M2 only) (PDV_5DA05_TP)
This course is taught by Fabian Suchanek.Students learn how to give good presentations, and present scientific papers. This is an obligatory course of the M2 DataAI.
ECTS: 2.5
Prerequisites: Be an M2 student
Course webpage CalendarGroup "Ethics"
AI Ethics (HSS_5DA06_TP)
This course is taught by Tiphaine Viard, Thomas Le Goff.Socio-environmental issues of AI, intro to the AI Act, ethical issues/fundamental rights, explainability, privacy and security.
ECTS: 2.5
CalendarGroup "Data AI basics"
Data AI basics (CSC_5DA00_TP)
This course is taught by Fabian Suchanek, Florence d'Alché, Louis Jachiet, Nils Holzenberger.This is an introductory course to DataAI and many subjects in math/CS. This course is obligatory for all DataAI students who have not yet taken it.
ECTS: 1.0
Prerequisites: None
Course webpage CalendarGroup "M2 Internship"
M2 Internship (M2_internship)
This course is taught by All.M2 internship (at least 5 months and at most 6 months)
ECTS: 30.0
Group "Databases"
Database management systems (CSC_51053_EP)
This course is taught by Madhulika Mohanty.Relational databases: ER modeling, SQL, query execution, query optimization, schema refinement, application programming
ECTS: 5.0
Prerequisites: Algorithms and complexity; a systems and a logic course would also be a plus.
Course webpage CalendarDatabases (CSC_4SD02_TP)
This course is taught by Louis Jachiet.Introduction to relational databases: ER modeling, SQL, query execution, query optimization.
ECTS: 2.5
Course webpage CalendarGroup "Machine Learning"
Machine Learning: Shallow & Deep Learning (CSC_5DA01_TP)
This course is taught by Mounîm A. El Yacoubi.Statistical Data Analysis (PCA, LDA), Unsupervised Learning, Clustering, Supervised Learning, Neural Networks / Deep Learning, Hidden Markov Mdoels (HMM), Restricted Boltzmann Machines, Support Vector Machines (SVM), Decision Trees, Random Forest, Boosting,Transfer Learning, Deep Reinforcement Learning, Introduction to LLM/ChatGPT
ECTS: 2.5
Prerequisites: Basics of Probability and Statistics; Basics of Algebra and Calculus
CalendarReinforcement Learning (APM_5AI18_TP)
This course is taught by Thomas Bonald.This is an introduction to reinforcement learning: Markov Decision Process, Bellman's equation, bandit algorithms, Q-learning, TD-learning, Monte-Carlo tree search. Applications to games and to recommender systems will be presented.
ECTS: 2.5
Prerequisites: Probability theory, Python programming
Course webpage CalendarAdvanced Deep Learning (CSC_52087_EP)
This course is taught by Vicky Kalogeiton, Johannes Lutzeyer, Ye Zhu, Xi Wang (LIX).The primary goal of this course is to introduce students to advanced principles of deep learning, including mathematical foundations, architecture design, and practical applications. This course is particularly relevant given the current state of the job market, where deep learning skills are in high demand in many industries, including tech, finance, healthcare, and entertainment. ECTS:5, Language: English
ECTS: 5.0
Prerequisites: Basic concepts of Deep Learning
Course webpage CalendarGroup "Fully optional courses"
Image mining and content-based retrieval (APM_5DA03_TP)
This course is taught by Antoine Manzanera (ENSTA), Flora Weissgerber (Onera), Arturo Mendoza (SafranTech).This course deals with visual data (images and videos), and talks about image representation, processing and indexing, for content-based retrieval purposes. - It starts from image data and their different models, from mathematical and algorithms viewpoints, by exploring the different models: frequency-, discrete-, or set-based, differential, or statistical... - It presents segmentation and feature extraction techniques, i.e. how to reduce the representation support, and what local and global representations can be used to describe the image content. - Practical Work #1 deals with salient point detection, description and matching - Approximately on third of the course is dedicated to classification, detection and image recognition techniques based on machine learning, using CNN (one session) and other unsupervised and supervised techniques (one session). - One session is dedicated to a significant use case: satellite image mining. - One session is on video analysis and the importance of motion in video mining, with an emphasis on object tracking methods. - Practical Work #2 is on object tracking in videos. The practical works use Python, OpenCV and Pytorch.
ECTS: 2.5
Prerequisites: Linear Algebra, Differential Calculus, Probability and Statistics, Signal Processing
Course webpage CalendarRandomization in Computer Science: Games, Graphs and Algorithms (CSC_52061_EP)
This course is taught by Benjamin Doerr.Introduction to randomized methods in computer science, covering topics like randomized algorithms, random graphs, and randomized search heuristics (e.g., genetic algorithms).
ECTS: 5.0
Prerequisites: Basic maths
Course webpage CalendarNavigation for autonomous systems (CSC_54456_EP)
This course is taught by David Filliat.We will give an overview of algorithmic aspects of Mobile Robotics and autonomous vehicles. We will cover the most common robotics platform and sensors (vision, 3D ultrasound, accelerometers, odometry) and the various navigation components: control; obstacle avoidance; localization; mapping (SLAM) and planning along with filtering (Kalman filter, particle filtering etc ...) and optimisation techniques used in these areas. BEWARE, despite being hosted at X, this course is only 24h so 2.5 ECTS!
ECTS: 2.5
Prerequisites: Basics in algebra an python
Course webpage CalendarData Visualization (CSC_51052_EP)
This course is taught by Emmanuel Pietriga (INRIA).This course first gives an overview of the field of data visualization. It then discusses fundamental principles of human visual perception, focusing on how they help inform the design of visualizations. The following sessions focus on visualization techniques for specific data structures, and discuss them in depth from both design and implementation perspectives, including: multi-variate data, hierarchical structures, networks, time-series, statistical data and geographical data. All exercises are based on Web technologies, including the D3 software library (Data-Driven Documents) and the Vega-lite interactive graphics grammar. While positioned at different levels of abstraction, both enable developers to create a wide range of interactive, Web-based visualizations that run on a variety of platforms, ranging from desktop workstations to mobile devices.
ECTS: 5.0
Prerequisites: Basic knowledge of Web programming tech is a plus but not a requirement
Course webpage CalendarKnowledge Base Construction (CSC_5DA09_TP)
This course is taught by Fabian Suchanek.Language Models have revolutionized natural language processing. Yet, they can say wrong things in a very convincing way -- they hallucinate. One solution to this problem can come from structured data such as knowledge bases, which can serve to correct and inform the model. In this class, we will see how to bridge the gap between natural language (the sentence “Elvis is alive”) and structured information (the statement <i>alive(Elvis)</i>). We will cover the technical steps of information extraction: named entity recognition, entity disambiguation, and fact extraction. For each of them, we will see different methods: fine-tuning language models, prompt engineering, and training-free procedures. Finally, we will talk about techniques for knowledge cleaning: link prediction, entity alignment and rule mining.
ECTS: 2.5
Course webpage CalendarGraph Machine and Deep Learning for Generative AI (CSC_52072_EP)
This course is taught by Johannes Lutzeyer, Michalis Vazirgiannis.In this course we introduce you to a variety of machine and deep learning methodology to process graph-structured data. We define graph-structured data to refer to the combination of an underlying graph (or network) structure on which vectorial data is observed at the nodes, edges or both. This data type is frequently observed in practice and hence a multitude of methods have been defined to learn from it. In this course, we will review fundamental summary statistics of graphs and probabilistic models to generate graphs; we will introduce you to graph kernel methods and then move on to provide a comprehensive overview of deep learning methodology, notably Graph Neural Networks among others. We end the course with a review of applications of the introduced methodology and an outlook on current challenges and future directions in the domain of machine and deep learning on graph-structured data.
ECTS: 4.5
Prerequisites: Deep Learning
CalendarLanguage Models and Structured Data (CSC_5AI29_TP)
This course is taught by Mehwish Alam.Beyond the traditional applications of Language Models in natural language processing oriented tasks such as sentiment analysis, fake news detection, etc., the language models have been leveraged across a broad spectrum of other tasks involving structured data such as graphs, databases, tables, etc. This course is tailored to take into account the merits and demerits of employing language models and conventional approaches for tackling tasks related to structured data. Starting with an exploration of basic concepts in language modeling, including prompt engineering and retrieval augmented generation, the curriculum progressively will move towards the inter play between language models and structured data. This course will further focus on diverse applications such as learning representations over tables and graphs, language models as knowledge bases, Text to SQL, Question Answering over Structured Data.
ECTS: 2.5
Prerequisites: Basic Knowledge of Machine Learning
CalendarLanguage Modeling (CSC_5AI30_TP)
This course is taught by Mehwish Alam, Fabian Suchanek, Matthieu Labeau.Language Models have caused a paradigm shift in Natural Language Processing (NLP), leading to innovation in academic research and industrial applications. This course is meant to provide an in-depth understanding of language modeling, along with the historical effort in the field which led to bigger, revolutionary models. The course is designed to serve as a non-mandatory pre-requisite to the upcoming courses in the following semesters. It will also show the practicability of the theories behind language models with the help of lab sessions focused primarily on various downstream NLP tasks such as sentiment analysis, etc. Topics covered: Introduction to Language and NLP Theory of language modeling Generation + First "working" models (RNNs) + Seq2seq and translation Word2Vec, Masked Language Models Semantic representations Large Language Models + Prompt Engineering Low-rank adaptation Ethical Aspects of LLMs
ECTS: 2.5
Prerequisites: Basic Knowledge of Machine Learning
CalendarExplainable and Trustworthy AI (CSC_5DA02_TP)
This course is taught by Mounîm A. El Yacoubi.Explainability and Interpretability of Machine / Deep Learning Models; Explanation Methods of Machine Learning models as black boxes: LIME, Shapley Values, SHAP, Counterfactual Explanations; Interpretation of Neural Networks as white boxes: Sensitivity Analysis, Layer-wise Relevance Propagation (LRP), The RETAIN architecture; Adversarial Learning, Targeted and Non-Targeted Adversarial Attacks, Defense against Adversarial Attacks; Verification of the Robustness of neural Networks.
ECTS: 2.5
Prerequisites: Knowledge of the basic concepts of Machine Learning and Deep Learning
CalendarRepresentation Learning for Computer Vision and Medical Imaging (APM_5DA13_TP)
This course is taught by Pietro Gori (TP), Loic le Folgoc (TP).Good and expressive data representations can improve the accuracy of machine learning problems and ease interpretability adn transfer. For vision tasks, handcrafting good data representations, a.k.a. feature engineering, was traditionally hard. Deep Learning has changed this paradigm by allowing to automatically discover good representations from data. This is known as representation learning. The objective of this course is to provide an introduction to representation learning in computer vision and medical imaging applications. Standard approaches to representation learning exploit the inductive bias of Convolutional Neural Networks and the supervision of labeled data. Since labeled data is scarce compared to raw data, recent work has turned to unsupervised and self-supervised techniques to boost the expressive power of representations. Furthermore alternatives to CNNs inspired by advances in NLP have been proposed, such as vision transformers. In a different development, causal representations, leveraging causal relationships in the data, allow to answer additional queries (causal effects, interventions, counterfactuals) compared to standard statistical models. All of these developments will be covered in the course. 'Each lecture is followed by a practical lab on the corresponding content where students learn to implement these techniques using the PyTorch framework.
ECTS: 3.0
Prerequisites: Introductory course of Deep Learning, Computer Vision, Linear Algebra, Calculus, Probability, Statistics, Image processing, Python, Pytorch
Course webpage CalendarLearning for robotics (CSC_5IA05_TA)
This course is taught by Sao Mai NGUYEN.Learning methods used in robotics and applications to human / robot interaction, learning by demonstration or autonomous learning: imitation learning, reinforcement learning, human motion analysis
ECTS: 2.0
Prerequisites: Basic machine learning and principles of deep learning, pytorch
Course webpage CalendarTopological Data Analysis (CSC_51056_EP)
This course is taught by Steve Oudot.This course is an introduction to the field of topological data analysis, whose aim is to use concepts and tools from algebraic topology to design or learn new data representations for machine learning. Topics covered include field homology, persistent homology, Reeb graphs, and their application to data analysis.
ECTS: 5.0
Prerequisites: Linear algebra; Point set topology; Algorithms and complexity
Course webpage CalendarGraph Mining (CSC_4SD04_TP)
This course is taught by Thomas Bonald.The focus of this course is on the analysis of large graphs. You will learn how to represent graphs efficiently as sparse matrices. You will apply some key algorithms to real graphs, for clustering, ranking, classifying and embedding nodes, including graph neural networks.
ECTS: 2.5
Prerequisites: Basics on graphs, probability theory, linear algebra, Python programming.
Course webpage CalendarResearch Project A (PRJ_5DA14_TP)
This course is taught by All IPParis teachers.A research project.
ECTS: 5.0
Research Project B (PRJ_5DA15_TP)
This course is taught by All IPParis teachers.A research project.
ECTS: 5.0
M1 Internship (M1_internship)
This course is taught by All.M1 Internship, at least 3 months
ECTS: 15.0
Multi-Agent Systems (APM_5DA01_TP)
This course is taught by Vadim MALVONE.Multi-agent systems (MAS) model distributed entities that interact, cooperate, or compete within complex environments — from robotic teams to autonomous software agents. These systems are increasingly employed in critical domains, where ensuring correct behavior is essential. Formal verification plays a crucial role in guaranteeing that MAS behave as intended, particularly in contexts where failures can lead to significant consequences. It offers rigorous methods to model, specify, and prove key system properties such as safety, liveness, and coordination. This course provides an introduction to the fundamentals of multi-agent systems and the formal techniques used to verify them. Topics include the formal modeling of MAS, logical specification languages for strategic reasoning, and verification algorithms that ensure system correctness. The course combines theoretical foundations with hands-on experience using verification tools and case studies.
ECTS: 2.5
Prerequisites: Basics in logic and formal methods
Course webpage CalendarDeep Learning for Computer Vision (APM_5DA12_TP)
This course is taught by Jhony H. Giraldo, Stephan Alaniz.The course focuses on various advanced topics in the field. Students will delve into areas such as few-shot learning and domain adaptation, exploring techniques that enable models to learn from limited labeled data and adapt to new domains. The course also covers advanced methods for image and video generation and editing, allowing students to gain insights into cutting-edge approaches for creating and manipulating visual content. Classical vision tasks, including object detection and human pose estimation, are extensively studied, providing students with a strong foundation in fundamental computer vision techniques. Additionally, the course delves into video understanding, equipping students with the necessary tools to extract meaningful information from video data. Lastly, students will explore the integration of vision with other sensors, delving into the fusion of visual information with data from other sensing modalities, opening up new possibilities for perception and analysis. The course will be composed of five lectures and two practical sessions.
ECTS: 2.5
Prerequisites: Knowledge of the basic concepts of Machine Learning and Deep Learning
CalendarDecision Procedures for Artificial Intelligence (CSC_54656_EP)
This course is taught by Sergio Mover.Reasoning automatically about logical formulas is crucial in solving problems in Artificial Intelligence (e.g., path and task planning) and Formal Methods (e.g., software verification). This course will present the modern, efficient algorithms (decision procedures) used to check the satisfiability (SAT) of formulas in propositional logics (e.g., Conflict Driven Clause Learning, CDCL) and the extensions of these algorithms to check more expressive first-order-logic formulas (Satisfiability Modulo Theory, SMT). The course will also present how logical modeling and satisfiability can solve problems in AI (Logical Knowledge-based agent) and formal methods (software verification). In detail, the tutorial will cover problems such as path planning, task planning, and bounded model checking to illustrate theoretical notions and practical implementation of algorithms.
ECTS: 2.5
Prerequisites: linear algebra, python programming
Collective Intelligence (CSC_5DA07_TP)
This course is taught by Ada Diaconescu.The course provides an introduction to decentralised / collective intelligence, including concepts of: system self-adaptation and self-organisation; autonomic control; multi-scale feedbacks and agent-based modelling (MBA). Evaluation will rely on a practical project developed using a multi-agent simulation platform.
ECTS: 2.5
Prerequisites: Good programming skills (any imperative language, like prolog, C, C++, Java, etc); notions that may help: control theory (also including robotics, automates, autonomous systems), AI (both symbolic and data-oriented); system modelling; statistics.
CalendarMachine Learning with Graphs (APM_5DS30_TP)
This course is taught by Jhony H. Giraldo.Graph data is ubiquitous. Any system with entities and relationships between them can be represented as a graph. Over the past decade, machine learning algorithms have made remarkable progress in fields such as natural language processing, computer vision, and speech recognition. This success is primarily due to deep neural network architectures' ability to extract high-level features from Euclidean-structured data like images, text, and audio. However, graph data has not received the same level of attention. In this course, we will explore how to create machine learning models to extract high-level features from graph data, a process known as graph representation learning. The topics covered in this course include graph neural networks (GNNs), such as graph convolutions and graph attention mechanisms, scalable GNNs for big data applications, recommender systems using GNNs, spatiotemporal data analysis with GNNs, adn graph generation. This course also includes laboratory sessions to provide hands-on experience with these concepts.
ECTS: 3.0
Prerequisites: Deep learning bascis (neural networks, convolutional neural networks), PyTorch basics.
Course webpageEmpirical Methods in Software Engineering (CSC_5SW02_TP)
This course is taught by Stefano Zacchiroli, Théo Zimmermann.Methods and practices for conducting rigorous, reproducible empirical studies on software artifacts using qualitative, quantitative, and repository-mining techniques.
ECTS: 2.0
Prerequisites: Basic knowledge of software development best practices, including: version control (e.g., Git), collaborative development platforms (e.g., GitHub, GitLab)
Course webpageMachine Learning on Structured Data (CSC_5DS32_TP)
This course is taught by Mehwish Alam.Introduction Machine Learning, Deep Learning, and Structured Data, Machine Learning on Databases, Learning representations over Graphs, Machine Learning methods for taxonomy refinement tasks, Learning Representations on knowledge graphs, Machine Learning methods for tabular data, Applications such as Recommender Systems
ECTS: 2.5
Prerequisites: Basic Knowledge of Machine Learning
Machine Learning on Structured Data (CSC_5DS32_TP)
This course is taught by Mehwish Alam.Introduction Machine Learning, Deep Learning, and Structured Data, Machine Learning on Databases, Learning representations over Graphs, Machine Learning methods for taxonomy refinement tasks, Learning Representations on knowledge graphs, Machine Learning methods for tabular data, Applications such as Recommender Systems
ECTS: 2.5
Prerequisites: Basic Knowledge of Machine Learning
Multi-Agent Games in Control (CSC_5IA10_TA)
This course is taught by Mario Gleirscher.Use techniques from the theory of infinite, stochastic, and differential games to find solutions to discrete and discretised as well as adversarial and cooperative, sequential decision problems in robotic multi-agent systems.
ECTS: 2.5
Prerequisites: Undergraduate-level or introductory knowledge in logic, automata, formal languages, and control
Course webpagePrinciples of AI Reasoning (CSC_5DA16_TP)
This course is taught by Ashok Vardhan Makkuva (Telecom Paris)."In recent years, AI Reasoning has emerged as one of the most exciting paradigms in modern AI, driven by the impressive success of Large Reasoning Models (LRMs). Unlike the classical paradigm of scaling parameters to improve performance, LRMs leverage test-time compute to ""think"" through a problem before answering, resulting in markedly stronger problem-solving abilities, as evidenced by gold-medal-winning performances at IMO 2025. Despite these advances, however, we still lack a fundamental understanding of reasoning models and their inner workings, owing to their black-box nature and the heuristic training pipelines used to build them. This course takes a principled look at AI reasoning and introduces the key ideas underpinning it. Starting with a brief historical perspective on the emergence of LRMs, we will study the gains they offer over traditional LLMs, both mathematically and empirically. We will then examine the core ingredients behind modern reasoning models, including Chain-of-Thought, supervised fine-tuning, reinforcement learning from human feedback (RLHF), reinforcement learning from verifiable rewards (RLVR), test-time scaling strategies, and alternative paradigms such as latent reasoning. We will also discuss the limitations and pitfalls of current approaches—including overthinking—and explore recent ideas aimed at addressing these shortcomings. Finally, we will examine some of the most exciting open problems and emerging directions in AI reasoning."
ECTS: 2.5
Prerequisites: Basic maths
Privacy-Preserving Data Analytics (CSC_5AI32_TP)
This course is taught by Pavel Chuprikov.Extracting value from the data without violating privacy guarantees of individuals is a challenging task, but it is crucial to do it right when dealing with highly sensitive data, such as, healthcare or financial records. We begin by defining what privacy is and looking at several traditional privacy protection techniques, such as anonymization. We will see that they fail to provide robust privacy guarantees against attackers who have access to extra knowledge, and then we will move on to the notion _differential privacy_ (DP) that addresses those shortcomings and now is a de-facto standard when it comes to releasing sensitive information. We will discuss theoretical underpinnings of DP, present a range of differentially-private mechanisms tailored at specific data analytics queries, their composition and the fundamental trade-off between accuracy and utility. During the lab sessions, we are going to explore several open-source frameworks (e.g., Google DP library and OpenDP) and learn how DP can be applied in practical scenarios while paying attention to the common pitfalls and the ways to avoid them. We will also discuss existing variants of DP, such as local DP, the question of privacy budget management, and touch upon differentially-private machine learning algorithms.
ECTS: 2.5
Calendar