Syllabus of the courses

Master Informatique

Syllabus of courses

Please refer to the main description to see which are the courses activated for your program.

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

Traitement automatique du texte en IA › E. Cabrio
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
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
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
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 ›

Projet développement › M. Winter
Ce module a pour objectif de donner aux étudiants les bases incontournables de la gestion de projet informatique, à la fois en termes de planification en amont du démarrage que de suivi une fois le projet commencé. Lire plus ›

Programming challenge › A. Malapert
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
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
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
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
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
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 ›

Génie logiciel › J.-C. Régin
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
This course aims to present the architecture of the computer networks from a protocol perspective. Read More ›

Architectures de processeurs hautes performances › S. Touati
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
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
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
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 ›

Model Checking › E. De Maria
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 ›

Programmation de jeux vidéo multi-joueurs (mineure) › M. Buffa
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
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 ›

Software Engineering › F. Mallet
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
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
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
This course is about shortest path and maximum flow problems in graphs. Read More ›

Modélisation Programmation par Contraintes › J.-C. Régin
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
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, E. Lozes
With this lecture we invite you to discover some close links between logic and automata. Read More ›

Internet of the future › R. Aparicio-Pardo
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
This lecture presents different ways to efficiciently address « difficult » (NP-hard) problems. Read More ›

Gestion de projet › P. Urso
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
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
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
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
We will learn some internal concepts on operating systems and their kernels. Read More ›