Liste des cours

Master Informatique

Semestre 1

Contrôle de drones › T. Hamel, PR
Introduction à la modélisation, aux méthodologies de contrôle et d'observateurs d'état de drones Lire plus ›

Travail d'étude et de recherche (TER) › C. Di Giusto, MCF
Traitement automatique du texte en IA › E. Cabrio, MCF
En intelligence Artificielles (IA), le Traitement Automatique du Langage Naturel (TALN) est une discipline qui a pour objectif de modéliser, grâce à l'informatique, le langage qu'il soit écrit ou parlé. Les technologies TALN sont présentes, de manière grandissante, dans divers systèmes grands public (par ex. Google, IBM Watson, Facebook, Apple Siri). Lire plus ›

Systèmes complexes avancés › C. Crespelle, PR
L'étude des réseaux complexes est devenue centrale en science des données. Ces grands jeux de données organisés en réseaux, c'est-à-dire composés d'un très grand nombre d'entités en interaction entre elles, se retrouvent dans des contextes aussi variés que l'informatique, les sciences sociales, la biologie, la médecine, la linguistique, les transports, les communications, l'économie, la production industrielle et d'autres encore. L'étude de ces réseaux est devenue cruciale pour répondre aux questions qui se posent dans tous ces contextes. Le cours fournira les notions et outils de base pour la manipulation et l'analyse de ces immenses jeux de données. Incontournable dans la panoplie du data scientist. Le cours couvrira en particulier les aspects suivants: - propriétés fondamentales de ces réseaux (densité, distribution des degrés, coefficient de clustering, distances), - les modèles classiques (Erdos-Rényi, Configuration model, Watts-Strogatz, Barabasi-Albert), - mesures de centralité (pierre angulaire du succès de Google), - structure communautaire, - prévision de liens (mécanisme des systèmes de recommandation), - réseaux dynamiques, - phénomènes de diffusion. Lire plus ›

Safety critical systems › F. Mallet, PR
Safety critical systems require the use of formal models and rely on exhaustive analysis techniques to ensure that a piece of software actually does what it is supposed to do (with regards to the requirements) et does it correctly (without bugs). This lecture gives an overview of some techniques and languages used in that context. Read More ›

Résolution de problèmes › M. Pelleau, MCF
Ce cours a pour objectif de montrer comment des problèmes de la vie réelle peuvent être résolus, tels que l’allocation de portes d’embarquement aux avions, la recherche de chemins sous contraintes, etc. Différents types de méthodes seront présentées, comme les algorithmes gloutons, la recherche locale et la programmation par contraintes. Lire plus ›

(N/A) Projet de développement
L'objectif est de maîtriser la conception, le développement et la validation/vérification d’un logiciel de taille conséquente, en équipe, à partir d'un cahier des charges et en mettant en pratique des principes de développement du génie logiciel. Lire plus ›

Programming challenge › A. Malapert, MCF
This course will introduce an interesting variety of subjects in programming, algorithms, and discrete mathematics though puzzles and problems which have appeared in the International ACM Programming Contest and similar venues. Read More ›

Parallelism › C. Di Giusto, MCF
In this course we will study how to design and implement parallel algorithms for modern multicore machines. Read More ›

Neural networks and learning › E. Formenti, PR
The main goal of the course is to introduce the students to the different concepts of machine learning by neural networks (also several other models will be considered). For most subjects, first the formal aspects and concepts will be introduced and explained, then they will be illustrated through a series of programming exercises and experiments. Read More ›

Logic for AI › A. Tettamanzi, PR
Logic plays an important role in areas of computer science as diverse as software engineering (specification and verification), programming languages (semantics, logic programming), and artificial intelligence (knowledge representation and reasoning). Read More ›

Introduction à la calculabilité › E. Formenti, PR
Le cours adopte tout d’abord une vision abstraite (les fonctions partielles partiellement récursives – PPR en abrégé) pour aller définir une classe de fonctions “candidate” à caractériser les capacités calculatoires des ordinateurs d’aujourd’hui (et de tous ceux qui sont basées sur le modèle de Von Neumann). Ensuite nous allons introduire les machines RAM en tant que version simplifiée d’un ordinateur moderne et nous montrerons que les fonctions calculées par ces machines coïncident avec les fonctions PPR. Par un argument diagonal nous montrerons qu’il existe des fonctions non-calculables. Lire plus ›

Graphes et programmation dynamique › C. Crespelle, PR
Les graphes sont un objet mathématique très simple composé d'un ensemble de sommets dont certains sont deux à deux reliés par des arêtes. Malgré leur simplicité, ils modélisent des situations très variées et de nombreux problèmes d'optimisation sont formulés en termes de graphes. Le cours introduira les notions de base sur les graphes, leurs représentations en mémoire, les problèmes algorithmiques classiques sur ces objets et les techniques pour les résoudre. Le cours abordera en particulier les problèmes suivants: - plus courts chemins, - arbre couvrant de poids minimum, - voyageur de commerce et cycle/chemin hamiltonien, - coloration des sommets, - flot maximum et coupe minimum. Nous concevrons des algorithmes pour résoudre ces problèmes, qui mettront en œuvre des techniques générales d'algorithmique telles que la programmation dynamique, les algorithmes gloutons et l'approche diviser pour régner. Lire plus ›

(N/A) Génie logiciel › P. Collet, PR
L’objectif est de prolonger l’apprentissage du développement en partant du paradigme de la programmation orientée objet acquis en Licence vers des méthodes et techniques du Génie Logiciel. L’évolution se fera par l’étude de design patterns et de notions de métriques, puis par la programmation orientée composant. Lire plus ›

Computer networks › C. Barakat, DR INRIA
This course aims to present the architecture of the computer networks from a protocol perspective. Read More ›

Architectures de processeurs hautes performances › S. Touati, PR
L’informatique est composée d’une partie logicielle et d’une partie matérielle. Cette matière est destinée aux étudiants souhaitant approfondir leurs connaissances et compréhension dans le fonctionnement des machines d’aujourd’hui et demain. Ces connaissances sont indispensables pour parfaire vos études en sciences et ingénierie informatiques, mais également pour que vous puissiez écrire des programmes efficaces et performants. Il ne s’agit pas d’un cours de conception de processeurs, mais un cours d’explications des mécanismes internes, vous permettant de comprendre comment le logiciel et le matériel interagissent ensemble. Lire plus ›

Advanced programming › J.-C. Régin, PR
This course focuses on advanced concepts in programming and their implementation. Effective code writing will be considered. Concepts like dynamic linking, memory management, low level function call will be studied. Read More ›

Internet of Things (IoT) : software components › G.Menez, MCF
The Internet of Things (IoT) creates opportunities for more direct integration of the physical world into computer-based systems, resulting in efficiency improvements, economic benefits, and reduced human exertions. This is a true challenge for deployed technologies and sciences. This course will introduce some issues and candidate solutions from a software standpoint. Read More ›

BD vers Big Data › G. Mopolo
Le cours a pour objectif de clarifier les concepts et standards qui sous-tendent les types de données (structurées, semi-structurées, non structurées) avec un approfondissement des standards SQL3 et OQL (autour du 3ième Manifeste de Chris DATA) avec des TD Pratiques autour d’Oracle. Lire plus ›

AI game programming › J.-C. Régin, PR
This course presents different techniques to program games for one or two players. For two-player games, only full information games will be considered. Read More ›

Semestre 2

Programmation de jeux vidéo multi-joueurs (mineure) › M. Buffa, MCF
Nous vous proposons ici une mineure DS4H de programmation de jeux vidéo multi-joueurs, incluant graphismes 2D et 3D à 60 images/s, les aspects multi-joueurs temps réel, comportements réactifs et implémentations d'algorithmes classiques (graphes, A*, quadtrees, etc.). L'implémentation se fera en JavaScript et sans doute à l'aide d'une librairie 2D ou 3D. Le suivi de la mineure Technologies Web que je propose à côté de ce cours sera un bon complément/support d'apprentissage de la programmation JavaScript. Lire plus ›

Web › A. Tettamanzi, PR
The Web, originally intended to be an open document-sharing platform, has evolved into a distributed platform for the deployment and execution of applications, to the point that it can now be viewed as a sort of global operating system (the programmable web). Read More ›

Travail d'étude et de recherche › A. Richard, CR CNRS
Le TER (Travail d’Étude et de Recherche) est un stage sous la direction d’un encadrant universitaire ou industriel qui s’effectue par groupe de 2 à 4 étudiants (ingénierie) ou seul (recherche). Il sanctionne la fin du Master 1 et s’étend sur environ 3-4 mois (1 jour par semaine). Lire plus ›

Software Engineering › F. Mallet, PR
This course is about learning several techniques to help be more efficient in Software Engineering. The Programming Language is Java. Read More ›

Sécurité › B. Martin, PR
Ce cours présente les concepts généraux de la sécurité et de la vie privée selon différents points de vue. Lire plus ›

Programmation Synchrone › F. Mallet, PR
Le cours offre une introduction à la programmation synchrone en mélangeant les approches déclaratives, flots de données ou basées sur les états. Lire plus ›

Operations Research › J.-C. Régin, PR
This course is about shortest path and maximum flow problems in graphs. Read More ›

Modélisation Programmation par Contraintes › J.-C. Régin, PR
Ce cours introduit les principes de la modélisation en programmation par contraintes. Divers problèmes seront considérés et diverses modélisations envisagées. On s’intéressera aux contraintes globales, aux symétries et aux méthodes de recherches de solutions. Lire plus ›

Méthodes avancées PPC/PL › A. Malapert, MCF
Nous introduisons la programmation linéaire tout en continuant l'apprentissage de la modélisation PPC/PL avec un solveur très utilisé dans l'industrie. Lire plus ›

Logique avancée › M. Avanzini, CR INRIA, E. Lozes, PR
With this lecture we invite you to discover some close links between logic and automata. Read More ›

(N/A) Internet of the future › R. Aparicio-Pardo, MCF
This course is not available in 2020-2021. This course aims to present the most recent trends, technologies and protocols deployed in Internet nowadays. Read More ›

Graphs › N. Nisse, CR INRIA
This lecture presents different ways to efficiciently address « difficult » (NP-hard) problems. Read More ›

Gestion de projet › P. Urso, MCF
Les notions clés abordées dans ce cours sont l’intégration continue et le déploiement automatique. Lire plus ›

Entrepreneuriat › N. Sauvage
L’objectif de ce module est d’aborder les différents choix qui s’offrent à un créateur d’entreprise sous un aspect pratique et surtout en insistant sur les pièges à éviter. Lire plus ›

Communication and Concurrency › C. Di Giusto, MCF
L’objectif du cours est d'introduire des formalismes mathématiques pour modéliser et raisonner sur les propriétés de systèmes parallèles. Read More ›

Combinatorial Optimization › J.-C. Régin, PR
This course presents greedy algorithms, decision diagrams, and markov models. Read More ›

Anglais › P. Yamate
The objectives of the course are to improve your general and professional English level. Read More ›

Algorithmique et Complexité › E. Formenti, PR
La complexité computationnelle est une notion fondamentale en informatique qui essaye de comparer/classer les algorithmes par rapport à des fonctions de coût des ressources demandées par leur exécution (complète). La complexité d’un algorithme est donc une mesure de la qualité et comme toute mesure elle a besoin d’un système de référence. Les machines de Turing vont être notre principal système de référence. Lire plus ›

Advance OS › S. Touati, PR
We will learn some internal concepts on operating systems and their kernels. Read More ›

BD vers Big Data avancé › G. Mopolo
This concept-based course on BIG DATA MANAGEMENT is self-contained including seminars to summarize prerequesites. Lire plus ›

Semestre 3

Sécurité opérationnelle › B. Martin, PR
Ce cours propose une initiation à la cyber-sécurité, une découverte des outils d'audit, et une présentation des techniques d'attaque des applications web. Lire plus ›

Vérification de programmes en PPC › M. Pelleau, MCF
Ce cours est une introduction à la vérification de programmes en utilisant l'interprétation abstraite et la programmation par contraintes. Lire plus ›

Type Systems › C. Di Giusto, MCF
The aim of the course is to introduce a family of formal methods to reason about programs. We will focus on type systems that are useful for statically prove the absence of some bad program behaviours. Read More ›

Travail d'étude et de recherche (TER) › M. Pelleau, MCF
Le TER (Travail d’Étude et de Recherche) est un projet sous la direction d’un encadrant universitaire ou industriel qui s’effectue par groupe de 2 à 4 étudiants (ingénierie) ou seul (recherche). Il s’étend sur environ 3-4 mois (1 jour par semaine). Lire plus ›

Théorie des Graphes avancée › N. Nisse, CR INRIA
This lecture is the continuation of the lecture on graphs and algorithms that I give in Master 1. Lire plus ›

Systèmes dynamiques finis › A. Richard, CR CNRS
In many branches of current science, graphs, and dynamic processes on these graphs, are considered. Finite Dynamical Systems - also called Automata Networks - allow for an unmistakable representation of such processes. They are, for example, classical models for the dynamics of biological networks (neural and gene networks), social networks (epidemic diffusion), or communication networks (network coding). Lire plus ›

Solveur Programmation par Contraintes › J.-C. Régin, PR
Preuve et programmation fiable › Y. Bertot, DR INRIA
L'objectif de ce cours est de décrire comment produire des programmes entièrement corrects vis-à-vis de spécifications logiques en utilisant le système de preuve Coq. Lire plus ›

Parallelisme avancé › C. Xu, MCF
This course mainly focus on distributed-memory parallel framework, where each processor (core, CPU, GPU, IoT device) has its own memory space which can not be shared with others. Lire plus ›

Optimisation des performances des codes › S. Touati, PR
Nous aborderons les techniques automatiques d'optimisation des performances des programmes qui s'exécutent directement sur les processeurs modernes. Les aspects d’interaction bas niveau entre logiciel et matériel sont étudiés. Lire plus ›

Modélisation Avancée PPC/PL › A. Malapert, MCF
We introduce some combinatorial problems, algorithms and general methods such as linear and constraint programming. Lire plus ›

Model Checking › E. De Maria, MCF
Ce cours porte sur des méthodes et des outils qui permettent de vérifier automatiquement si un système (software ou hardware) vérifie une spécification donnée. Lire plus ›

Contrôle de drones
Complexité Avancée › E. Formenti, PR

Semestre 4