Syllabus
UE fondamentales 5
- Analyse de données 1
Analyse de données 1
Ects : 3
Lecturer :
Total hours : 30
Overview :
Dans ce cours, on s ’ intéresse à des techniques visant à extraire de l ’ information d ’ un jeu de données via l ’ obtention de modèles linéaires des relations entre les données. Ce choix se justifie par la pertinence et l ’ efficacité de ces modèles simples dans la pratique. On considèrera que l'on dispose de données pour lesquelles cette extraction d'information est pertinente. À cette fin, les données seront généralement pensées comme des réalisations de variables aléatoires. On présentera ainsi un ensemble de résultats et d'algorithmes mêlant des éléments d'algèbre linéaire, d ’ optimisation et de statistiques.
Durant le cours, on abordera la décomposition en valeurs singulières en tant qu'outil fondamental, ainsi que son utilisation dans les moindres carrés linéaires et l'analyse en composantes principales. On se penchera longuement sur les modèles de régression linéaires, et leur interprétation via les moindres carrés et l'estimation statistique. On illustrera enfin les résultats théoriques via des applications caractéristiques de l'analyse de données.
Recommended prerequisites :
Bases d'algèbre linéaire et de calcul matriciel.
Learning outcomes :
Connaître et manipuler les techniques d'analyse de données liées à des modèles linéaires.
Bibliography-recommended reading
- S. Boyd and L. Vandenberghe. Introduction to Applied Linear Algebra - Vectors, Matrices and Least Squares. Cambridge University Press, 2018.
- G. Strang, Linear algebra and learning from data. Wellesley-Cambridge Press, 2019.
- G. James, D. Witten, T. Hastie, R. Tibshirani, J. Taylor, An Introduction to Statistical Learning with Applications in Python, 2nd edition, Springer Texts in Statistics, 2023
- Anglais 5
Anglais 5
Ects : 2
Lecturer :
- STEPHAN MINNICH
- CATHERINE BOILLOT-PATTERSON
- MARTON FARKAS
Total hours : 18
Overview :
Groupes de niveau permettant de décliner compréhension et expression écrite (lettres de motivation, CV, mémos, rapports, synthèses) et compréhension et expression orale (vidéos, public speaking, présentations, entretiens, réunions). Acquisition des outils de connaissances nécessaires dans le domaine de l’anglais professionnel (communication, expression, compréhension et expression écrite). Initiation à l’anglais des affaires et à l’anglais de l’informatique.
Learning outcomes :
Faire acquérir aux étudiants des connaissances linguistiques spécialisées leur permettant de fonctionner efficacement dans leur futur contexte professionnel. Une expérience pilote déjà menée sur le Portfolio Européen des Langues (Cercles version for Higher Education, approuvée par le conseil de l’Europe) est susceptible d’être élargie. Parcours et progressions différenciées par semestre selon les niveaux, utilisation large des ressources vidéo, laboratoire de langues, et NTICE du centre de ressources en langues (Utilisation de logiciels intégrée au cours et proposés en auto-formation). Précision : les étudiants passent le test du TOEIC en M1.
- Automates, langages et compilation
Automates, langages et compilation
Ects : 5
Total hours : 51
Overview :
Le but de ce cours est d'acquérir les bases des langages formels : 0. Mots et langages, lemme de Arden (équations linéaires sur les langages)
- Automates finis et langages rationnels : équivalence entre langages reconnus par automates finis et langages rationnels. Algorithmes de déterminisation et de minimisation.
- Grammaires et langages algébriques. Transformation de grammaires, ambiguïté, équivalence avec les langages reconnus par automates à pile.
- Brève introduction à la calculabilité et aux machines de Turing
- La principale application de ce cours sera aux premières étapes de la compilation : analyse lexicale et syntaxique, avec utilisation des outils Flex et Bison en TP
Learning outcomes :
- Être capable de reconnaître et de définir des langages rationnels et algébriques, et de manipuler les structures qui les représentent
- Pouvoir écrire un analyseur syntaxique simple pour analyser des données structurées
Learn more about the course :
2 contrôles continus + un examen final.
Bibliography-recommended reading
- Jean-Michel Autebert, Théorie des langages et des automates, 1994, Masson
- Bases de données relationnelles
Bases de données relationnelles
Ects : 5
Lecturer :
Total hours : 48
Overview :
L'objectif de cet enseignement est de former les étudiants à la création et à la manipulation des bases de données relationnelles. Au cours de cette unité d ’ enseignement, les étudiants vont apprendre à définir un schéma de base de données relationnelle à partir d ’ un modèle de données entité/association et/ou UML, à interroger et manipuler les données de la base en SQL (pour la manipulation de données, la définition de schéma du langage et la définition de déclencheurs), et à vérifier la cohérence des données et les propriétés d ’ un schéma de base de données. Chaque partie du cours fait l'objet d'un cours magistral et d'une séance de TD. Deux séances de TP permettront de mettre en pratique les connaissances acquises au cours de cet enseignement en utilisant un SGBD du marché. Réalisation d'un TP noté, à réaliser en fin de module, mettant en œuvre sur un SGBD relationnel toutes les notions abordées en cours.
Recommended prerequisites :
Logique du 1er ordre
Learning outcomes :
- Connaissances théoriques et pratique du modèle relationnel (dépendances fonctionnelles, formes normales, création d'une base de données relationnelles en SQL).
- Langages d'interrogation de données relationnelles (Algèbre Relationnelle, Calcul Relationnel à Variables Nuplets, SQL).
Assessment :
Examen Partiel (20%), TP Noté (10%) et Examen Final (70%)
Bibliography-recommended reading
- J-L. Hainaut Bases de données - Concepts, utilisation et développement - 5e éd., InfoSup, Dunod, 2022, ISBN : 978-2100784608
- A. Silberschatz, H.F. Korth et S. Sudarshan, Database System Concepts, McGraw-Hill, 7ème édition, 2019, ISBN: 978-0073523323
- Graph algorithms
Graph algorithms
Ects : 4
Lecturer :
Total hours : 36
Overview :
This course, taught in english, covers the fundamentals of graph theory, its applications in computer science and operations research, and the most important graph algorithms. The focus is on the theoretical analysis of algorithms with performance guarantees. Topics covered include :
- Undirected and directed graph fundamentals and representation - Graph Traversal Algorithms (BFS, DFS) - Shortest Path Algorithms - Minimum Spanning Trees - Minimum Cut
Learning outcomes :
Algorithm design and analysis for graph problems.
Assessment :
Midterm (partiel) and a final exam.
- Introduction to logic
Introduction to logic
Ects : 3
Lecturer :
Total hours : 30
Overview :
- Valid and sound arguments
- Formalize natural language statements in symbolic forms (propositional and predicate logic)
- Propositional logic:
- syntax and semantics
- truth tables
- axiomatic proof
- tableaux
- derivations
- SAT
- Predicate logic:
- syntax and semantics
- axiomatic proof
- tableaux
Recommended prerequisites :
None
Learning outcomes :
This course provides an introduction to classical logic. You will develop an understanding of symbolic logic and of different proof techniques.
No prerequisite is required.
After an informal introduction to valid and sound arguments in natural language, we move to formal classical logic.
- You will develop an understanding of symbolic logic and of different proof techniques.
- You will be able to translate natural language sentences to propositional and first-order logic.
- You will learn how to prove statements using the most common deductive systems (axiomatic systems, tableaux, derivation..)
Bibliography-recommended reading
- Reading material will be provided on the course space on Moodle
- Recommended book:
- Valentin Goranko. "Logic as a Tool : A guide to formal logical reasoning", Wiley, 2016.
- Java-Objet
Java-Objet
Ects : 4
Lecturer :
Total hours : 39
Overview :
- Les bases du langage Java
- Les concepts de classes et d’objets ; les différentes visibilités ; le concept de membre statique
- L'héritage ; le polymorphisme ; la classe Object ; les concepts de surcharge et de redéfinition de méthode
- Les concepts de classes abstraites et d’interfaces ; maitriser les annotations principales
- Se servir de l’IDE Eclipse ; faire une documentation Javadoc ; automatiser les tests avec JUnit
- Savoir utiliser Git et Maven
- La généricité - les collections et les maps
- Les entrées-sorties et la gestion des exceptions
Recommended prerequisites :
Maîtriser un autre langage de programmation.
Learning outcomes :
Implémenter en Java des programmes d ’ une certaine envergure qui requièrent l ’ assemblage de plusieurs fonctionnalités. Ceci se fera grâce aux techniques de la programmation orientée objet. Découper les besoins en classes et objets de façon à maitriser la complexité des programmes non triviaux. Réutiliser les fonctions déjà programmées par d ’ autres, et à fournir à leur tour des modules réutilisables. Appliquer les bonnes pratiques de programmation, telle que la programmation par contrat, pour créer des programmes clairs, qui peuvent être maintenus et réutilisés.
Assessment :
L'UE sera évaluée à l'aide d'un examen écrit sur table et d'un projet informatique à réaliser en binôme.
- Statistical modelling
Statistical modelling
Ects : 4
Lecturer :
Total hours : 49.5
Overview :
- Statistics, the what and why - Probabilistic models for statistics - Glivenko-Cantelli theorem, Monte Carlo principles, and the bootstrap - Likelihood function, statistical information, and likelihood inference - Bayesian inference
Recommended prerequisites :
A first course in (continuous) probability theory covering standard distributions, expectations, limit theorems, and conditional distributions
Require prerequisites :
A first course in (continuous) probability theory covering standard distributions, expectations, limit theorems, and conditional distributions
Learning outcomes :
This course is the first part of the two L3 statistics courses. It covers the fundamentals of parametric statistics, both from mathematical and methodological points of view, with some forays into computational statistics. The main theme is that modelling is an inherent part of the statistical practice, rather than an antecedent to the statistical step. Data may be a given, while models almost never are. This means one should keep a critical eye about models and develop critical tools to assess their adequation. Including, first and foremost, an assessment by simulation (Monte Carlo) methods. The course is entirely in English, except for the partial and final exams. Some practicals (TP) will be included, covering R language programming and applications to the bootstrap and Monte Carlo methodologies.
Assessment :
Mid-term exam and final exam, potentially completed by quizzes and projects along the semester
Bibliography-recommended reading
Casella and Berger (1989) Statistical Inference. Duxbury.
UE fondamentales 6
- Analyse de données 2
Analyse de données 2
Ects : 3
Lecturer :
Total hours : 30
Overview :
De nombreuses tâches d'apprentissage se formulent comme un problème d'optimisation, la forme la plus classique consistant à minimiser une somme d'erreurs au carré. Apprendre un modèle qui explique des données nécessite alors de résoudre ce problème d'optimisation, soit directement, soit au moyen d'algorithmes itératifs.
Durant ce cours, on présentera les outils mathématiques nécessaires à la résolution de problèmes d'optimisation aux moindres carrés. Le formalisme de l'optimisation sera tout d'abord présenté, en illustrant l'intérêt des dérivées dans la caractérisation de solutions. On s'intéressera ensuite à la résolution pratique de ces problèmes, qui repose sur le calcul automatique de dérivées et sur l'utilisation d'algorithmes numériques tirant parti de la structure du problème.
Contenu du cours :
- Optimisation non linéaire : Formalisme sans contraintes, conditions d'optimalité basées sur les dérivées. Cas particuliers des moindres carrés linéaires et non linéaires, cas des problèmes quadratiques. Illustrations en régression et classification.
- Calcul différentiel : Formules de calcul de dérivées, règles de composition, introduction à la différentiation automatique. Application dans le calcul de Jacobiennes pour problèmes de moindres carrés.
- Algorithmes d'optimisation : Descente de gradient, méthodes de Newton et Gauss-Newton pour les moindres carrés linéaires. Applications à la régression et la classification.
Learning outcomes :
- Savoir exprimer les conditions d'optimalité d'un problème d'optimisation non linéaire.
- Connaître les spécificités des problèmes aux moindres carrés.
- Comprendre les principes de la différentiation automatique, et pouvoir l'appliquer à des programmes simples.
- Comparer les résultats de plusieurs algorithmes d'optimisation sur un problème donné.
Bibliography-recommended reading
- J. Nocedal and S. J. Wright, Numerical Optimization, Second Edition (2006).
- A.G. Baydin, B.A. Pearlmutter, A.A. Raydul and J.M. Siskind, Automatic Differentiation in ML: a Survey (2018)
- A.Bjorck, Numerical Methods for Least Squares Problems, Second Edition (2024).
- Anglais 6
Anglais 6
Ects : 2
Lecturer :
- STEPHAN MINNICH
- CATHERINE BOILLOT-PATTERSON
- MARTON FARKAS
Total hours : 18
Overview :
Nous continuons avec l'expression orale et écrite et préparons l'examen TOEIC Bridge qui permet de revoir et maîtriser des bases de grammaire ainsi que d'approfondir un vocabulaire plus général. (L’année prochaine tous les M1 prépareront le TOEIC - cette activité permet donc un premier contact avec cet examen qui fait référence concernant les compétences en anglais). Les étudiants travaillent en demi-groupes de niveau, ce qui permet une participation active de tous.
Learning outcomes :
Maîtriser les structures grammaticales (Intermediate Level) ; acquérir le vocabulaire de base de l’anglais des affaires ; communiquer dans un cadre professionnel.
- Critical thinking
Critical thinking
Ects : 2
Lecturer :
Total hours : 15
Overview :
Raisonnement fallacieux Rhétorique Persuasion argumentative Qu'est-ce qu'une preuve ? Effet de probabilités inversés Utilisation des graphiques mathématiques
Learning outcomes :
Donner, dans le contexte de l’informatique, des outils pour le développement de l’esprit critique, apprendre à interpréter correctement des informations et des données et détecter les tentatives de manipulation rhétorique.
- Données semi-structurées
Données semi-structurées
Ects : 4
Lecturer :
Total hours : 45
Overview :
1. XML : Présentation de la norme XML et de ses principaux langages de manipulation (XPath, XSLT, XQuery) et de programmation (DOM, SAX). 2. JSON : Définition des données en JSON, validation d'un document JSON, langages de requêtes pour JSON et différences avec XML et passage du XML au JSON. 3. RDF : Modèle de données RDF, langage de description des vocabulaires RDF (RDFS) et langage de représentation des ontologies (OWL), interrogation de données RDF (SPARQL) et différences et liens avec XML (syntaxe RDF/XML) et JSON (JSON-LD).
Learning outcomes :
Former les étudiants aux normes du World Wide Web Consortium (W3C) pour modéliser et manipuler les données semi-structurées : XML (Extensible Markup Language) et JSON (JavaScript Object Notation) qui permettent de représenter des données textuelles (documents) ayant une structure potentiellement irrégulière, et RDF (Resource Description Framework) qui permet de décrire les ressources du Web sous la forme de graphe en les enrichissant avec de l'information sémantique. L'objectif du cours est d'apprendre aux étudiants comment représenter les données avec ces différentes normes, comment valider la représentation des données, ainsi que les transformer et les interroger. Chaque partie du cours fera l'objet d'un cours magistral et de plusieurs séances de TP.
- Fondements mathématiques pour l'aide à la décision
Fondements mathématiques pour l'aide à la décision
Ects : 3
Lecturer :
Total hours : 30
Overview :
- Relations binaires et systèmes relationnels ; représentations matricielle et sous la forme d’un graphe ; opérations et propriétés des relations binaires
- Relations de préférence ; partie symétrique et asymétrique ; structures classiques : relation d’équivalence, préordre, ordre strict, ordre fort,…
- Notion d’élément majorant et d’élément maximal
- Présentation de structures permettant la violation de la transitivité de l’indifférence : semiordre, ordre d’intervalles
- Homomorphismes entre systèmes relationnels et transformations admissibles ; les différents types d’échelle et la notion de signifiance
- Mesurage ordinal, mesurage extensif, et mesurage conjoint
- Fonctions d’agrégation et étude d’indicateurs
Learning outcomes :
Le cours présente les concepts mathématiques nécessaires aux modèles formels de l’Aide à la Décision (décision dans l’incertain, décision collective, décision multicritère, analyse de données, …). Les étudiant.e.s devront maitriser ces concepts.
Assessment :
L'UE est évaluée à l'aide d'un examen sur table et d'un projet informatique.
- Introduction à l'intelligence artificielle symbolique
Introduction à l'intelligence artificielle symbolique
Ects : 3
Lecturer :
Total hours : 30
Overview :
- Problème SAT
- Principe de résolution
- Transformation de formules de la logique propositionnelle et du premier ordre en CNF
- Clauses du premier ordre et principe d ’ unification
- Algorithme DPLL
- Notion de faits et règles
- Chaînage avant, chaînage arrière, chaînage mixte
- Introduction au langage Prolog
- Utilisation du backtrack
- Notion de listes
- Programmation récursive
- General Game Playing
Learning outcomes :
Ce cours, qui vient après le cours de logique classique, en utilise les fondements pour présenter les différents types de raisonnement ; le but est de montrer le principe de la déduction logique sur les connaissances, de modéliser des problèmes de décision sous forme de règles d ’ inférence.
- Programmation linéaire
Programmation linéaire
Ects : 4
Lecturer :
Total hours : 36
Overview :
Modélisation en termes de programmes linéaires, aspects géométriques. Méthode graphique.Algorithme du simplexe (méthode par pivot de Gauss (méthode du tableau) et méthode par substitution (dictionnaire). Introduction à la dualité : définitions et interprétation du problème dual, utilisation des théorèmes faible et fort de la dualité, et théorème des écarts complémentaires. Utilisation d’un solveur (AMLP, Cplex, GLPK…)
Learning outcomes :
Initier les étudiants à la modélisation à l'aide de la programmation linéaire et les former pour la résolution des programmes linéaires.
- Projet analyse de données
Projet analyse de données
Learning outcomes :
Mettre en pratique les notions de probabilités et statistiques vues au premier semestre à travers un projet précis.
- Réseaux : infrastructures
Réseaux : infrastructures
Ects : 3
Lecturer :
Total hours : 30
Overview :
1.Introduction- Différents types de réseaux- Modèle OSI 2. Couche physique- Introduction à la théorie du signal- Supports de transmission- Modulation numérique et multiplexage- Exemple des systèmes de téléphonie mobile 3. Couche liaison de données- Trames- Contrôle d'erreur 4. Sous-couche MAC- Protocole de gestion d'accès- Exemple d'Ethernet et des LAN sans fil (WiFi) 5. Couche réseau- Algorithmes de routage Routage par vecteur de distances Routage par information d'état de lien- Internet et IPIPv4Masque et sous-réseau Protocoles de routage : OSPF et BGP
Learning outcomes :
Le cours porte sur les protocoles réseaux utilisés dans les couches basses du modèle OSI.
- Systèmes d'exploitation
Systèmes d'exploitation
Ects : 3
Total hours : 30
Overview :
Ce cours étudie le système d'exploitation UNIX en général et la programmation système en particulier. Le système d'exploitation est le premier programma exécuté lors de la mise en marche d'un ordinateur. Il contrôle l'exécution de tous les programmes d'applications et soustrait le matériel au regard de l'utilisateur. Il est donc important de l'analyser pour comprendre comment fonctionne un ordinateur. Nous choisissons de baser notre études sur UNIX parce qu'il est le plus utilisé sur Internet par les équipements réseaux (routeurs, serveurs web ou serveurs DNS). De plus, il est gratuit et son code est libre et accessible (open source). Les grandes parties de ce cours sont les suivantes: (1) Introduction au langage de programmation C ; (2) Vue générale d'un système d'exploitation; (3) Système de gestion de fichiers UNIX ; (4) Généralités sur les processus et ordonnancement ; (5) Gestion des processus sous UNIX ; (6) Communication inter-processus par tubes et notion de mémoire partagée ; (7) Communication inter-processus par signaux. Le chapitre (1) donne les éléments du langage C nécessaires pour aborder la programmation système. Le chapitre (2) rappelle l'historique des systèmes d'exploitation et décrit leur structure générale. Le chapitre (3) décrit le système de gestion de fichiers qui est l'un des éléments de base du système d'exploitation, et insiste sur celui d'UNIX. Le chapitre (4) aborde de manière plus détaillée les processus et leur ordonnancement. Le chapitre (5) insiste sur la gestion des processus dans le système UNIX. Les chapitres (6) et (7) abordent la communication entre processus, en particulier la communication à travers des tubes et par signaux. Le cours est organisé en cours magistraux et séances de travaux dirigées et/ou travaux pratiques. A chaque chapitre est associé une série d'exercices et de problèmes pour amener les étudiants à mieux assim iler les différentes notions abordées en cours.
Learning outcomes :
Comprendre les différentes tâches d’un système d’exploitation : faire l’interface entre l’utilisateur et la machine, gestion des processus (ordonnancement, communication), gestion des ressources (exclusion mutuelle), gestion des fichiers (organisation du disque) et de la mémoire (mémoire virtuelle). Comprendre le lien entre systèmes d’exploitation et développement : appels système, compilation, librairies…
Bonus annuel
- Sport
Sport
- LV2 Allemand
LV2 Allemand
Total hours : 39
- LV2 Espagnol
LV2 Espagnol
Total hours : 39
Academic Training Year 2025 - 2026 - subject to modification
Teaching Modalities
Detailed assessment methods are communicated at the beginning of the year.
The program begins in September and attendance is mandatory. Courses are organized into semesters 5 and 6.
Each semester consists of core teaching units (UE) and one optional UE for semester 6.
Each UE is associated with a certain number of European credits (ECTS); each semester is associated with the sum of the ECTS associated with the UEs that make up the semester.
Internships and Supervised Projects
Internship not required.
Research-driven Programs
Training courses are developed in close collaboration with Dauphine's world-class research programs, which ensure high standards and innovation.
Research is organized around 6 disciplines all centered on the sciences of organizations and decision making.
Learn more about research at Dauphine