Detailed course description
CT - Introduction to Control Theory
ECTS: 2.5
Level: M2
Institution: ENSTA Paris
Pre-Requisites:
Main Instructor: Elena Ivanova
Synapses URL: Not available
Other URL:
Schedule [DEFINITIVE]
- 25/01/2024 09:00 - 25/01/2024 12:00 (Cours magistral, TBD)
- 01/02/2024 09:00 - 01/02/2024 12:00 (Cours magistral, TBD)
- 07/02/2024 09:00 - 07/02/2024 12:00 (Cours magistral, TBD)
- 14/02/2024 09:00 - 14/02/2024 12:00 (Cours magistral, TBD)
- 28/02/2024 09:00 - 28/02/2024 12:00 (Cours magistral, TBD)
- 06/02/2024 09:00 - 06/02/2024 12:00 (Cours magistral, TBD)
- 13/03/2024 09:00 - 13/03/2024 12:00 (Exam, TBD)
INF551 - Computational Logic
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Samuel Mimran
Synapses URL: INF551 on synapses
Other URL: http://inf551.mimram.fr/
Syllabus
" Computational logic has been used in a wide range of application in computer science, ranging from the deductive approach to Artificial Intelligence advocated by AI's founder John McCarthy, to proving the absence of bugs in large industrial software such as the 14th metro line in Paris, or checking difficult theorems the as the one of Feit-Thompson in the classification of finite simple groups.
The goal of this course is to explain how logic can be used in order for modeling problems of computational or mathematical nature, and how computers can be used to achieve this. In particular, we will present proof assistants, which allow to formalize human reasoning by interactively constructing proofs, and explain their use to certify the absence of bugs in programs.
This is based on the so-called Curry-Howard correspondence: a program is the same as a proof (or, more precisely, a typed functional program corresponds to a derivation of its type). We will gradually introduce the required notions:
- propositional logic and the constructive variants,
- functional programming, formalized by lambda-calculus,
- typing systems and the Curry-Howard correspondence.
Then in order to reach realistic applications, we will present the proof assistant Agda and dependent logic which underlies it. Time permitting, we will also present various important related notions and techniques such as set theory and proof search.
This course is also about logic in practice: all the TDs will be on computer, using OCaml and then Agda.
Pre-requisites: some basic knowledge of logic, the course INF412 being of course perfect for this, otherwise reading some introductory book on logic over the summer is recommended (see the references on the website).
The website for the course is http://inf551.mimram.fr/"
Schedule [DEFINITIVE]
- 22/09/2023 14:00 - 22/09/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 22/09/2023 16:15 - 22/09/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 29/09/2023 14:00 - 29/09/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 29/09/2023 16:15 - 29/09/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 06/10/2023 14:00 - 06/10/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 06/10/2023 16:15 - 06/10/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 13/10/2023 14:00 - 13/10/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 13/10/2023 16:15 - 13/10/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 20/10/2023 14:00 - 20/10/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 20/10/2023 16:15 - 20/10/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 27/10/2023 14:00 - 27/10/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 27/10/2023 16:15 - 27/10/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 10/11/2023 14:00 - 10/11/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 10/11/2023 16:15 - 10/11/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 17/11/2023 14:00 - 17/11/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 17/11/2023 16:15 - 17/11/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 24/11/2023 14:00 - 24/11/2023 16:00 (Cours magistral, salle N. Lepaute au RDC Batiment A. Turing)
- 24/11/2023 16:15 - 24/11/2023 18:15 (Petite classe, salle machine Dijkstra au RDC Batiment A. Turing)
- 22/12/2023 14:00 - 22/12/2023 17:00 (Examen, salle Grace Hopper)
INF554 - Machine and Deep Learning
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Michalis Vazirgiannis
Synapses URL: INF554 on synapses
Other URL:
Syllabus
Syllabus from 2021-2022
We have entered the Artificial Intelligence Era. The explosion of available data in a wide range of application domains give rise to new challenges and opportunities in a plethora of disciplines – ranging from science and engineering to business and society in general. A major challenge is how to take advantage of the unprecedented scale of data, in order to acquire further insights and knowledge for improving the quality of the offered services, and this is where Machine and Deep Learning comes in capitalizing on techniques and methodologies from data exploration (statistical profiling, visualization) aiming at identifying patterns, correlations, groupings, modeling and doing predictions. In the last years Deep learning is becoming a very important element for solving large scale prediction problems.
Course Logistics:
1. The course will take place on Monday afternoons beginning on 20/09/2021 and will be divided into nine 4-hour sessions as follows:
(14:00 - 16:00) magistral teaching in: Amphi Gay-Lussac.
(16:15 - 18:15) lab sessions in the small classes: Amphi Painlevé, Amphi Poisson, Amphi Sauvy.
2. Interaction/Q&As:
We have set up a dedicated slack workspace for this course, which we will use to communicate with you. Please register to the following workspace with your full name and use it as much as possible.
https://join.slack.com/t/inf554--202122/shared_invite/zt-v0v3gbl1-tsGESUgYbHgC7_Xcx3GsEg
3. The course will be assessed via:
(20% of the course mark) an individual take-home assessment handed out on Monday 11th October with deadline on Monday 25th October 5pm.
(80% of the course mark) a group data challenge handed out on Monday 8th November with a written report deadline on Friday 3rd December 5pm and oral assessments in the week of the 13th December. We will communicate further details about the formation of groups for the challenge at the start of November on the course slack channel.
4. You will have to complete the course work on your own laptops (preferably with a Unix environment like Linux or Mac OS X for compatibility reasons). As for software, we will be using Python among others (to be installed locally on the laptops). Students are invited to install the current Anaconda distribution BEFORE the 1st lab session (https://www.anaconda.com/products/individual). Please also make sure that you have installed the PyTorch, numpy and scikit-learn python packages.
Detailed syllabus of the course:
(minor changes may apply during course evolution.)
General Introduction to Machine Learning
- Machine Learning paradigms
- The Machine Learning Pipeline
Supervised Learning
- Generative and non generative methods
- Naive Bayes, KNN and regressions
- Tree based methods
Unsupervised Learning
- Dimensionality reduction
- Clustering
Advanced Machine Learning Concepts
- Regularization
- Model selection
- Feature selection
- Ensemble Methods
Kernels
- Introduction to kernels
- Support Vector Machines
Neural Networks
- Introduction to Neural Networks
- Perceptrons and back-propagation
Deep Learning I
- Convolutional Neural Networks
- Recurrent Neural Networks
- Applications
Deep Learning II
- Modern Natural Language Processing
- Unsupervised Deep Learning
- Embeddings, Auto-Encoders, Generative Adversarial Networks
Machine & Deep Learning for Graphs
- Graph Similarity
- Graph Kernels
- Node Embeddings
Schedule [DEFINITIVE]
- 19/09/2023 13:30 - 19/09/2023 18:30 (Cours magistral, PC04)
- 18/09/2023 14:00 - 18/09/2023 16:00 (Cours magistral, Amphi Sauvy)
- 18/09/2023 16:15 - 18/09/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 18/09/2023 16:15 - 18/09/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 18/09/2023 16:15 - 18/09/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 20/09/2023 14:00 - 20/09/2023 16:00 (Gr4 - Petite classe, PC11)
- 20/09/2023 14:00 - 20/09/2023 16:00 (gr5 - Petite classe, PC12)
- 20/09/2023 14:00 - 20/09/2023 16:00 (gr6 - Petite classe, PC22)
- 25/09/2023 14:00 - 25/09/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 25/09/2023 16:15 - 25/09/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 25/09/2023 16:15 - 25/09/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 25/09/2023 16:15 - 25/09/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 27/09/2023 14:00 - 27/09/2023 16:00 (Gr4 - Petite classe, PC11)
- 27/09/2023 14:00 - 27/09/2023 16:00 (gr5 - Petite classe, PC12)
- 27/09/2023 14:00 - 27/09/2023 16:00 (gr6 - Petite classe, PC22)
- 09/10/2023 14:00 - 09/10/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 09/10/2023 16:15 - 09/10/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 09/10/2023 16:15 - 09/10/2023 18:15 (Gr2 - Petite classe, Amphi Monge)
- 09/10/2023 16:15 - 09/10/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 11/10/2023 14:00 - 11/10/2023 16:00 (Gr4 - Petite classe, PC11)
- 11/10/2023 14:00 - 11/10/2023 16:00 (gr5 - Petite classe, PC12)
- 11/10/2023 14:00 - 11/10/2023 16:00 (gr6 - Petite classe, PC22)
- 16/10/2023 14:00 - 16/10/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 16/10/2023 16:15 - 16/10/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 16/10/2023 16:15 - 16/10/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 16/10/2023 16:15 - 16/10/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 18/10/2023 14:00 - 18/10/2023 16:00 (Gr4 - Petite classe, PC11)
- 18/10/2023 14:00 - 18/10/2023 16:00 (gr5 - Petite classe, PC12)
- 18/10/2023 14:00 - 18/10/2023 16:00 (gr6 - Petite classe, PC22)
- 23/10/2023 14:00 - 23/10/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 23/10/2023 16:15 - 23/10/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 23/10/2023 16:15 - 23/10/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 23/10/2023 16:15 - 23/10/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 25/10/2023 14:00 - 25/10/2023 16:00 (Gr4 - Petite classe, PC11)
- 25/10/2023 14:00 - 25/10/2023 16:00 (gr5 - Petite classe, PC12)
- 25/10/2023 14:00 - 25/10/2023 16:00 (gr6 - Petite classe, PC22)
- 06/11/2023 14:00 - 06/11/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 06/11/2023 16:15 - 06/11/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 06/11/2023 16:15 - 06/11/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 06/11/2023 16:15 - 06/11/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 08/11/2023 14:00 - 08/11/2023 16:00 (Gr4 - Petite classe, PC11)
- 08/11/2023 14:00 - 08/11/2023 16:00 (gr5 - Petite classe, PC12)
- 08/11/2023 14:00 - 08/11/2023 16:00 (gr6 - Petite classe, PC22)
- 13/11/2023 14:00 - 13/11/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 13/11/2023 16:15 - 13/11/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 13/11/2023 16:15 - 13/11/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 13/11/2023 16:15 - 13/11/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 15/11/2023 14:00 - 15/11/2023 16:00 (Gr4 - Petite classe, PC11)
- 15/11/2023 14:00 - 15/11/2023 16:00 (gr5 - Petite classe, PC12)
- 15/11/2023 14:00 - 15/11/2023 16:00 (gr6 - Petite classe, PC22)
- 20/11/2023 14:00 - 20/11/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 20/11/2023 16:15 - 20/11/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 20/11/2023 16:15 - 20/11/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 20/11/2023 16:15 - 20/11/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 22/11/2023 14:00 - 22/11/2023 16:00 (Gr4 - Petite classe, PC11)
- 22/11/2023 14:00 - 22/11/2023 16:00 (gr5 - Petite classe, PC12)
- 22/11/2023 14:00 - 22/11/2023 16:00 (gr6 - Petite classe, PC22)
- 27/11/2023 14:00 - 27/11/2023 16:00 (Cours - magistral, Amphi Sauvy)
- 27/11/2023 16:15 - 27/11/2023 18:15 (Gr1 - Petite classe, Amphi Painlevé)
- 27/11/2023 16:15 - 27/11/2023 18:15 (Gr2 - Petite classe, Amphi Poisson)
- 27/11/2023 16:15 - 27/11/2023 18:15 (Gr3 - Petite classe, Amphi Sauvy)
- 29/11/2023 14:00 - 29/11/2023 16:00 (Gr4 - Petite classe, PC11)
- 29/11/2023 14:00 - 29/11/2023 16:00 (gr5 - Petite classe, PC12)
- 29/11/2023 14:00 - 29/11/2023 16:00 (gr6 - Petite classe, PC22)
- 18/12/2023 14:00 - 18/12/2023 17:00 (Exam, TBD)
INF557 - From the Internet to the IoT: Fundamentals of Modern Computer Networking
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Thomas Clausen
Synapses URL: INF557 on synapses
Other URL:
Syllabus
" The 21th century is, if anything, becoming a data-driven century. Interaction with everyday objects may yield a wealth of information, especially when correlated: if in an apartment the fridge door is being opened and closed regularly, then presumably apartment is inhabited ; if a drinking glass is subsequently emptied, presumably the inhabitant is alive and well, and, is staying both fresh and hydrated ; if the BBQ or the oven is used frequently, perhaps the inhabitant is either overeating (and so, a potential customer for diet plans) or is entertaining frequently (and so, a a potential customer for party supplies) — something which analysing the usage patterns of the door bell would reveal…
A premise for being able to analyse usage patterns and interactions is, of course, that these physical actions are captured and transformed into data — and, that these data are communicated from everyday objects with and through the Internet, and to the cloud.
And so, the 21th century is necessarily also the connected century: smartphones, watches, fridges, toothbrushes, drinking glasses, coffee machines, medical implants, BBQs, office plants, and forks are all becoming connected objects, generating data — and thus, becoming part of the Internet.
Outside of the consumer market, knowing the state of a machine, of an airplane engine, or of a power substation, permits scheduling predictive maintenance and avoid accidents — embedded sensors able to capture, and communicate, this state is a necessary premise.
As a matter of fact, a company launching a product today that doesn't ""run an app"" and ""connects to the Internet"" is a company, which just hasn't grasped the needs (or, at least, the desires) of its market - much as the guy installing the bike rack on the left, clearly misunderstood his ""target market"".
In order to ensure that YOU do not end up being that gal/guy, building a product miserably missing the market, this course provides you with the core competencies, necessary for developing connected systems.
This course:
Offers a pragmatic and practical approach to communicating systems and to computer networking
Studies, for each of the four major functional layers in a protocol stack (data-link, internetwork, transport, and application) the fundamental ideas, algorithms, and architectural principles, that apply “from the Internet, and to the IoT”
Provides an in-depth tutorial in the principles behind TCP/IP Networking
Introduces and decrypts modern Internet and IoT protocols: from IPv6 to 6LoWPAN, from ALOHA through Ethernet and WiFi to LoRa and Bluetooth — and from the WEB and REST to CORE And CoAP
Provides practical experience in developing networked applications, and in developing and implementing protocols.
In short, this course provides an in-depth understanding of “how the net works” (pun intended), and gives the necessary baggage for an engineer (regardless of area of exercise) to be able to design communicating systems.
This course is self-contained: it assumes some programming skills, and a lot of curiosity — and will introduce the rest as it goes along. Each lesson will consist of a lecture, followed by 2h of lab (TD). This course is calibrated so that a student should expect to spend 1-2h/week outside of class, reviewing material and/or finishing exercises."
Schedule [DEFINITIVE]
- 20/09/2023 14:15 - 20/09/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 27/09/2023 14:15 - 27/09/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 04/10/2023 14:15 - 04/10/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 11/10/2023 14:15 - 11/10/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 18/10/2023 14:15 - 18/10/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 25/10/2023 14:15 - 25/10/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 08/11/2023 14:15 - 08/11/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 15/11/2023 14:15 - 15/11/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 22/11/2023 14:15 - 22/11/2023 18:15 (Cours - magistral, Cours Asynchrone)
- 20/12/2023 14:00 - 20/12/2023 17:00 (Examen, TBD)
INF558 - Introduction to Cryptology
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: François Morain
Synapses URL: INF558 on synapses
Other URL:
Syllabus
" Cryptology is concerned with realising the impossible, namely securing information in open networks. This includes ensuring
confidentiality of messages,
integrity of messages,
authenticity of principals.
credit card
The course gives an introduction to cryptology, its history and its use in modern computer systems. While the lectures are self-contained, some familiarity with basic algebra (Z/NZ, finite fields, cf. MAT552), networking (cf. INF557) is highly recommended. This course is part of the Cybersecurity track and a prerequisite for INF568.
To each lecture corresponds a TD, in which you apply the learnt concepts by implementing them in C.
The course is validated by a written examination. Moreover, many topics can be at the heart of a 3rd year project."
Schedule [DEFINITIVE]
- 22/09/2023 08:30 - 22/09/2023 10:30 (Cours - magistral, Amphi Grégory)
- 22/09/2023 10:45 - 22/09/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 29/09/2023 08:30 - 29/09/2023 10:30 (Cours - magistral, Amphi Grégory)
- 29/09/2023 10:45 - 29/09/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 06/10/2023 08:30 - 06/10/2023 10:30 (Cours - magistral, Amphi Grégory)
- 06/10/2023 10:45 - 06/10/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 13/10/2023 08:30 - 13/10/2023 10:30 (Cours - magistral, Amphi Carnot)
- 13/10/2023 10:45 - 13/10/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 20/10/2023 08:30 - 20/10/2023 10:30 (Cours - magistral, Amphi Grégory)
- 20/10/2023 10:45 - 20/10/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 27/10/2023 08:30 - 27/10/2023 10:30 (Cours - magistral, Amphi Grégory)
- 27/10/2023 10:45 - 27/10/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 10/11/2023 08:30 - 10/11/2023 10:30 (Cours - magistral, Amphi Grégory)
- 10/11/2023 10:45 - 10/11/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 17/11/2023 08:30 - 17/11/2023 10:30 (Cours - magistral, Amphi Grégory)
- 17/11/2023 10:45 - 17/11/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 24/11/2023 08:30 - 24/11/2023 10:30 (Cours - magistral, Amphi Grégory)
- 24/11/2023 10:45 - 24/11/2023 12:45 (Petite - classe, Salle info 30, Salle info 31)
- 22/12/2023 09:00 - 22/12/2023 12:00 (Examen, )
INF559 - A Programmer’s Introduction to Computer Architectures and Operating Systems
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Francesco Zappa Nardelli
Synapses URL: INF559 on synapses
Other URL:
Syllabus
" We will explain the enduring concepts underlying all computer systems, and show the concrete ways that these ideas affect the correctness, performance, and utility of any application program.
This course serves as an introduction to the students who go on to implement systems hardware and software. But this course also pushes students towards becoming the rare programmers who know how things work and how to fix them when they break. It is not a course reserved to geeks, it is a course for all programmers!
This course will cover most of the key interfaces between user programs and the bare hardware, including:
- The representation and manipulation of information
- Machine-level representation of programs
- Processor architecture
- The memory hierarchy
- Exceptional Control Flow
- Virtual memory
The TDs are the heart of the course and will illustrate how to put the above at work in everyday programming practice. Among other things we will reverse-engineer a binary program, implement a buffer overflow attack, optimise a processor design, and implement our own memory allocator.
We assume that the student has familiarity with programming. Experience with C or C++ languages is a plus, but If your only prior experience is with Java we will help. We do not assume any prior experience with hardware, machine language, or assembly-language programming."
Schedule [DEFINITIVE]
- 20/09/2023 08:30 - 20/09/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 20/09/2023 10:45 - 20/09/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 27/09/2023 08:30 - 27/09/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 27/09/2023 10:45 - 27/09/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 04/10/2023 08:30 - 04/10/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 04/10/2023 10:45 - 04/10/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 11/10/2023 08:30 - 11/10/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 11/10/2023 10:45 - 11/10/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 18/10/2023 08:30 - 18/10/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 18/10/2023 10:45 - 18/10/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 25/10/2023 08:30 - 25/10/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 25/10/2023 10:45 - 25/10/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 08/11/2023 08:30 - 08/11/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 08/11/2023 10:45 - 08/11/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 15/11/2023 08:30 - 15/11/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 15/11/2023 10:45 - 15/11/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 23/11/2023 08:30 - 23/11/2023 10:30 (Cours magistral, Amphi Lagarrigue)
- 23/11/2023 10:45 - 23/11/2023 12:45 (Petite classe, Salle info 32, Salle info 33)
- 20/12/2023 10:00 - 20/12/2023 12:00 (Examen, TBD)
INF560 - Algorithmique parallèle et distribuée
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Patrick Carribault
Synapses URL: INF560 on synapses
Other URL:
Syllabus
With the advent of multicore processors (and now many-core processors with several dozens of execution units), expressing parallelism is mandatory to enable high performance on different kinds of applications (scientific computing, big-data...). In this context, this course details multiple parallel programming paradigms to help exploiting such a large number of cores on different target architectures (regular CPUs and GPUs).It includes distributed-memory model (MPI), shared-memory model (OpenMP) and heterogeneous model (CUDA). All these approaches would allow leveraging the performance of differents computers (from small servers to large supercomputers listed in Top500).
Schedule [DEFINITIVE]
- 10/01/2024 14:15 - 10/01/2024 16:15 (Cours - magistral, TBD)
- 10/01/2024 16:30 - 10/01/2024 18:30 (Petite - classe, TBD)
- 17/01/2024 14:15 - 17/01/2024 16:15 (Cours - magistral, TBD)
- 17/01/2024 16:30 - 17/01/2024 18:30 (Petite - classe, TBD)
- 24/01/2024 14:15 - 24/01/2024 16:15 (Cours - magistral, TBD)
- 24/01/2024 16:30 - 24/01/2024 18:30 (Petite - classe, TBD)
- 31/01/2024 14:15 - 31/01/2024 16:15 (Cours - magistral, TBD)
- 31/01/2024 16:30 - 31/01/2024 18:30 (Petite - classe, TBD)
- 07/02/2024 14:15 - 07/02/2024 16:15 (Cours - magistral, TBD)
- 07/02/2024 16:30 - 07/02/2024 18:30 (Petite - classe, TBD)
- 14/02/2024 14:15 - 14/02/2024 16:15 (Cours - magistral, TBD)
- 14/02/2024 16:30 - 14/02/2024 18:30 (Petite - classe, TBD)
- 28/02/2024 14:15 - 28/02/2024 16:15 (Cours - magistral, TBD)
- 28/02/2024 16:30 - 28/02/2024 18:30 (Petite - classe, TBD)
- 06/03/2024 14:15 - 06/03/2024 16:15 (Cours - magistral, TBD)
- 06/03/2024 16:30 - 06/03/2024 18:30 (Petite - classe, TBD)
- 12/03/2024 14:15 - 12/03/2024 16:15 (Cours - magistral, TBD)
- 12/03/2024 16:30 - 12/03/2024 18:30 (Petite - classe, TBD)
- 19/03/2024 14:00 - 19/03/2024 17:00 (Examen, TBD)
INF564 - Compilation
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Jean-Christophe- Filliâtre
Synapses URL: INF564 on synapses
Other URL:
Syllabus
Introduction to compilers. We describe tools and techniques used in the various phases of a compiler, up to optimizing assembly code production. An optimizing compiler for a fragment of the C language to x86-64 assembly is implemented during the labs.
Schedule [DEFINITIVE]
- 08/01/2024 14:00 - 08/01/2024 16:00 (Cours magistral, TBD)
- 08/01/2024 16:15 - 08/01/2024 18:15 (Petite classe, TBD)
- 15/01/2024 14:00 - 15/01/2024 16:00 (Cours magistral, TBD)
- 15/01/2024 16:15 - 15/01/2024 18:15 (Petite classe, TBD)
- 25/01/2024 14:00 - 25/01/2024 16:00 (Cours magistral, TBD)
- 25/01/2024 16:15 - 25/01/2024 18:15 (Petite classe, TBD)
- 29/01/2024 14:00 - 29/01/2024 16:00 (Cours magistral, TBD)
- 29/01/2024 16:15 - 29/01/2024 18:15 (Petite classe, TBD)
- 05/02/2024 14:00 - 05/02/2024 16:00 (Cours magistral, TBD)
- 05/02/2024 16:15 - 05/02/2024 18:15 (Petite classe, TBD)
- 12/02/2024 14:00 - 12/02/2024 16:00 (Cours magistral, TBD)
- 12/02/2024 16:15 - 12/02/2024 18:15 (Petite classe, TBD)
- 26/02/2024 14:00 - 26/02/2024 16:00 (Cours magistral, TBD)
- 26/02/2024 16:15 - 26/02/2024 18:15 (Petite classe, TBD)
- 04/03/2024 14:00 - 04/03/2024 16:00 (Cours magistral, TBD)
- 04/03/2024 16:15 - 04/03/2024 18:15 (Petite classe, TBD)
- 11/03/2024 14:00 - 11/03/2024 16:00 (Cours magistral, TBD)
- 11/03/2024 16:15 - 11/03/2024 18:15 (Petite classe, TBD)
- 18/03/2024 14:00 - 18/03/2024 17:00 (Examen, TBD)
INF567 - Wireless Networks: from Cellular to Connected Objects
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites: INF557
Main Instructor: Marceau Coupechoux
Synapses URL: INF567 on synapses
Other URL:
Syllabus
" The goal of this course is to provide an in-depth understanding of select advanced problems in wireless networking.
Specifically, the course will study these topics:
Overview of Wireless Networks
Wireless Communications
Random Access
Deterministic Access Schemes
Radio Link Control
Cellular Access
Constrained Networking
Cellular Architecture and Protocols
Cellular Mobility
Transport and Wireless "
Schedule [DEFINITIVE]
- 10/01/2024 08:30 - 10/01/2024 10:30 (Cours - magistral, TBD)
- 10/01/2024 10:45 - 10/01/2024 12:45 (Petite - classe, TBD)
- 17/01/2024 08:30 - 17/01/2024 10:30 (Cours - magistral, TBD)
- 17/01/2024 10:45 - 17/01/2024 12:45 (Petite - classe, TBD)
- 24/01/2024 08:30 - 24/01/2024 10:30 (Cours - magistral, TBD)
- 24/01/2024 10:45 - 24/01/2024 12:45 (Petite - classe, TBD)
- 31/01/2024 08:30 - 31/01/2024 10:30 (Cours - magistral, TBD)
- 31/01/2024 10:45 - 31/01/2024 12:45 (Petite - classe, TBD)
- 07/02/2024 08:30 - 07/02/2024 10:30 (Cours - magistral, TBD)
- 07/02/2024 10:45 - 07/02/2024 12:45 (Petite - classe, TBD)
- 14/02/2024 08:30 - 14/02/2024 10:30 (Cours - magistral, TBD)
- 14/02/2024 10:45 - 14/02/2024 12:45 (Petite - classe, TBD)
- 28/02/2024 08:30 - 28/02/2024 10:30 (Cours - magistral, TBD)
- 28/02/2024 10:45 - 28/02/2024 12:45 (Petite - classe, TBD)
- 06/03/2024 08:30 - 06/03/2024 10:30 (Cours - magistral, TBD)
- 06/03/2024 10:45 - 06/03/2024 12:45 (Petite - classe, TBD)
- 12/03/2024 08:30 - 12/03/2024 10:30 (Cours - magistral, TBD)
- 12/03/2024 10:45 - 12/03/2024 12:45 (Petite - classe, TBD)
- 19/03/2024 09:00 - 19/03/2024 12:00 (Oral, TBD)
INF568 - Advanced Cryptology
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites: INF558
Main Instructor: Benjamin Smith
Synapses URL: INF568 on synapses
Other URL:
Syllabus
This is a course on the design, implementation, and analysis of contemporary cryptographic algorithms.
Among other things, we will give a detailed introduction to
elliptic curve cryptography
lattice-based cryptosystems
real-world protocols
public-key cryptography
modern key exchange and signature schemes
side-channel safety
homomorphic encryption
post-quantum cryptography
modern symmetric cryptography
We assume a familiarity with the basic cryptographic concepts and tools introduced in the course INF558a.
Schedule [DEFINITIVE]
- 12/01/2024 08:30 - 12/01/2024 10:30 (Cours - magistral, TBD)
- 12/01/2024 10:45 - 12/01/2024 12:45 (Petite - classe, TBD)
- 19/01/2024 08:30 - 19/01/2024 10:30 (Cours - magistral, TBD)
- 19/01/2024 10:45 - 19/01/2024 12:45 (Petite - classe, TBD)
- 26/01/2024 08:30 - 26/01/2024 10:30 (Cours - magistral, TBD)
- 26/01/2024 10:45 - 26/01/2024 12:45 (Petite - classe, TBD)
- 02/02/2024 08:30 - 02/02/2024 10:30 (Cours - magistral, TBD)
- 02/02/2024 10:45 - 02/02/2024 12:45 (Petite - classe, TBD)
- 09/02/2024 08:30 - 09/02/2024 10:30 (Cours - magistral, TBD)
- 09/02/2024 10:45 - 09/02/2024 12:45 (Petite - classe, TBD)
- 16/02/2024 08:30 - 16/02/2024 10:30 (Cours - magistral, TBD)
- 16/02/2024 10:45 - 16/02/2024 12:45 (Petite - classe, TBD)
- 01/03/2024 08:30 - 01/03/2024 10:30 (Cours - magistral, TBD)
- 01/03/2024 10:45 - 01/03/2024 12:45 (Petite - classe, TBD)
- 08/03/2024 08:30 - 08/03/2024 10:30 (Cours - magistral, TBD)
- 08/03/2024 10:45 - 08/03/2024 12:45 (Petite - classe, TBD)
- 13/03/2024 08:30 - 13/03/2024 10:30 (Cours - magistral, TBD)
- 13/03/2024 10:45 - 13/03/2024 12:45 (Petite - classe, TBD)
INF571 - Distributed Computing
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Bernadette Charron-Bost
Synapses URL: INF571 on synapses
Other URL:
Syllabus
" Distributed systems are composed of several computational units, classically called processes, that run concurrently and independently, without any central control. Additional difficulties are introduced by asynchrony (processes and channels operate at different speeds) and by limited local knowledge (each process has only a local view of the system and has a limited amount of information).
Distributed algorithms are algorithms designed to run in this quite challenging setting. They arise in a wide range of applications, including telecommunications, internet, peer-to-peer computing, blockchain technology...
This course aims at giving a comprehensive introduction to the field of distributed algorithms. A collection of significant algorithms will be presented for asynchronous networked systems, with a particular emphasis on their correctness proofs. Algorithms will be analyzed according to various measures of interest (eg., time and space complexities, communication costs). We will also present some ""negative"" results, i.e., impossibility theorems and lower bounds as they play a useful role for a system designer to determine what problems are solvable and at what cost.
Content:
Modelling of distributed networked systems
Wave and traversal algorithms
Leader election
Logical time and global snapshots
Detection of stable properties
Synchronizers
Link reversal algorithms "
Schedule [DEFINITIVE]
- 19/09/2023 13:30 - 19/09/2023 18:00 (Cours - magistral, PC14)
- 26/09/2023 13:30 - 26/09/2023 18:00 (Cours - magistral, PC14)
- 17/10/2023 13:30 - 17/10/2023 18:00 (Cours - magistral, PC14)
- 24/10/2023 13:30 - 24/10/2023 18:00 (Cours - magistral, PC14)
- 07/11/2023 13:30 - 07/11/2023 18:00 (Cours - magistral, PC14)
- 14/11/2023 13:30 - 14/11/2023 18:00 (Cours - magistral, PC14)
- 21/11/2023 13:30 - 21/11/2023 18:00 (Cours - magistral, PC14)
- 28/11/2023 13:30 - 28/11/2023 18:00 (Cours - magistral, PC14)
- 05/12/2023 13:30 - 05/12/2023 18:00 (Cours - magistral, PC14)
- 19/12/2023 13:30 - 19/12/2023 18:00 (Examen, )
INF575 - Safe Intelligent Systems
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Sylvie Putot
Synapses URL: INF575 on synapses
Other URL:
Syllabus
"L'interaction de composantes informatiques, qui calculent et communiquent, avec leur environnement régi par des lois physiques, comme pour un avion ou un système médical implanté, est au centre du domaine émergent des systèmes cyber-physiques. Parmi les défis posés par ces systèmes auxquels nous nous intéresserons, l'utilisation croissante d'algorithmes d'intelligence artificielle (réseaux de neurones typiquement), que ce soit pour la perception ou le contrôle.
Maitriser la modélisation, le contrôle et la vérification du comportement de tels systèmes est crucial pour garantir l'efficacité, les fonctionnalités et la fiabilité de ces systèmes, toujours plus complexes et le plus souvent critiques en terme de sécurité ou de coût.
Le cours s'attachera à trouver un équilibre entre modélisation et vérification, et entre fondations théoriques et les aspects pratiques. Il introduira notamment aux principes et à l'utilisation de quelques outils représentatifs de l'état de l'art, et s'intéressera à des cas d'étude réalistes (notamment un modèle temporel de pacemaker modélisé et vérifié avec l'outil Uppaal).
Le cours est central aux thématiques de la filière Design of Intelligent Autonomous Systems, mais il est également naturel dans le parcours Electrical Engineering ou dans les filières The Internet of Everything for a Digitized Society (IOE4DS) ou Algorithms and Foundations of Programming Languages. Des sujets de projets 3A en lien avec des thématiques peuvent être proposés.
Contenu:
Introduction, modèles et langages synchrones
Langages synchrones: spécification et vérification
Automates temporisés
Logique temporelle et verification par model-checking
Modélisation et simulation de systèmes hybrides
Analyse d'atteignabilité de systèmes hybrides
Stabilité et contrôle de systèmes hybrides
Sureté des systèmes autonomes intelligents
Le cours est illustré par des exercices applicatifs (en cours), et par les séances de travaux pratiques utilisant différents outils de modélisation et vérification. Les quatre dernières séances sont dédiées à un projet, dans lequel l'accent pourra être mis, au choix des étudiants, sur la modélisation et vérification d'un système cyber-physique, ou sur l'étude plus poussée d'un aspect d'une méthode de vérification.
Le cours sera validé pour une petite moitié sur les TPs, et la grosse moitié restante sur le projet et l'oral associé."
Schedule [DEFINITIVE]
- 19/09/2023 13:30 - 19/09/2023 18:30 (Cours magistral, PC04)
- 26/09/2023 13:30 - 26/09/2023 18:30 (Cours magistral, PC04)
- 17/10/2023 13:30 - 17/10/2023 18:30 (Cours magistral, PC04)
- 24/10/2023 13:30 - 24/10/2023 18:30 (Cours magistral, PC04)
- 07/11/2023 13:30 - 07/11/2023 18:30 (Cours magistral, PC04)
- 14/11/2023 13:30 - 14/11/2023 18:30 (Cours magistral, PC04)
- 21/11/2023 13:30 - 21/11/2023 18:30 (Cours magistral, PC04)
- 28/11/2023 13:30 - 28/11/2023 18:30 (Cours magistral, PC04)
- 05/12/2023 13:30 - 05/12/2023 18:30 (Cours magistral, PC04)
- 19/12/2023 13:30 - 19/12/2023 18:30 (Oral, TBD)
INF580 - Large Scale Mathematical Optimization
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites:
Main Instructor: Leo Liberti
Synapses URL: INF580 on synapses
Other URL:
Syllabus
" La programmation mathématique (PM) est un langage formel pour définir et resoudre un problème d'optimisation. Un programme mathématique est constitué de paramètres (l'input du problème), variables de décision (l'output), une ou plusieurs fonctions objectifs, et zéro ou plusieurs contraintes qui peuvent être données sous forme explicite ou implicite (par exemple, contraintes d'intégralité sur les variables). Les objectifs et les contraintes explicites sont éxprimés comme des fonctions des paramètres et des variables de décision. Il existe une grande variété de ""solveurs génériques"" pour les programmes mathématiques, de telle sorte qu'obtenir la solution du problème se réduit à soumettre le programme à un solveur. Ainsi, la PM réduit les difficultés algorithmiques de l'optimisation à des difficultés de modélisation.
La PM est fortement utilisée dans des milieux industriels: production, logistique, gestion des ressources (humaines, financières, énergétiques et autres), télécommunications, etc., ainsi que dans les milieux de l'Information Technology de pointe: Google, Microsoft, Yahoo, Huawei embauchent plusieurs chercheurs en PM, et IBM en hébèrge une équipe entière!
Ce paradigme de programmation donne lieu à une famille d'algorithmes complexes et puissants, qui incluent le calcul des solutions de problèmes d'optimisation (grâce à la PM) parmi leurs ""instructions élémentaires"". Celui-ci donne lieu à pratiquement toutes les approches en Machine Learning (ML) les plus modernes, du clustering jusqu'au traitement automatique du langage naturel.
"
Schedule [DEFINITIVE]
- 12/01/2024 14:00 - 12/01/2024 16:00 (Cours - magistral, )
- 12/01/2024 16:15 - 12/01/2024 18:15 (Petite - classe, )
- 19/01/2024 14:00 - 19/01/2024 16:00 (Cours - magistral, )
- 19/01/2024 16:15 - 19/01/2024 18:15 (Petite - classe, )
- 26/01/2024 14:00 - 26/01/2024 16:00 (Cours - magistral, )
- 26/01/2024 16:15 - 26/01/2024 18:15 (Petite - classe, )
- 02/02/2024 14:00 - 02/02/2024 16:00 (Cours - magistral, )
- 02/02/2024 16:15 - 02/02/2024 18:15 (Petite - classe, )
- 09/02/2024 14:00 - 09/02/2024 16:00 (Cours - magistral, )
- 09/02/2024 16:15 - 09/02/2024 18:15 (Petite - classe, )
- 16/02/2024 14:00 - 16/02/2024 16:00 (Cours - magistral, )
- 16/02/2024 16:15 - 16/02/2024 18:15 (Petite - classe, )
- 20/02/2024 14:00 - 20/02/2024 16:00 (Cours - magistral, )
- 20/02/2024 16:15 - 20/02/2024 18:15 (Petite - classe, )
- 01/03/2024 14:00 - 01/03/2024 16:00 (Cours - magistral, )
- 01/03/2024 16:15 - 01/03/2024 18:15 (Petite - classe, )
- 08/03/2024 14:00 - 08/03/2024 16:00 (Cours - magistral, )
- 08/03/2024 16:15 - 08/03/2024 18:15 (Petite - classe, )
- 13/03/2024 14:00 - 13/03/2024 17:00 (Oral, )
INF581 - Advanced Machine Learning and Autonomous Agents
ECTS: 5.0
Level: M1
Institution: X
Pre-Requisites: INF554
Main Instructor: Jesse Read
Synapses URL: INF581 on synapses
Other URL:
Syllabus
Driven by recent breakthroughs, rapidly growing collections of data, and a plethora of exciting applications, artificial intelligence is experiencing massive interest and investment from both the academic and industrial scene.
This course selects a number of advanced topics to explore in machine learning and autonomous agents, in particular:
Probabilistic graphical models (Bayesian networks, ...)
Multi-output and structured-output prediction problems
Deep-learning architectures
Methods of search and optimization (Beam search, epsilon-approximate search, stochastic optimization, Monte Carlo methods, ...)
Sequential prediction and decision making (HMMs, Sequential Monte Carlo, Bayesian Filtering, MDPs, ...)
Reinforcement learning (Q-Learning, Deep Q-Learning, ...)
Although these topics are diverse and extensive, this course is developed around a common thread connecting them all, such that each topic builds off the others.
Lectures will cover the relevant theory, and labs will familiarize the students with these topics from a practical point of view. Several of the lab assignments will be graded, and a team project on reinforcement learning will form a major component of the grade - where the goal is to developing and deploy an agent in an environment and write a report analyzing the results.
Schedule [DEFINITIVE]
- 10/01/2024 14:15 - 10/01/2024 16:15 (Cours - magistral, )
- 10/01/2024 16:30 - 10/01/2024 18:30 (Gr2 - Petite classe, )
- 10/01/2024 16:30 - 10/01/2024 18:30 (gr1 - Petite classe, )
- 17/01/2024 14:15 - 17/01/2024 16:15 (Cours - magistral, )
- 17/01/2024 16:30 - 17/01/2024 18:30 (gr1 - Petite classe, )
- 17/01/2024 16:30 - 17/01/2024 18:30 (Gr2 - Petite classe, )
- 24/01/2024 14:15 - 24/01/2024 16:15 (Cours - magistral, )
- 24/01/2024 16:30 - 24/01/2024 18:30 (gr1 - Petite classe, )
- 24/01/2024 16:30 - 24/01/2024 18:30 (Gr2 - Petite classe, )
- 31/01/2024 14:15 - 31/01/2024 16:15 (Cours - magistral, )
- 31/01/2024 16:30 - 31/01/2024 18:30 (gr1 - Petite classe, )
- 31/01/2024 16:30 - 31/01/2024 18:30 (Gr2 - Petite classe, )
- 07/02/2024 14:15 - 07/02/2024 16:15 (Cours - magistral, )
- 07/02/2024 16:30 - 07/02/2024 18:30 (gr1 - Petite classe, )
- 07/02/2024 16:30 - 07/02/2024 18:30 (Gr2 - Petite classe, )
- 14/02/2024 14:15 - 14/02/2024 16:15 (Cours - magistral, )
- 14/02/2024 16:30 - 14/02/2024 18:30 (gr1 - Petite classe, )
- 14/02/2024 16:30 - 14/02/2024 18:30 (Gr2 - Petite classe, )
- 28/02/2024 14:15 - 28/02/2024 16:15 (Cours - magistral, )
- 28/02/2024 16:30 - 28/02/2024 18:30 (gr1 - Petite classe, )
- 28/02/2024 16:30 - 28/02/2024 18:30 (Gr2 - Petite classe, )
- 06/03/2024 14:15 - 06/03/2024 16:15 (Cours - magistral, )
- 06/03/2024 16:30 - 06/03/2024 18:30 (gr1 - Petite classe, )
- 06/03/2024 16:30 - 06/03/2024 18:30 (Gr2 - Petite classe, )
- 12/03/2024 14:15 - 12/03/2024 16:15 (Cours - magistral, )
- 12/03/2024 16:30 - 12/03/2024 18:30 (gr1 - Petite classe, )
- 12/03/2024 16:30 - 12/03/2024 18:30 (Gr2 - Petite classe, )
- 19/03/2024 14:00 - 19/03/2024 17:00 (Oral, TBD)
INF586 - Network Security
ECTS: 4.0
Level: M1
Institution: X
Pre-Requisites: INF557
Main Instructor: Thomas Clausen
Synapses URL: INF586 on synapses
Other URL:
Syllabus
Threats and attacks are like living organisms: some survive unaltered, mostly hidden from view, but remain deadly when conditions are “just right” ; others emerge quickly, wreck havoc, then become extinct — and yet others keep evolving, both in terms of their propagation methods and their impact.
A network professional can therefore not be limited to just static application of risk assessment methodology, nor to mechanical application intrusion detection and forensics tools — and must, by nature, not simply be “following a cookbook”, but must also have a complete understanding of the whole processes, technologies, and theories involved in attacks.
This program in network security is therefore not just limited to a theoretical understanding the state of the art of security standards, threats, and techniques— but tries to bring a broad systems-understanding, to be able to be proactive and identify potential attack surfaces of a system, before an attack exists, and the necessary background to be able to rapidly analyse and understand the root nature of a new attackon a system.
To this end, the program alternates theoretical lectures and hands-on exercises, with seminars and “war-stories”,with 4h practice sessions during which we will be building a first-hand experience with how vulnerable real-world Internet-connected systems are — as well as with how “white-hat”IT professional constructs (more) secured computer networks.
Objectives
The objectives of this program is to allow students to:
Not just to understand “This is an attack, and here is how to detect it”, but also to understand “What architectural choices have made this attack even possible?”. This, so as to ensure that graduates can:
Go beyond just mechanically replicating recipes from a catalogue for “evaluation-detection-countermeasures”
When developing a system, make appropriate, security-informed, architectural choices
Distinguish between “science-facts”and “science-fiction”, when listening to security solution vendors, reading popular press, etc.
Understand, analyse, and exercise critical appreciation of, the panorama of current known techniques for:
Risk Evaluation
Systems and Network Protection
Intrusion Detection
Forensics and Recovery
Practice setting up secure networks, including the usage of techniques such as VLANs, VPNs, DMZs, IDSes (Snort, Suricata), Firewalls, etc.
Structure
To this end, the program alternates theoretical lectures, seminars, and “war-stories”,with 4h practice sessions during which we will be building a first-hand experience with how vulnerable real-world Internet-connected systems are — as well as with how “white-hat” IT professional constructs (more) secured computer networks.
Requirements:
A good dose of curiosity is required.
As we will be studying some advanced topics in computer networking, INF557 "From the Internet to the IoT: The Fundamentals Of Modern Computer Networking" is recommended.
Evaluation mechanism:
Active participation during weekly TD sessions, worth 50% of the final grade, and a final exam QCM worth the other 50% of the grade.
Language:
English (with, at least, bilingual teaching staff)
Schedule [DEFINITIVE]
- 09/01/2024 13:30 - 09/01/2024 18:00 (Cours - magistral, ZOOM)
- 16/01/2024 13:30 - 16/01/2024 18:00 (Cours - magistral, ZOOM)
- 23/01/2024 13:30 - 23/01/2024 18:00 (Cours - magistral, ZOOM)
- 30/01/2024 13:30 - 30/01/2024 18:00 (Cours - magistral, ZOOM)
- 06/02/2024 13:30 - 06/02/2024 18:00 (Cours - magistral, ZOOM)
- 13/02/2024 13:30 - 13/02/2024 18:00 (Cours - magistral, ZOOM)
- 27/02/2024 13:30 - 27/02/2024 18:00 (Cours - magistral, ZOOM)
- 05/03/2024 13:30 - 05/03/2024 18:00 (Cours - magistral, ZOOM)
- 07/03/2024 13:30 - 07/03/2024 18:00 (Cours - magistral, ZOOM)
- 14/03/2024 09:00 - 14/03/2024 12:30 (Examen - Sécurité des réseaux, TBD)
- 15/03/2024 09:00 - 15/03/2024 12:30 (Examen - Sécurité des réseaux, TBD)
INF641 - Introduction to the verification of neural networks
ECTS: 2.5
Level: M2
Institution: X
Pre-Requisites:
Main Instructor: Sylvie Putot
Synapses URL: Not available
Other URL:
Syllabus
Neural networks are now widely used in numerous applications including speech recognition, natural language processing, image segmentation, control and planning for autonomous systems. A central question is how to verify that they are correct with respect to some specification. Beyond correctness, we are also interested in questions such as explainability and fairness, that can in turn be specified as formal verification problems.
The interest in explainability and validation for neural networks based systems has fostered an enormous amount of research in recent years, revisiting some older themes in formal methods. Recently, the problem of verifying properties of neural networks has been investigated extensively under a variety of contexts.
A natural neural network analysis problem is that of range estimation, i.e. bounding the values of neurons on the output layer, or some function of the output neurons,
given the range of neurons on the input layer. A prototypical application of range estimation is the verification of the ACAS Xu - the next generation collision avoidance system for autonomous aircrafts, which is implemented by a set of neural networks. Such a verification problem is translated into a range estimation problem over these neural network wherein the input ranges concern a set of possible scenarios and the outputs indicate the possible set of advisories provided by the network.
Another prototypical application concerns the robustness of image classification wherein we wish to analyze whether a classification label remains constant for images in a neighborhood of a given image that is often specified using ranges over a set of pixels. Robustness is akin to numerical stability analysis, and for neural nets used as decision procedures (e.g. control of a physical apparatus), this is a form of decision consistency. It is also linked to the existence or non-existence of adversarial inputs, i.e. those inputs close to a well classified input data, that dramatically change the classification, and may have dire consequences.
Many formal methods approaches that have been successfully used in the context of program verification seem to be successfully leveraged to the case of neural net verification: proof-theoretic approaches, SMT techniques, constraint based analyzers and abstract interpretation. In this course, we will begin by setting up the scene, and introduce formal methods as developed for program analysis and verification, and more specifically abstract interpretation based methods. Then we will show how to translate some of the successes of program verification to neural net verification.
The course will include lab sessions. Evaluation will be made for 60% on a project (e.g. implementation of analysis methods for the analysis of neural nets or of programs), and 40% on a presentation of a research article.
Schedule [DEFINITIVE]
- 10/01/2024 09:00 - 10/01/2024 12:00 (Cours magistral, TBD)
- 10/01/2024 13:30 - 10/01/2024 16:30 (Travaux dirigés, TBD)
- 17/01/2024 09:00 - 17/01/2024 12:00 (Cours magistral, TBD)
- 17/01/2024 13:30 - 17/01/2024 16:30 (Travaux dirigés, TBD)
- 24/01/2024 09:00 - 24/01/2024 12:00 (Cours magistral, TBD)
- 24/01/2024 13:30 - 24/01/2024 16:30 (Travaux dirigés, TBD)
- 31/01/2024 09:00 - 31/01/2024 12:00 (Cours magistral, TBD)
- 31/01/2024 13:30 - 31/01/2024 16:30 (Travaux dirigés, TBD)
INF656D - Modélisation et analyse des risques de sécurité dans les systèmes complexes
ECTS: 2.5
Level: M2
Institution: Telecom Paris
Pre-Requisites:
Main Instructor: Jean Leneutre
Synapses URL: Not available
Other URL:
Syllabus
" L’enseignement porte sur la sécurité des systèmes d’Information avec une forte orientation sur la modélisation des risques pour les systèmes complexes.
L’objectif est dans un premier temps de présenter les méthodes classiques (informelles) d’analyse de risques de sécurité pour ces systèmes. Les limitations de ces méthodes sont une justification à l’introduction d’approches plus formelles.
Des exemples d’application sont pris dans le contexte de la sécurité des systèmes industriels. Les aspects d’interdépendances entre sécurité et sûreté de fonctionnement sont aussi une problématique émergente qui sera abordée.
Méthodes informelles d’analyse de risques de sécurité (ISO27005, EBIOS, Mehari, Cramm, Octave, ….)
Méthodes et outils pour la modélisation des attaques et défense
– Arbres d’attaques
– Arbres d’attaques défense
– Réseaux bayésiens pour la sécurité
– Graphes d’attaques
Méthodes quantitatives pour l’analyse de risques
– Adversary-driven state-based system security evaluation (ADVISE)
– Approches basées sur la théorie des jeux,…
Approches jointes Sécurité/Sûreté de fonctionnement
Applications à la sécurité des systèmes complexes/industriels
– Stratégies de défense optimales dans les smartgrids
– Gestion des patchs dans les systèmes critiques
– Détection d’intrusion dans les systèmes SCADA"
SCHEDULE: Tuesday morning between September 19th and December 16th, excluding November 1st (there will be 7 classes and the exam, scheduled in that period).
Schedule [DEFINITIVE]
- 24/10/2023 09:00 - 24/10/2023 12:00 (Lecture, TBD)
- 07/11/2023 09:00 - 07/11/2023 12:00 (Lecture, TBD)
- 14/11/2023 09:00 - 14/11/2023 12:00 (Lecture, TBD)
- 21/11/2023 09:00 - 21/11/2023 12:00 (Lecture, TBD)
- 28/11/2023 09:00 - 28/11/2023 12:00 (Lecture, TBD)
- 05/12/2023 09:00 - 05/12/2023 12:00 (Lecture, TBD)
- 12/12/2023 09:00 - 12/12/2023 12:00 (Lecture, TBD)
- 19/12/2023 09:00 - 19/12/2023 12:00 (Lecture, TBD)
INF656I - Numerical methods for dynamical systems
ECTS: 2.5
Level: M2
Institution: X
Pre-Requisites:
Main Instructor: Julien Alexandre dit Sandretto
Synapses URL: Not available
Other URL:
Syllabus
This course presents the main numerical tools for the study and the analysis of continuous-time dynamical systems. Different classes of dynamical systems will be considered among ordinary differential equations, differential-algebraic equations, and differential equations with delay in the first part of the course. Numerical algorithms to solve initial value problems and two point boundary value problems will be presented as well as their stability properties emphasizing their pros and cons. The last part of the course will be an introduction to the reachability analysis of dynamical systems based on interval analysis methods. Practical exercices on computers using Matlab and C++ will help understanding the presented algorithms.
Schedule [DEFINITIVE]
- 28/09/2023 09:00 - 28/09/2023 12:00 (Cours magistral, TBD)
- 05/10/2023 09:00 - 05/10/2023 12:00 (Cours magistral, TBD)
- 12/10/2023 09:00 - 12/10/2023 12:00 (Cours magistral, TBD)
- 19/10/2023 09:00 - 19/10/2023 12:00 (Cours magistral, TBD)
- 09/11/2023 09:00 - 09/11/2023 12:00 (Cours magistral, TBD)
- 16/11/2023 09:00 - 16/11/2023 12:00 (Cours magistral, TBD)
- 23/11/2023 09:00 - 23/11/2023 12:00 (Cours magistral, TBD)
- 30/11/2023 09:00 - 30/11/2023 12:00 (Cours magistral, TBD)
INF656L - Decision Procedures for Artificial Intelligence
ECTS: 2.5
Level: M2
Institution: X
Pre-Requisites:
Main Instructor: Alexandre Chapoutot
Synapses URL: Not available
Other URL:
Syllabus
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.
Schedule [DEFINITIVE]
- 11/01/2024 14:00 - 11/01/2024 18:00 (Cours magistral, TBD)
- 18/01/2024 14:00 - 18/01/2024 18:00 (Cours magistral, TBD)
- 25/01/2024 14:00 - 25/01/2024 18:00 (Cours magistral, TBD)
- 01/02/2024 14:00 - 01/02/2024 18:00 (Cours magistral, TBD)
- 08/02/2024 14:00 - 08/02/2024 18:00 (Cours magistral, TBD)
- 15/02/2024 14:00 - 15/02/2024 18:00 (Cours magistral, TBD)
- 22/02/2024 14:00 - 22/02/2024 18:00 (Cours magistral, TBD)
- 29/02/2024 14:00 - 29/02/2024 18:00 (Exam (Oral), TBD)
NET7212 - Safe System Programming
ECTS: 5.0
Level: M2
Institution: X
Pre-Requisites:
Main Instructor: Samuel Tardieu
Synapses URL: Not available
Other URL: https://net7212.telecom-paris.fr/
Syllabus
Description
-----------
In this cours you will learn how to build **system-level applications** that avoid by construction **memory safety issues** and **data race issues**, by relying on modern type systems.
You will be introduced to **Rust** as an example of a programming language that realizes this approach and has significant industry adoption.
Syllabus
--------
- Memory safety
- How to detect memory-safety issues in C/C++
- The Rust memory model
- NULL references and how to avoid "billion dollar mistakes"
- Rust language basics
- Race conditions
- Avoiding multiprocessing (security) pitfalls
- Data races
- Avoiding multithreading (security) pitfalls
Meta
----
- Field: System programming and Software security
- Keywords: programming, security, statictyping, memorysafety, multiprocessing, multithreading, rust
- Evaluation: exam + project
- Prerequisites:
- operating systems foundamentals
- C programming (C++ would be a plus)
- POSIX programming
- some experience with multithreading/multiprocessing programming
Schedule [DEFINITIVE]
- 19/09/2023 15:00 - 19/09/2023 18:15 (lecture + lab, 3.A405)
- 26/09/2023 15:00 - 26/09/2023 18:15 (lecture + lab, 3.A405)
- 03/10/2023 15:00 - 03/10/2023 18:15 (lecture + lab, 3.A405)
- 10/10/2023 15:00 - 10/10/2023 18:15 (lecture + lab, 3.A405)
- 17/10/2023 15:00 - 17/10/2023 18:15 (lecture + lab, 3.A405)
- 24/10/2023 15:00 - 24/10/2023 18:15 (lecture + lab, 3.A405)
- 07/11/2023 15:00 - 07/11/2023 18:15 (lecture + lab, 3.A405)
- 14/11/2023 15:00 - 14/11/2023 18:15 (lecture + lab, 3.A405)
- 21/11/2023 15:00 - 21/11/2023 18:15 (lecture + lab, 3.A405)
- 28/11/2023 15:00 - 28/11/2023 18:15 (guest lecture + lab, 3.A213)
- 05/12/2023 15:00 - 05/12/2023 18:15 (lecture + lab, 3.A405)
- 12/12/2023 15:00 - 12/12/2023 18:15 (project defenses, 3.A405)
- 19/12/2023 15:00 - 19/12/2023 18:15 (exam, 3.A405)
SE205 - Concurrent Programming
ECTS: 2.5
Level: M1
Institution: Telecom Paris
Pre-Requisites:
Main Instructor: Laurent Pautet
Synapses URL: SE205 on synapses
Other URL:
Syllabus
Le cours abordera la conception d'applications concurrente : modèles de concurrence, politiques d'ordonnancement, mécanismes de synchronisation. Ces concepts seront illustrés par la mise en oeuvre de l'interface de programmation C/POSIX et par celle du modèle objet Java. Le cours portera également sur des patrons de conception pour la programmation concurrente ainsi que la vérification d'applications concurrentes.
Schedule [TENTATIVE SCHEDULE]
- 13/02/2024 08:30 - 13/02/2024 11:45 (Cours magistral, )
- 20/02/2024 08:30 - 20/02/2024 11:45 (Cours magistral, )
- 06/03/2024 08:30 - 06/03/2024 11:45 (Cours magistral, )
- 13/03/2024 08:30 - 13/03/2024 11:45 (Cours magistral, )
- 20/03/2024 08:30 - 20/03/2024 11:45 (Cours magistral, )
- 27/03/2024 08:30 - 27/03/2024 11:45 (Cours magistral, )
- 03/04/2024 08:30 - 03/04/2024 11:45 (Cours magistral, )
- 17/04/2024 08:30 - 17/04/2024 11:45 (Cours magistral, )
SE301a - Real-time System Scheduling
ECTS: 2.5
Level: M2
Institution: X
Pre-Requisites:
Main Instructor: Laurent Pautet
Synapses URL: Not available
Other URL: https://strec.wp.imt.fr/noyau-temps-reel-comasic-seti/
Syllabus
Cette unité d'enseignement vise à donner aux étudiants les connaissances indispensables pour la conception de systèmes temps réel embarqués critiques. Notamment, l'enseignement se concentre sur les problèmes liés à la satisfaction de contraintes non-fonctionnelles (contraintes matérielles, temporelles, etc.) dans le cadre de la conception de systèmes temps réel et souvent critiques. Plus particulièrement, le cours porte sur des aspects algorithmiques comme la théorie de l’ordonnancement, sur la conception bas niveau avec mise en œuvre sur noyaux temps réel, sur la modélisation, l’analyse et la production de code embarqué, sur les approches pour la sûreté de fonctionnement ou encore sur les standards industriels propres à l’avionique, l’automobile ou le ferroviaire.
Objectifs d'apprentissage :
Algorithmes et Architectures de référence
Algorithmes d'ordonnancement de tâches et serveurs périodiques
Systèmes et architectures dans l’avionique et l’automobile
Motifs de conception pour la tolérance aux fautes
Synthèse de logiciel embarqué à partir de modèle (AADL -> C)
Programmation
Programmation temps réel via différentes API
Programmation de la tolérance aux fautes
Implémentation d'un ordonnanceur
Analyse et Modélisation
Tests d'ordonnancement analytiques
Calcul de pire temps d'exécution
Définition et interprétation de modèles pour calculs de fiabilité / disponibilité pour systèmes critiques
Schedule [DEFINITIVE]
- 27/09/2023 14:00 - 27/09/2023 18:00 (Cours magistral, TBD)
- 04/10/2023 14:00 - 04/10/2023 18:00 (Cours magistral, TBD)
- 05/10/2023 14:00 - 05/10/2023 18:00 (Cours magistral, TBD)
- 11/10/2023 14:00 - 11/10/2023 18:00 (Cours magistral, TBD)
- 18/10/2023 14:00 - 18/10/2023 18:00 (Cours magistral, TBD)
- 25/10/2023 14:00 - 25/10/2023 18:00 (Cours magistral, TBD)
- 08/11/2023 14:00 - 08/11/2023 18:00 (Cours magistral, TBD)
- 15/11/2023 14:00 - 15/11/2023 16:00 (Exam, TBD)
SE301b - Real-Time System Design
ECTS: 2.5
Level: M2
Institution: Telecom Paris
Pre-Requisites: SE301a
Main Instructor: Dominique Blouin
Synapses URL: Not available
Other URL: https://strec.wp.imt.fr/se301b
Syllabus
" Cette unité d'enseignement vise à donner aux étudiants les connaissances indispensables pour la conception de systèmes temps réel embarqués critiques. Notamment, l'enseignement se concentre sur les problèmes liés à la satisfaction de contraintes non-fonctionnelles (contraintes matérielles, temporelles, etc.) dans le cadre de la conception de systèmes temps réel et souvent critiques. Plus particulièrement, le cours porte sur des aspects algorithmiques comme la théorie de l’ordonnancement, sur la conception bas niveau avec mise en œuvre sur noyaux temps réel, sur la modélisation, l’analyse et la production de code embarqué, sur les approches pour la sûreté de fonctionnement ou encore sur les standards industriels propres à l’avionique, l’automobile ou le ferroviaire.
Objectifs d'apprentissage :
Algorithmes et Architectures de référence
Algorithmes d'ordonnancement de tâches et serveurs périodiques
Systèmes et architectures dans l’avionique et l’automobile
Motifs de conception pour la tolérance aux fautes
Synthèse de logiciel embarqué à partir de modèle (AADL -> C)
Programmation
Programmation temps réel via différentes API
Programmation de la tolérance aux fautes
Implémentation d'un ordonnanceur
Analyse et Modélisation
Tests d'ordonnancement analytiques
Calcul de pire temps d'exécution
Définition et interprétation de modèles pour calculs de fiabilité / disponibilité pour systèmes critiques"
Schedule [DEFINITIVE]
- 29/11/2023 14:00 - 29/11/2023 18:00 (Cours magistral, TBD)
- 06/12/2023 14:00 - 06/12/2023 18:00 (Cours magistral, TBD)
- 18/12/2023 09:00 - 18/12/2023 12:00 (Cours magistral, TBD)
- 20/12/2023 14:00 - 20/12/2023 18:00 (Cours magistral, TBD)
- 08/01/2024 09:00 - 08/01/2024 12:00 (Cours magistral, TBD)
- 22/01/2024 09:00 - 22/01/2024 12:00 (Cours magistral, TBD)
- 05/02/2024 09:30 - 05/02/2024 11:30 (Exam, TBD)
TESTING - Software Model Based Testing
ECTS: 2.5
Level: M2
Institution: Telecom SudParis
Pre-Requisites:
Main Instructor: Natalia Kushik
Synapses URL: Not available
Other URL:
Syllabus
The main objective of this course is the study of existing testing techniques for different types of software, mostly used in telecommunications. The students should learn how to estimate the software quality from a tester point of view and which formal models can be used to derive high quality tests or to verify the correctness of certain properties of software components of discrete event systems.
- Introduction to software quality and software testing problem; classification of various testing techniques (lecture);
- Motivation to Model Based Testing; introducing formal models for discrete event systems (lecture);
- Finite State Machines – definitions and examples (lecture and exercises);
- FSM based test generation strategies; guaranteed fault coverage (lectures and exercises);
- Non-intrusive testing techniques and Passive testing (lecture and exercises);
- Optimization of passive testing/monitoring techniques (lecture);
- (Collaborative) project management class (laboratory and seminar).
Schedule [DEFINITIVE]
- 19/01/2024 09:00 - 19/01/2024 12:00 (Cours magistral, TBD)
- 19/01/2024 13:30 - 19/01/2024 16:30 (Cours magistral, TBD)
- 26/01/2024 09:00 - 26/01/2024 12:00 (Cours magistral, TBD)
- 02/02/2024 09:00 - 02/02/2024 12:00 (Cours magistral, TBD)
- 09/02/2024 09:00 - 09/02/2024 12:00 (Cours magistral, TBD)
- 16/02/2024 09:00 - 16/02/2024 12:00 (Cours magistral, TBD)
- 23/02/2024 09:00 - 23/02/2024 12:00 (Cours magistral, TBD)
- 01/03/2024 09:00 - 01/03/2024 12:00 (Cours magistral, TBD)