L'année de formation
UE Obligatoires
-
Pré-rentrée : Analyse et fouille de données avancée
Pré-rentrée : Analyse et fouille de données avancée
-
Pré-rentrée mise à niveau : Java
Pré-rentrée mise à niveau : Java
-
Pré-rentrée mise à niveau : Optimisation combinatoire
Pré-rentrée mise à niveau : Optimisation combinatoire
-
Pré-rentrée mise à niveau : Programmation linéaire avancée
Pré-rentrée mise à niveau : Programmation linéaire avancée
-
Pré-rentrée mise à niveau : Systèmes et algorithmes répartis
Pré-rentrée mise à niveau : Systèmes et algorithmes répartis
-
Pré-rentrée Mise à niveau : UML
Pré-rentrée Mise à niveau : UML
-
Calculabilité et Complexité
Calculabilité et Complexité
Ects : 5
Volume horaire : 18
Pré-requis recommandés :
An undergraduate-level understanding of basic mathematics and algorithms isassumed. A background in automata theory is appreciated, but not assumed.
Description du contenu de l'enseignement :
Bibliographie, lectures recommandées
This course is designed for graduate students in the first year. We aim to understand the following notions and theory :
the concept of language in computer science, and grammar and automata as ways ofdescribing a language, the mathematical models of computations including finite(-state) automata, Turing ma-chine and its variants, the distinction between (Turing-)recognizability versus decidability, and examples of un-decidable languages.
reducibility, Cook-Levin Theorem, P versus NP.
proof techniques from automata and computation theory.
possibly further topics in complexity theory.
Michael Sipser (2012), Introduction to the Theory of Computation (3rd edition). CengageLearning, ISBN 978-1133187790.
Enseignant responsable :
- EUN JUNG KIM
-
Optimisation combinatoire
Optimisation combinatoire
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Présenter des méthodes de résolution ainsi que l’étude de la complexité des problèmes d’optimisation combinatoire.
Modélisation de problèmes d’optimisation combinatoire (relation avec la programmation linéaire en nombres entiers).
Introduction à la théorie de la complexité : NP-complétude (définition et exemples).
Méthodes exactes : arborescentes par évaluation et séparation, programmation dynamique.
Méthodes approchées : Recherche locale, algorithme glouton.
Métaheuristiques : recuit simulé, méthode tabou, algorithme génétique.
Enseignant responsable :
- EVANGELOS PASCHOS
-
Algorithmique et programmation avancée
Algorithmique et programmation avancée
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Objectif :
L’objectif de ce cours est d’introduire certains paradigmes de l’algorithmique permettant de concevoir des structures d’algorithmes généraux pour la gestion efficace des données comme pour l'optimisation.
Contenu :
Rappel : Structures de données, arbres binaires, tas, algorithmes de tri, tables de hachage.
Algorithmes gloutons
Diviser pour régner
Programmation dynamique
Algorithmes arborescents.
Les concepts seront mis en œuvre et illustrés par une implémentation en langage C.Enseignant responsable :
- EVANGELOS PASCHOS
-
Anglais 1
Anglais 1
Ects : 2
Description du contenu de l'enseignement :
Fournir aux étudiants les outils linguistiques nécessaires pour fonctionner efficacement dans l'entreprise et avec leurs partenaires européens.
Expression orale / écrite : anglais des affaires, faire un compte rendu oral en public, rédiger des lettres, rapports, résumés de conférences, et participer à des réunions
Préparation au TOEIC : Test of English for International Communication
Traduction économique : Familiariser les étudiants avec la terminologie économique à partir de thèmes d'actualité. Travail en laboratoire et/ou en salle audiovisuelle à partir de documents authentiques. -
Intelligence artificielle
Intelligence artificielle
Ects : 3
Volume horaire : 18
Description du contenu de l'enseignement :
Ce cours est une introduction à l'intelligence artificielle.
Ce cours est une introduction à l'intelligence artificielle. Son but est d'introduire un large spectre de techniques.
Recherche dans des graphes d'états (recherche non-informée et recherche informée avec A*)
Problème de satisfaction de contraintes (CSP)
Jeux (minimax et élagage alpha-beta)
Jeux stratégiques (une brève introduction à la théorie des jeux : jeux, stratégie dominante, équilibre de Nash en stratégies pures et en stratégies mixtes)
Apprentissage d'arbre de décision (ID3)
Introduction aux réseaux de neurones (perceptron, backpropagation)
Introduction à l'apprentissage par renforcement (Q-learning)
Une description d'alpha-goEnseignant responsable :
- JULIEN LESCA
UE Optionnelles
-
Computational Methods in Optimization
Computational Methods in Optimization
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Bibliographie, lectures recommandées
An introduction to mathematical optimization, including techniques for the solution and analysis of deterministic linear models used in operations research. Primary types of models addressed are linear programming, network flow, and integer linear programming. The course emphasizes the application of mathematics to the solution of optimization problems, effective modeling of optimization problems, the use of algebraic modeling languages, and the use of commercial solvers like CPLEX and JuMP, a domain-specific modeling language for mathematical optimization embedded in Julia. This course addresses a wide range of topics related to the computational methods encountered in optimization applications. The lectures cover both the theoretical aspects of computation and computation in practice, attempting to bridge the gap between the two. Assigned exercises will focus on employing the computational methods discussed in class to real-world applications. Typical coverage will include data structures, design and analysis of algorithms (column generation and constraints separations), programming paradigms and languages, development tools and environments, numerical analysis, and implementation. Different families of exact methods will be presented in detail with a special attention to branch-and-cut and branch-and-price algorithms. The course aims to develop the capacity of analysis and modelling of decision problems, emphasizing the proper solving techniques and algorithms as well. Several sessions will be devoted to discussing and solving case studies coming from real-world application in data science.
References: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA Numerical Optimization, Jorge Nocedal and Stephen J. Wright, Springer Series in Operations Research and Financial Engineering.
-
Décision collective, décision multicritère
Décision collective, décision multicritère
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Présenter les principales familles de méthodes d’agrégation multicritère existantes et mise en œuvre de telles méthodes dans des situations réelles de décision.
Introduction au processus de décision
Introduction à la théorie du choix social
Procédures d’agrégation multicritères de type critère de synthèse
Procédures d’agrégation multicritères de type relation de surclassement,
Illustration des méthodes sur des cas réelEnseignant responsable :
- HASSAN AISSI
-
Système et algorithmes répartis
Système et algorithmes répartis
Ects : 4
Volume horaire : 18
Description du contenu de l'enseignement :
Introduction aux systèmes répartis.
Les applications réparties s'exécutent sur un ensemble de machines connectées en réseau. Elles représentent un ensemble de composants qui coopèrent pour réaliser un objectif commun en utilisant le réseau comme un moyen d'échanger des données. Ce cours vise à présenter les concepts élémentaires des systèmes et les algorithmes associés aux environnements répartis
Introduction aux systèmes répartis Principe et fonctionnement des appels de procédure à distance (RPC)Mise en œuvre de la communication à distance en utilisant la couche réseaux (RMI) en Java, Introduction à l’algorithmique répartie. Présentation du modèle de répartition basé sur les échanges de messages Présentation des concepts liés à la communication : contrôle de flux, synchronisation de processus, relation de causalité, réseaux FIFO Présentation des concepts liés au temps et à la concurrence : horloges logiques, exclusion mutuelle.
Enseignant responsable :
- JOYCE EL HADDAD
-
Théorie des jeux
Théorie des jeux
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Langue d'enseignement : anglais.
Presents basic principles principles and approaches for game theory.
For non-cooperative games we define the main solution concepts (equilibria). Then we analyze some specific games (zero sum, congestion), what they can model, existence and computation of equilibria, social quality of the equilibria (price of anarchy/stability).
For cooperative games, we mainly deal with the following topics: games in coalitional form; set solutions (the imputation set and the core, dominance, stable sets); one-point solutions (the Shapley value, the nucleolus, etc.); axioms for one-point solutions; population monotonic allocation schemes; coalitonal games on communication networks and cooperation structures; Application to Operations Research Games (ORG): typical examples: flow games, linear production games, fixed tree games, minimum cost spanning tree games, sequencing games, inventory games.
Enseignant responsable :
- STEFANO MORETTI
-
Complexité avancée
Complexité avancée
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Objectif : Introduction à la théorie de la complexité algorithmique et présentation des classes de complexité les plus importantes.
Rappels des notions autour des machines de Turing
- Définition formelle de la notion de problème
- Définition de la notion de complexité d'un problème
- Classes de complexité
- Classes P
- NP
- Co-NP
- Définition de la notion de réduction polynomiale (réruction de Turing et de Karp)
- Etude des propriétés des réductions
- NP-complétude
- Preuves de NP
- completude pour des problèmes combinatoires paradigmatiques - Introduction des modèles alternatifs de complexité -
Mathématiques pour les sciences des données
Mathématiques pour les sciences des données
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Introduction aux mathématiques pour les sciences des données.
Optimisation convexe
Méthodes d’ordre 1
Descente de Gradient
Analyse de la convergence
Descente de Gradient Stochastique
Analyse de la convergence
Méthodes d’ordre 2
Newton, L-BFGS
Optimisation sous contraintes
Gradient projeté
Notion de lagrangien, dualité
Conditions KKT
Méthodes lagrangiennes
Statistiques pour les sciences des données
Notion de risque empirique
Cas de la régression: Décomposition biais-variance
Borner le risque
Théorème central de la limite
Inégalités de concentration (Markov, Chernoff)
Enseignant responsable :
- CLEMENT ROYER
-
Programmation Objet avancée
Programmation Objet avancée
Ects : 4
Volume horaire : 15
Description du contenu de l'enseignement :
Présenter les techniques de la programmation orienté object avancé.
Rappels des principaux concepts de la programmation objet : classes, héritage, interface. Application au traitement des collections.
Modélisation objet et exemple de modèles de conception (design patterns)
Programmation parallèle en Java (multi-threading, synchronisation)
Bonne pratique de la programmation (gestionnaire de sources, debuggage, etc.)Enseignant responsable :
- BORIS DOUX
-
Modélisation des processus
Modélisation des processus
Ects : 3
Volume horaire : 18
Description du contenu de l'enseignement :
Étudier la modélisation des processus métier et les systèmes qui permettent leur automatisation dans les entreprises.
Processus métiers (Workflow) : définitions et concepts de base, systèmes de gestion de processus métiers, exemple de produits, avantages de ces systèmes.
Modélisation des processus métiers : approches basées respectivement sur les Réseaux de Petri et les diagrammes (UML, EPC), la notation BPMN.
Cycle de vie d’un processus métier : conception, modélisation, exécution, surveillance et optimisation.
Interopérabilité des systèmes de processus métiers : architecture des systèmes de gestion de processus, description des interfaces proposées pour standardisation.
Développement d’une application de processus métiers par apprentissage d’un logiciel de gestion des processus métiers (par exemple Oracle BPM suite.
UE Obligatoires
-
Théorie des graphes
Théorie des graphes
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
This class provides a presentation and study of some structures and graph problems which have important applications in practice.
We will start with basic notions (isomorphism, graph decomposition and special graphs), followed by paths, cycles, and trails, vertex degrees and counting (extremal problems, graphic sequences), directed graphs (orientations and tournaments). We will continue by studying matchings including Hall's theorem and the stable marriage theorem of Gale and Shapley. If time permits, we will also look at Tutte's theorem on perfect matchings. Next, we will look at connectedness and structure such as Menger's theorem. After this, we will consider planar graphs, looking at Kuratowski's characterization of planarity and Euler's formula. Finally, we will study in important notion in graph theory: graph coloring. We will look at Brooks' classical theorem, look at the Four Color Theorem and prove the 5-color theorem. Time permitting, at the end of the course we will look at Ramsey theory and/or the probabilistic method.Enseignant responsable :
- ANDRE ROSSI
-
Algorithmique et programmation avancée
Algorithmique et programmation avancée
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Objectif :
L’objectif de ce cours est d’introduire certains paradigmes de l’algorithmique permettant de concevoir des structures d’algorithmes généraux pour la gestion efficace des données comme pour l'optimisation.
Contenu :
Rappel : Structures de données, arbres binaires, tas, algorithmes de tri, tables de hachage.
Algorithmes gloutons
Diviser pour régner
Programmation dynamique
Algorithmes arborescents.
Les concepts seront mis en œuvre et illustrés par une implémentation en langage C.Enseignant responsable :
- EVANGELOS PASCHOS
-
Éthique en informatique et protection des données
Éthique en informatique et protection des données
Ects : 1
Volume horaire : 6
Description du contenu de l'enseignement :
Objectif de ce cours est de sensibiliser les étudiants au regard de techniques de manipulation et d’introduire à la problématique de la protection et traitement des données et à ses conséquences sur les individus.
Validité des données et pièges statistiques
Propriété des données
Les systèmes de régulation de la protection des données
Les textes applicables dans l'Union européenne et en France : les grands principes et définitions juridiques de la protection des données à caractère personnel
Nudge theory
Conséquences sur la société (privacy, surveillance, ’ossification’…)Enseignant responsable :
- STEPHANE AIRIAU
-
Systèmes de gestion de bases de données
Systèmes de gestion de bases de données
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
L’objectif de ce cours est de couvrir les techniques internes des systèmes de gestion de base de données (SGBD) qui sont responsables de l'optimisation de l'evaluation de requêtes SQL.
Nous sommes inondés de données, qu'il s'agisse de données sur le Web, de données collectées à partir de différents silos des entreprises, ou de données traités par des laboratoires scientifiques (par exemple dans le cadre de la bio-informatique, les sciences de la Terre, la sociologie, l'économétrie, etc.). Une partie importante de ces données sont structurées et la manière dont nous y accédons, les gérons et les traitons a un impact considérable sur les performances et la fiabilité des applications manipulant les bases de données. La connaissance du modèle d'entités-associations, du modele relationnelle, de l'algèbre relationnelle et du langage de requête SQL n'est en aucun cas suffisante pour garantir des performances raisonnables et la fiabilité de telles applications.
L’objectif de ce cours est donc de couvrir les techniques internes des systèmes de gestion de base de données (SGBD) qui sont responsables de l'optimisation de l'evaluation de requêtes SQL. Le cours présente premièrement l’architecture typique d'un SGBD relationnel, puis examine en détail les algorithmes et les structures de données utilisés pour implémenter les modules de cette architecture, y compris la gestion de la mémoire permanente, la gestion de la mémoire volatile, les structures de stockage, les méthodes d’accès, et l'optimisation de requête basée sur un modele de coût d'execution.
Le cours comprend un certain nombre d'exercices (TD) et d'exercices pratiques (TP) dans lesquels les étudiants auront l'occasion d'explorer et de mettre en œuvre les fonctionnalités de certains modules du SGBD.Enseignant responsable :
- DARIO COLAZZO
-
Anglais 2
Anglais 2
-
Machine Learning
Machine Learning
Ects : 5
Volume horaire : 36
UE Optionnelles
-
Gestion de production
Gestion de production
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Cet enseignement a pour objet de sensibiliser les étudiants aux problématiques de gestion de la production de biens et de services, en mettant en évidence la très grande complexité des problèmes à résoudre et la difficulté qui en découle de piloter efficacement une chaîne logistique. Quelques grilles d’analyse, modélisations et instrumentations seront abordées.
Typologie des problèmes de gestion de la production des biens et des services -Planification de la production : MRP2
Gestion des approvisionnements et des stocks : demande uniforme et certaine, demande aléatoire : notions de rupture de stock, qualité de service, stock de sécurité et ordonnancement de projets.
Ordonnancement d’ateliers : algorithmes optimaux et heuristiques.
Étude de cas impliquant, pour certains d’entre eux, l’usage de logiciels comme cplex et Excel solverEnseignant responsable :
- MUSTAPHA SALI
- KHALED HADJ HAMOU
-
Décision dans l’incertain
Décision dans l’incertain
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Présenter aux étudiants les techniques principales de la decision dans l’incertain.
incertain complet (non probabiliste) : définitions de la décision dans l'incertain, présentation des critères classiques de décision dans l'incertain (MaxMin, Min Max Regret, Hurwicz, Laplace, etc.)
Décision séquentielle (incertain probabiliste) : modèle EU, arbres de décision (arbres contenant des noeuds décision, noeuds hasard et noeuds terminaux), et la résolution de ces problèmes par programmation dynamique
Rappel probabilité, indépendance, règle de Bayes
Raisonnement dans les Réseaux Bayésiens (inférences exactes et approchées)
Logique Floue
Chaînes de Markov
Processus de Décision de Markov
Processus de Décision de Markov Partiellement observableEnseignant responsable :
- STEPHANE AIRIAU
-
Application de la recherche opérationnelle
Application de la recherche opérationnelle
Ects : 4
Volume horaire : 18
Description du contenu de l'enseignement :
Introduire quelques applications de l’optimisation combinatoire (parmi les applications ci-dessous), et pour chaque application présenter la méthode de résolution.
Applications dans le transport et les réseaux de télécommunications : problèmes de topologie, de conception de réseaux, de routage...
Applications dans la gestion du personnel : problèmes d’affectation, d’emploi de temps.
Application dans les données : problèmes de clustering, de fouille de données, de classification et régression linéaire… -
Logique
Logique
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Langue d'enseignement : anglais
The course presents main techniques in logics.
Soundness, completeness and decidability of propositional logic
Soundness and completeness of first-order logic
Gödel’s incompleteness theorems
Model checkingEnseignant responsable :
- GABRIELLA PIGOZZI
-
Calcul réparti
Calcul réparti
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
The main goal of this course is to present to students novel paradigms for designing and implementing distributed algorithms processing large data sets, and to enable students to get solid understanding of these new models for algorithms and programming. The course will first focus on MapReduce and then switch to toher derived paradigms, with a particular focus on algorithms processing data in a stremaing fashion. The accent is on fundamental aspects and on algorithm design, with a short description of architectures, by using then well established tools for the implementation in the context of a course project.
The course represents an ideal learning steps for students interested in modern big data processing, including analytics and large scale machine learning. -
Projet ML/Data science
Projet ML/Data science
Ects : 5
Volume horaire : 18
Description du contenu de l'enseignement :
Mise en oeuvre en Python des techniques présentées dans le cours de machine learning, pour familiariser les étudiants avec les outils de programmation scientifique (numpy, pandas scikit learn).
Syllabus:
Complément du cours de Machine Learning : Introduction aux SVM, arbres de décision, random forest, systèmes de recommandation, rappels dur la libraire Numpy et introduction à la librairie Pandas.
Mise en oeuvre des différentes techniques et algorithmes (régression, SVM, clustering, random forest, recommandations) sur données réelles et artificielles.
Projet : Travail en groupe, mise en oeuvre sur des données réelles d'un dataset réel choisi par les étudiants.Enseignant responsable :
- FLORIAN YGER
-
Datathon for Business
Datathon for Business
Ects : 3
Description du contenu de l'enseignement :
L’objectif de l’UE « Datathon For Business » est de mettre l’étudiant dans une posture de réponse à une demande concrète venant d’une entreprise, de se familiariser avec la digitalisation notamment orientée Big Data et IA dans un contexte métier et d’utiliser ses acquis en programmation Big Data et IA pour une modélisation concrète. Par ailleurs, les étudiants devront se répartir en groupes projet qui devront mixer les étudiants de MIDO (M1 MIAGE ou I2D) et les étudiants de CARF (M1). Ceci qui permettra d’acquérir des compétences de travail en groupe et de gestion de la diversité des compétences.Enseignant responsable :
- NICOLAS BERLAND
- MARC VINCENT
Bloc stage
-
Stage
Stage
Ects : 6
Formation année universitaire 2021 - 2022 - sous réserve de modification
Modalités pédagogiques
La formation démarre en septembre, dont la présence en cours est obligatoire.
Les enseignements de la première année du Master Informatique parcours Informatique, Décision, Données sont organisés en semestre 1 et 2. Chaque semestre est constitué d'un bloc fondamental et d'UE complémentaires auxquels s'ajoute un bloc stage pour le semestre 2.
A chaque UE est associé un certain nombre de crédits européens (ECTS) ; à chaque semestre est associée la somme des ECTS associés aux UE composant le semestre.
La note finale de première session d'une UE est obtenue par pondération entre des notes de contrôle continu, de projets, d'examens partiels et terminaux. La note de contrôle continu peut faire intervenir plusieurs éléments : projets, devoirs, interrogations écrites ou orales et note de participation...
En cas de session de rattrapage, la note finale d'une UE est obtenue par examen terminal. Elle se substitue à la note finale de première session de l'UE. Toute UE pour laquelle l'étudiant a obtenu une note finale supérieure ou égale à 10/20 est définitivement acquise ainsi que les ECTS associés
Un bloc fondamental est composé de plusieurs UE. A chaque bloc fondamental est attribuée une note finale. Celle-ci est calculée comme pondération des notes finales des UE constituant un bloc fondamental, chaque note finale d'une UE étant affectée d'un coefficient égal aux ECTS associés à l'UE. Un bloc fondamental dont la note finale est supérieure ou égale à 10/20 est définitivement acquis ainsi que tous les ECTS associés au bloc (somme des ECTS des UE composant le bloc), sous réserve que la note finale de chaque UE composant le bloc fondamental soit supérieure ou égale à 5/20.
Chaque semestre est composé d'un bloc fondamental, d'UE complémentaires, ainsi que d'une UE stage pour le semestre 2. La note finale d'une semestre est calculée comme somme pondérée des notes finales et toutes les UE constituant le semestre hors UE stage, le poids de la note finale d'une UE étant égal aux ECTS associés à l'UE.
Un semestre est définitivement acquis si toutes les conditions suivantes sont vérifiées :
- Il est constitué d'au moins 30 ECTS et sa note finale est supérieure ou égale à 10/20
- La note finale du bloc fondamental du semestre est supérieure ou égale à 10/20 sous réserve que la note de chaque UE constituant le bloc soit supérieure ou égale à 5/20
- La note finale de l'UE stage pour la validation du semestre 2 est supérieure ou égale à 10/20
La validation d'une semestre implique la validation de chaque UE de ce semestre est des ECTS associés.
La première année du Master Informatique parcours Informatique, Décision et Données est validée si toutes les conditions suivantes sont respectées :
- Elle est constituée d'au moins 60 ECTS et la note finale de l'année est supérieure ou égale à 10/20
- La note finale de chacun des deux blocs fondamentaux de l'année est supérieure ou églae à 10/20
- La note finale de chaque UE des blocs fondamentaux de l'année est supérieure ou égale à 5/20
- La note finale de l'UE stage est supérieure ou égale à 10/20
Stages et projets tutorés
Le stage se déroule en entreprise ou dans un centre de recherche et peut être éventuellement remplacé par un mémoire encadré par un enseignant de l'université pour une durée de trois à quatre mois.
Le sujet de ce stage doit nécessairement comporter une part substantielle de conception et d'analyse, ainsi que de la réalisation. Le sujet du stage doit être validé par le responsable de stage avant le début du stage.
A l'issue du stage, l'étudiant remet un rapport en trois exemplaires : une exemplaire au maître de stage et deux exemplaires au secrétariat. Le rapport doit être remis au plus tard 8 jours avant le début de la session de soutenances.
Des programmes nourris par la recherche
Les formations sont construites au contact des programmes de recherche de niveau international de Dauphine, qui leur assure exigence et innovation.
La recherche est organisée autour de 6 disciplines toutes centrées sur les sciences des organisations et de la décision.
En savoir plus sur la recherche à Dauphine