Une erreur est survenue. Merci de réessayer ultérieurement
Le mail de partage a bien été envoyé.
M2 Computer and Network Systems (CNS)-Systèmes Autonomiques (SA)
Master's degree
Informatique
Full-time academic programmes
English
French
The program aims to provide students with the scientific fondations necessary for the design of autonomous systems, i.e., systems capable of self-management, self-organization, self-protection, and self-optimization. From a scientific perspective, the objective is to present the necessary knowledge regarding performance models (automata, Petri nets, queues, etc.); optimization methods (game theory, multi-criteria optimization including energy, etc.); formal methods for design, verification, and testing; artificial intelligence (machine learning, reinforcement learning, multi-agent systems, etc.).
Describe the functional requirements of computer systems in specifications.
Apply basic concepts to propose architectural and technical solutions.
Analyze the operation of complex computer systems.
Propose innovative solutions.
Justify technical and technological choices.
Objectives
.The Master's degree trains specialists capable of designing and optimizing autonomous, intelligent, and distributed computing systems. It prepares students for careers as systems architects, research and development engineers, or researchers.
Career Opportunities
Career prospects
Après un Master ou Master + Doctorat : chercheur ou enseignant-chercheur
Après un Master ou Master + Doctorat : ingénieur (R&D, contrôle, production…)
Chef de projet
Ingénieur de recherche
Ingénieur de recherche ou d'études
ingénieur d'études
Ingénieur.e recherche & développement
Further Study Opportunities
Chargé·e d’études
Chef·fe de projet/de mission
Chercheur/chercheuse en R&D ou expert·e en modélisation et analyse de données dans des entreprises ou laboratoires de pointe.
Data Scientist, Data Analyst, Ingénieur·e en Machine Learning dans des secteurs innovants (tech, finance, santé, énergie, etc.) ;
Doctorat
Thèse de doctorat
Fees and scholarships
The amounts may vary depending on the programme and your personal circumstances.
The Master 2 is accessible to students holding the Computer Network Systems M1 and, upon consideration of their file, to students holding an M1 in Informatics, an undergraduate degree (over 4 years) or Master's degree in Computer Science, an M2 in foreign Computer Science, or an engineering degree with a substantial informatics component. All applications are reviewed by the admissions panel.
Application Period(s)
Inception Platform
From 01/01/2026 to 15/02/2026
From 01/05/2026 to 15/06/2026
Supporting documents
Compulsory supporting documents
Rank of previous year and size of the promotion.
Copy diplomas.
Motivation letter.
All transcripts of the years / semesters validated since the high school diploma at the date of application.
Curriculum Vitae.
Detailed description and hourly volume of courses taken since the beginning of the university program.
Additional supporting documents
2nd letter of recommendation (compulsory for candidates who have already been enrolled in higher education in France before).
Letter of recommendation (compulsory for candidates who have already been enrolled in higher education in France before).
Referring contact information (compulsory for non-international applicants).
Certificate of English level.
Certificate of French (compulsory for non-French speakers).
VAP file (obligatory for all persons requesting a valuation of the assets to enter the diploma).
Document indicating the list of local M2 choices available here : https://urlz.fr/i3Lo.
Supporting documents :
- Residence permit stating the country of residence of the first country
- Or receipt of request stating the country of first asylum
- Or document from the UNHCR granting refugee status
- Or receipt of refugee status request delivered in France
- Or residence permit stating the refugee status delivered in France
- Or document stating subsidiary protection in France or abroad
- Or document stating temporary protection in France or abroad.
L'objectif de cet enseignement est d'habituer les étudiants à utiliser certains outils méthodologiques puissants pour, entre autres, trouver un stage adapté à ses intérêts et ses capacités, développer une problématique pour le mémoire dans le cadre d'un stage en entreprise, et faire un état de l'art des travaux accessibles répondant à une problématique.
Réalisation d'un projet par équipes permettant d'intégrer les connaissances présentées dans les différents cours du semestre.
L'objectif est ainsi de développer la capacité de modéliser et résoudre un problème appliqué en utilisant des méthodes vues en cours, de travailler en équipe et de présenter un travail d'équipe.
Organisation générale et modalités pédagogiques
Un projet de conception d'un système complexe est décomposé en une demi-douzaine de sous-projets pour des équipes de trois étudiants encadrés par des enseignants de différentes UE. Des réunions sont organisées très régulièrement, entre les équipes et leurs encadrants, et pour la coordination entre équipes. Les projets font l'objet de soutenances.
Internet network architecture and TCP/IP protocols.
Objectifs d'apprentissage
The objective of this course is to present the key concepts and techniques for the design and engineering of autonomic systems and, more particularly, the autonomic networks (SON: Self-Organizing Networks).
This course covers techniques for monitoring, analyzing, and controlling complex systems, such as network infrastructures. The aim is to design future large-scale IT infrastructures with a high level of resilience and quality of service despite their complexity and heterogeneity.
Internet network architecture and TCP/IP protocols, QoS.
Programme / plan / contenus
After presenting traditional IP network architectures, this course highlights the need for better control of existing IP-based networks. In particular, the benefit of transforming hardware function into software that can be programmability instrumented (NFV: Network Function Virtualization). The SDN architecture and the associated protocols, called OpenFlow and Netconf/Yang, are detailed. The different implementations are presented. Specific optimizations of SDN and NFV are discussed. Finally, a more general picture of SDN in the context of Cloud Computing, Edge Computing, Mobile Cloud, and Fog Cloud is presented.
Objectifs d'apprentissage
The goal of this course is to introduce recent advances in the architectures of computer networks, from high-performance hardware-based functions to commodity programmable hardware and software functions that are executed in back-end datacenters.
Bibliographie
Edelman, J., Lowe, S. S., & Oswalt, M. (2018). Network programmability and automation: skills for the next-generation network engineer. " O'Reilly Media, Inc.".
Afin de garantir des niveaux élevés de fiabilité et de performance, les systèmes informatiques déployés au sein des centres de calcul, de stockage et de traitement des données, sont massivement distribués. Nous étudierons au sein de ce cours les principaux défis techniques relevés par ces solutions communément utilisées au sein des datacenters d'aujourd'hui et de demain.
Organisation générale et modalités pédagogiques
Pour chacune des thématiques, à partir des principales solutions open-source disponibles que nous déployerons pour les prendre en main, nous mettrons en évidence les problématiques théoriques, algorithmes et structures de données clés. Nous ré-implémenterons par nous même des exemples de ces différentes solutions par du développement de maquettes, essentiellement en C et Python, que les étudiants pourront approfondir sous la forme de mini-projets.
Practice of a programming language like Java or C++ - basic knowledge of operating systems - basic knowledge of computer networks - basic knowledge of relational database management systems.
Programme / plan / contenus
General Introduction
Virtualization and cloud
Cloud storage at the file-level
Cloud storage at the database level
Security in the cloud
Programming models for the cloud
Optimal allocation of resources in the cloud.
Objectifs d'apprentissage
The objectives of the cloud computing course are to enable the students to gain a deep understanding of the software implementation concepts of a cloud so that they can be users, expert developers, but also administrators or contributors for such infrastructures. Accordingly, the course will address the major features of current cloud systems, namely virtualization (at the storage, computing, and networking levels), storage (file system level but also data management system), security, elasticity, programming models, and optimal allocation of resources. The concepts are presented based on the state of the art of the domain and on what is used in the cloud computing market (like AWS, Google App Engine, or MS Azure).
The first objective of this course is to introduce the different concepts related to the performance of systems and networks. In particular, the definition of Quality of Service (QoS), SLA (Service Level Agreement), and SLS (Service Level Specification), and how they relate to the functioning of the delivered services. The second objective is to introduce the different analytical methods to model these networks and systems and evaluate the expected Quality of Service under different hypotheses.
Organisation générale et modalités pédagogiques
Tutorials, practical examples, and research papers.
Final Exam.
Bibliographie
Qualité de Service dans les Réseaux Hauts Débits Prof. Tülin ATMACA, Institut Mines Télécom/Télécom SudParis.
Performance Evaluation of Computer and Communication Systems 1st Edition by Jean-Yves Le Boudec.
Bruno Baynat et al., Théorie des files d’attente «des chaînes de Markov aux réseaux à formes produit», Hermès, juin 2000.
L’apprentissage profond (deep learning) constitue aujourd’hui une composante essentielle de l’intelligence artificielle (IA).
Il s’agit d’un ensemble de méthodes permettant de modéliser des données complexes à un haut niveau d’abstraction,
à l’aide de réseaux de neurones artificiels composés de multiples couches.
Ces approches ont permis des progrès spectaculaires dans des domaines variés tels que :
- la vision par ordinateur (reconnaissance d’images, détection d’objets, vision autonome),
- le traitement automatique du langage naturel (traduction, génération de texte, modèles comme ChatGPT ou DeepSeek),
- la reconnaissance vocale et sonore,
- ou encore la génération de contenu multimédia (images, musique, vidéos).
Programme du cours
Introduction à l’apprentissage profond:
- Motivation et émergence du deep learning
- Réseaux de neurones artificiels (ANN)
- Neurone artificiel, fonctions d’activation
- Propagation avant et rétropropagation du gradient
- Optimisation et régularisation
Réseaux de neurones convolutifs (CNN)
- Convolutions, pooling, architectures classiques (LeNet, AlexNet, ResNet)
- Applications à la vision par ordinateur
Architectures avancées
- Réseaux récurrents (RNN, LSTM, GRU)
- Transformers et modèles de langage à grande échelle (LLMs)
- Vision Transformers (ViT), diffusion models
Outils et bibliothèques logicielles
- Graphes de calcul
- Présentation et prise en main de TensorFlow, PyTorch et Keras
Objectifs d'apprentissage
À l’issue du cours, les étudiants seront capables de :
- Comprendre les principes fondamentaux de l’apprentissage profond et des réseaux de neurones.
- Concevoir, entraîner et évaluer des modèles adaptés à différents types de données.
- Identifier les architectures avancées et leurs applications spécifiques (vision, texte, audio, etc.).
- Utiliser les principales bibliothèques logicielles (TensorFlow, PyTorch, Keras) pour la mise en œuvre pratique de modèles de deep learning.
Bibliographie
Bengio, Y., Goodfellow, I., & Courville, A. (2017). Deep learning (Vol. 1). Cambridge,
MA, USA : MIT press. https://www.deeplearningbook.org/
Géron, A. (2019). Hands-on machine learning with Scikit-Learn, Keras, and
TensorFlow : Concepts, tools, and techniques to build intelligent systems. O’Reilly
Media, Inc.
Reinforcement learning and approximation algorithms
Semester :
Semestre 1
Détail du volume horaire :
Lecture :18
Langue d'enseignement
Anglais
Enseignement à distance
non
Prérequis
Connaissance du langage Python, notion de probabilités.
Programme / plan / contenus
Introduction à l'apprentissage par renforcement
Qu’est-ce que le RL ?
Processus de décision markoviens (MDP)
Concepts de programmation dynamique
Évaluation et amélioration de politiques
Itération de politique
Itération de valeur
Méthodes tabulées
Méthodes Monte Carlo
Apprentissage par différence temporelle (TD)
Approximation de fonctions
Approximation linéaire
Méthodes de descente de gradient
Méthodes de gradient de politique
Algorithme REINFORCE et techniques de réduction de la variance
Objectifs d'apprentissage
La partie RL du cours fournit une introduction approfondie à l'apprentissage par renforcement (RL), en mettant l'accent sur les algorithmes fondamentaux et les applications pratiques. Les étudiants aborderont les principes de la prise de décision séquentielle, les bases des processus de décision markoviens, les fonctions de valeur, et l’optimisation de politique.
Dans toutes les séances, les étudiants auront à expérimenter les algorithmes et approches étudiés en instanciant des agents Python apprenant sur des problèmes académiques.
Bibliographie
Reinforcement Learning: An Introduction, par Sutton & Barto
Different ways to approach a multi-objective optimization problem (objective aggregation, constrained optimization, the ideal point approach, the Pareto set, etc.).
Construction of approximate Pareto fronts with performance guarantees for several combinatorial optimization problems (in particular shortest path problems and scheduling problems with energy minimization).
Multi-objective dynamic programming.
Multi-objective gradient descent methods for continuous optimization and machine learning.
Bibliographie
Multicriteria Optimization, M. Ehrgott, Springer 2005
Basic knowledge of formal languages and automata theory.
Programme / plan / contenus
The objectives of the course are to understand the fundamentals of concurrent systems, to be able to model and rigorously compare these systems, to be able to check functional correction properties of these systems.
Contents:
Two families of models will be discussed:
- Discrete models (finite automata, Petri nets), inter-leaving vs. "true concurrence", validation of mutual ex-clusion properties, absence of deadlock, equity, bounded-ness ...
- Their timed extensions (timed automata, timed Petri nets), model-checking, symbolic approaches, limitations, tools (UPPAAL, TINA).
Approches formelles pour la vérification de programmes
Semester :
Semestre 1
Détail du volume horaire :
Lecture :18
Langue d'enseignement
Français
Enseignement à distance
non
Prérequis
Cours de logique de base : logique propositionnelle, logique du premier ordre, sémantique.
- Pratique d'un langage de programmation.
- Cours de Théorie des Langages : automates, grammaires hors-contextes.
Programme / plan / contenus
Les méthodes formelles permettent de garantir la sûreté d'un système par rapport à une spécification donnée. Dans ce cours, on étudiera principalement les approches basées sur la preuve, qui requièrent des
spécifications très expressives. Après un rappel sur la logique du
premier ordre, seront présentées les principales méthodes pour faire des preuves assistées par ordinateur : d'une part des outils
complètement automatiques comme les solveurs Satisfiabilité Modulo Théorie et les prouveurs automatiques pour la logique du premier ordre ; d'autre part les assistants à la démonstration qui sont plus puissants mais nécessitent l'intervention de l'utilisateur.
Il sera également étudié comment ajouter des spécifications à un
programme, sous la forme d'annotations et/ou de contrats. Pour vérifier ces annotations, par le biais de la logique de Hoare, les annotations sont transformées en obligations de preuve dont la démonstration
garantit le respect de la spécification avant même toute exécution. Le cours comporte également une initiation à la manipulation du plugin WP
de la plateforme d'analyse des programmes C appelée Frama-C.
La dernière partie du cours vise à présenter les techniques
d'apprentissage permettant de construire automatiquement des modèles de systèmes, sous la forme de machines à états, en interagissant avec eux. Ces modèles peuvent ensuite servir de sujet pour démontrer
des propriétés de sûreté ou de sécurité. Ils ont notamment été
exploités pour détecter des trous de sécurité dans des sites web,
ou pour reconstruire les spécifications de systèmes en réingénierie logicielle. Le cours présente les grandes familles d'algorithmes, actifs ou passifs, utilisés en inférence grammaticale exacte.
Organisation générale et modalités pédagogiques
Le cours se décompose en trois parties :
1. Introduction à la nécessité des approches formelle. Rappel logique du premier ordre. Spécification de programmes impératifs. Preuve de programme : Logique de Hoare. Calcul de plus faible précondition.
Preuve de programme sur machine à l'aide du plugin WP de Frama-C.
2. Preuve mécanisée. Preuve automatique : SAT, SMT et résolution.
Déduction naturelle. Assistant à la démonstration. Illustration avec Rocq. Utilisation sur machine des outils de preuve mécanisée.
3. Apprentissage de modèles de systèmes : inférence grammaticale, apprentissage par requête, apprentissage passif d'automates et de grammaires.
Bibliographie
Logic and proof, cours de Lawrence Paulson : https://www.cl.cam.ac.uk/teaching/1920/LogicProof/logic-notes.pdf
- Travaux fondateurs de Dana Angluin : « Learning Regular Sets from Queries and Counter-Examples », Information and Control, vol. 75, no 2, 1987, p. 87–106
- Livre de Colin de la Higuera : "Grammatical Inference: Learning
Automata and Grammars", Cambridge University Press, 2010
L'objectif du cours est d'aborder les outils fondamentaux d'analyse et de modélisation des systèmes complexes et d'en étudier l'application sur des problématiques de systèmes informatiques autogérés. Les outils transversaux de la complexité trouvent dans cette perspective un nouveau champ applicatif à explorer.
Contenu :
Introduction aux outils théoriques relatifs à la dynamique des systèmes complexes résultant de l'interaction de multiples agents concurrents, souvent configurés en réseau.
Présentation de différents modèles permettant la conception et la régulation dynamique de systèmes décentralisés fondés sur les principes d'auto-organisation et d'émergence, et, dans ce cadre,
présentation des mécanismes principaux de l'intelligence collective et d'un ensemble d'exemples d'application (auto-assemblage, routage adaptatif, optimisation, etc.).
Connaissances générales en informatique de niveau master.
Programme / plan / contenus
Ce cours présente des outils et méthodes pour modéliser et analyser des socio-écosystèmes à l'aide de méthodes formelles. L'objectif est de comprendre le fonctionnement de ces systèmes pour faire face aux changements rapides qu'ils subissent actuellement (dérèglement climatique, effondrement de la biodiversité, etc.) et prendre des mesures de gestion visant à les maintenir sur certaines trajectoires. Les méthodes mises en œuvre (réseaux de Petri, model-checking, calcul symbolique, etc.) sont classiques en informatique, mais elles sont ici utilisées de manière originale compte tenu du contexte particulier.
Game theory is used to investigate the fundamental mechanism underpinning the decision making. This theoretical framework is used in computer science to study the complexity of self-star systems. The objective of this course is to introduce the techniques and concepts from non-cooperative and cooperative games to provide algorithms for entities to cooperate, self-organize and respond to changes in their environment while optimizing a certain objective function. At the end of the UE, the student will be able to solve algorithmic and specification problems based on game theory. The main parts of this course addresses:
a.Introduction to game theory
b.Strategic game theory
c.Algorithmic based game theory
d.Nash equilibria computation
e.Parity game theory
f.Price of anarchy and price of stability
g.Mechanism design (VCG mechanism) and truthful algorithms.
h.Application to concrete cases including scheduling, routing and decision-making problems.
Bibliographie
Algorithmic Game Theory, N. Nissam, T. Roughgarden, E. Tardos, V. Vazirani, Cambridge University Press, 2007.
Introduction à l’entrepreneuriat : Créer sa start-up Deeptech
Semester :
Semestre 1
Détail du volume horaire :
Lecture :20
Langue d'enseignement
Anglais
Enseignement à distance
non
Prérequis
No prerequisites. However, this course is intended for students who are potentially interested in entrepreneurship (without the requirement of having an entrepreneurial project) or who wish to explore whether becoming an entrepreneur would suit them.
Programme / plan / contenus
The course will address the key components of a deeptech entrepreneurial project, detailing each essential step in the process of starting a company:
Introduction: myths and realities of entrepreneurship, the entrepreneur’s profile, and the specific features of deeptech entrepreneurship.
Presentation of Genopole and the Shaker startup support program.
Proof of Concept (POC)
Market study
Business plan
Sources of funding
Legal and administrative aspects
Human resources, co-founder search, management
Intellectual property
From research to valorization: bridging the gap
Marketing / communication
Business development, partnerships with large corporations
Objectifs d'apprentissage
Provide students with a biotech entrepreneurship toolkit:
Offer clear, comprehensive, and concrete information about the key stages of starting a business.
Encourage students to take the leap—whether in the short or long term—by demystifying entrepreneurship.
Give them access to a useful network for entrepreneurial projects: ecosystems and professionals who can provide guidance and support.
Organisation générale et modalités pédagogiques
The course will be organized into 8 sessions:
1 introductory session (3h): interactive, aimed at identifying the key building blocks of entrepreneurship and co-designing the course program with the students.
6 sessions (3 × 3h + 3 × 2h): providing foundational knowledge and illustrating key aspects of entrepreneurship through practical examples and testimonials.
1 coaching session (2h): focused on preparing the pitch for a biotech/deeptech startup project (group work).
basics of computer science (complexity, automata theory, langage theory)
basics of the biology of DNA
Programme / plan / contenus
Presentation of DNA self-assembly, theory and experiments.
Biomedical applications of DNA self-assembly : reading and discussion.
Supervised project on thed design of a DNA origami.
Objectifs d'apprentissage
Understand the basic principles of DNA self-assembly and DNA computing.
Understand basic applications of DNA nanotechnology in biology and medicine.
Learn how to design basic DNA nanostructures.
Organisation générale et modalités pédagogiques
This class starts by a brief presentation of the computational aspects of DNA self-assembly and the experimental technique of DNA origami. This presentation is followed by a reading session in which the students are encouraged to present their favorite aspects in detail to their peers. The class ends with a practical assignment in the DNA origami design software https://www.ens-lyon.fr/ensnano/, in which the students are encouraged to design a shape having a high probability of folding in a test tube.
Bibliographie
1. Fan Hong, Fei Zhang, Yan Liu, Hao Yan: DNA Origami: Scaffolds for Creating Higher Order Structures, Chem. Rev. 2017, 117, 20, 12584–12640
2. Adleman, L. M. (1994). Molecular computation of solutions to combinatorial problems. Science. 266 (5187): 1021–1024.
3. Diverse and robust molecular algorithms using reprogrammable DNA self-assembly Damien Woods, David Doty, Cameron Myhrvold, Joy Hui, Felix Zhou, Peng Yin, Erik Winfree Nature 567:366—372, 2019
4. Non-cooperatively assembling large structures Pierre-Étienne Meunier, Damien Regnault DNA25: The 25th International Conference on DNA Computing and Molecular Programming Springer LNCS 11648:120—139, 2019