Master d'informatique - COnnaissances, science des Données et Intelligence Artificielle (CODIA)
Liste chronologique des étapes d’admission
Etape
Validation d'une licence d'informatique
Modalités
Dossier via une plateforme Web (Parcours Sup, e-candidat, mon master, site web organisme de formation)
Lieu
transmission de documents (courrier postal ou électronique, dépôt sur un site web)
Bloc de compétences
Libellé descriptif du bloc
Tronc commun
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
Enseignements de parcours
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Libellé descriptif du bloc
Préparation et validation d’une immersion en entreprise (stage)
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Issue(s) de l’action
Niveau de diplôme minimum pour accéder à l’action via une VAPP
Nombre minimum d’année(s) d’expérience continue
5.00
Caractéristiques de l’action
Famille(s) Métier concernée(s)
Publics ciblés
Etudiant en poursuite d'études
Salariés (plan de formation de l'entreprise)
Métier(s) ciblé(s)
Description détaillée
Niveau de diplôme minimum requis
Bac+3 / Niveau 6
Diplôme délivré
Master
Déroulement de l’action
Type(s) de parcours concerné(s)
Licence / Bachelor+ Master / Mastère
Modalité(s)
Durée globale
2.00
Unité
Année(s)
En Alternance
Non
Nombre d’heures en entreprise
770
Modalité
Précisions (fréquence, période, …)
Entre janvier et août de la seconde année
Stage en équipe de recherche ou en entreprise.
Mise en situation : Insertion professionnelle / expérience sur un sujet de recherche.
Stage en équipe de recherche ou en entreprise.
Mise en situation : Insertion professionnelle / expérience sur un sujet de recherche.
Unité
Mois
Points de contact
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable du suivi des apprenants
Civilité
Madame
Prénom
Alice
Nom
AGOSTINI
Téléphone
03 68 85 01 92
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
On
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable Admission des stagiaires / étudiants
Responsable du suivi des apprenants
Civilité
Madame
Prénom
Scolarité
Nom
UFR de mathématique et d'informatique
Téléphone
+33 (0)3 68 85 01 23
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
Off
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Responsable Relations avec les Entreprises (pour stage/alternance)
Civilité
Monsieur
Prénom
Stéphane
Nom
CATELOIN
Téléphone
+33 (0)3 68 85 02 42
Mail
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
Off
Mobile
Affichage média(s) de contact dans le répertoire
Modalités pédagogiques
Outils pédagogiques
Moyens techniques
Bloc de compétence
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Compilation
Thème(s) abordé(s) dans le module
Cet enseignement présente les principes fondamentaux implémentés dans les compilateurs de langages de programmation, et généralise leurs concepts à tout traitement d’un texte source d’entrée : analyse et/ou transformation en un autre texte de sortie.
Les principales étapes de traduction d'un programme source par un compilateur sont étudiées :
- Analyse lexicale : expressions régulières, utilisation de l'outil Lex,
- Analyse syntaxique : analyses ascendantes et descendantes, grammaires LL/SLR/LALR, utilisation de l'outil Yacc/Bison,
- Traduction dirigée par la syntaxe : association d’actions aux règles de grammaire et d’attributs aux symboles de la grammaire,
- Génération de code intermédiaire : implémentation des principales structures de contrôle des langages de programmation,
- Optimisation de programmes : tour d’horizon des principales passes d’analyse et d’optimisation des compilateurs,
- Réalisation d’un mini-compilateur dans le cadre d’un projet par équipe.
Les principales étapes de traduction d'un programme source par un compilateur sont étudiées :
- Analyse lexicale : expressions régulières, utilisation de l'outil Lex,
- Analyse syntaxique : analyses ascendantes et descendantes, grammaires LL/SLR/LALR, utilisation de l'outil Yacc/Bison,
- Traduction dirigée par la syntaxe : association d’actions aux règles de grammaire et d’attributs aux symboles de la grammaire,
- Génération de code intermédiaire : implémentation des principales structures de contrôle des langages de programmation,
- Optimisation de programmes : tour d’horizon des principales passes d’analyse et d’optimisation des compilateurs,
- Réalisation d’un mini-compilateur dans le cadre d’un projet par équipe.
Titre du module
Algorithmique avancée
Thème(s) abordé(s) dans le module
Étude des principales stratégies algorithmiques : diviser pour régner, méthodes gloutonnes, programmation dynamique, branch and bound.Trois aspects sont abordés : la formalisation des problèmes, la conception des algorithmes, et l’analyse de leur complexité.
Titre du module
Sécurité
Thème(s) abordé(s) dans le module
Cette UE introduit les concepts de base de la sécurité de systèmes d'informations et présente son organisation en France. Elle explore les vulnérabilités auxquelles sont exposés les humains (mots de passe, ingénierie sociale), les systèmes (privilèges, confinement, concurrence), les services (web, accès distants) et les réseaux (écoute, authentification, déni de service). Elle traite des moyens de sécurisation techniques notamment la cryptographie, ainsi que les méthodologies de sécurité organisationnelles. Elle propose de mettre en œuvre ces notions au travers de divers travaux pratiques (manipulation de la bibliothèque openssl, gestion de certificats électroniques, filtrage, recherche de vulnérabilités, méthodologie d'attaque).
Titre du module
Calculabilité et complexité
Thème(s) abordé(s) dans le module
On décrit les modèles les plus généraux de calcul et de décision en informatique (qui sont équivalents) : machine de Turing, grammaire, fonction mu-récursive (avec cas particulier des fonctions récursives primitives). On précise la signification du non-déterminisme dans le calcul et la décision. Ensuite on donne les limites de ces modèles en montrant l'impossibilité de décider généralement certaines questions, comme l'arrêt d'une machine de Turing. Enfin on donne les classes fondamentales de complexité des algorithmes, P, NP et EXP, en particulier les problèmes NP-complets.
Titre du module
Programmation parallèle
Thème(s) abordé(s) dans le module
Cette unité d'enseignement étudie les concepts et la mise en œuvre de la programmation parallèle pour accélérer les traitements sur les architectures informatiques qui en sont capables. Les différentes architectures parallèles (machines vectorielles, multi-cœurs, clusters, accélérateurs matériels) y sont présentées ainsi que les différents types de parallélisme (parallélisme de tâches, de threads, d'instructions et de données) et leur efficacité (loi d'Amdahl, évaluation de performances). Cette UE abordera les techniques de parallélisation (analyse de dépendances, ordonnancement) et d'optimisation (localité mémoire, minimisation des communications). Les erreurs classiques de la programmation parallèle y sont détaillées (data race, défaut de synchronisation, incohérence des données), ainsi que les moyens de les identifier et les éviter. Les principes fondamentaux seront mis en oeuvre par la programmation multi-thread pour architecture à mémoire partagée en OpenMP, et par passage de messages pour architectures à mémoire distribuée en MPI.
Cet enseignement présentera :
- Les différents types d’architectures parallèles
- Les différentes méthodes de parallélisation d’applications
- Comment effectuer des mesures de performances fiables et vérifier l’efficacité d’une parallélisation
- Le langage MPI : communications point-à-point, communications collectives, communications non-bloquantes. Il est mis en oeuvre en TP par le développement de quelques applications types.
- Le langage OpenMP : directives de création de région parallèle, de partage de travail entre groupes de threads (boucles, sections, tâches), de synchronisation explicites. Il est mis en oeuvre en TP par la parallélisation de nombreux exemples de codes selon différentes techniques.
Un projet utilisant OpenMP et MPI est réalisé en binômes à la fin de cet enseignement
Cet enseignement présentera :
- Les différents types d’architectures parallèles
- Les différentes méthodes de parallélisation d’applications
- Comment effectuer des mesures de performances fiables et vérifier l’efficacité d’une parallélisation
- Le langage MPI : communications point-à-point, communications collectives, communications non-bloquantes. Il est mis en oeuvre en TP par le développement de quelques applications types.
- Le langage OpenMP : directives de création de région parallèle, de partage de travail entre groupes de threads (boucles, sections, tâches), de synchronisation explicites. Il est mis en oeuvre en TP par la parallélisation de nombreux exemples de codes selon différentes techniques.
Un projet utilisant OpenMP et MPI est réalisé en binômes à la fin de cet enseignement
Cours / Topos en synchrone (heures)
72.00
Travaux dirigés en synchrone (heures)
70.00
Travaux pratiques en groupe en synchrone (heures)
36.00
Nom du bloc de compétence
10058
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Science des données et apprentissage
Thème(s) abordé(s) dans le module
Cet enseignement porte sur la méthodologie et les méthodes d’apprentissage en science des données. Il est divisé en quatre modules :
- Introduction à la science des données
- Apprentissage supervisé : concepts, méthodes et applications
- Apprentissage non-supervisé : concepts, méthodes et applications
- Introduction à l’apprentissage profond.
Les principaux thèmes étudiés sont :
- Concepts et définition de la science des données
- Les différents métiers : Scientifique des données (cœur de l’IA), Ingénieur des données (Intégration de l’IA dans des processus métiers), Utilisateur (Processus métiers ou usage personnel)
- Défis et enjeux méthodologiques, éthiques, sociétaux ...
- La préparation des données : formatage des données, normalisation, split des jeux de données et validation croisée, ...
- Les principales méthodes d’évaluation supervisées (F1-score, IoU, AUC, matrice de confusion, ...) et non-supervisée (ARI, NMI, score de silhouette, ...) et de comparaison (ranking, p-value, graphique de win-loss, ...)
- Stratégie d’entrainement : pipeline d’entrainement et random ou grid seach
- Le clustering : un problème mal défini et mal posé
- Principales méthodes supervisées : arbres de décision, modèles bayésien, apprentissage à base d'instances, SVM, apprentissage d'ensemble de règles
- Principales méthodes non-supervisées : partitionnement, mélange de lois, hiérarchiques, formation de concepts
- Recherche de motifs fréquents
- Réseaux de neurones artificiels : rappels et approfondissements
- Vers l’apprentissage profond : intérêt des réseaux de neurones convolutifs
- Optimisation de l’apprentissage des réseaux de neurones
- Différents types d'apprentissage : apprentissage par renforcement et apprentissage adversarial
- Introduction à la science des données
- Apprentissage supervisé : concepts, méthodes et applications
- Apprentissage non-supervisé : concepts, méthodes et applications
- Introduction à l’apprentissage profond.
Les principaux thèmes étudiés sont :
- Concepts et définition de la science des données
- Les différents métiers : Scientifique des données (cœur de l’IA), Ingénieur des données (Intégration de l’IA dans des processus métiers), Utilisateur (Processus métiers ou usage personnel)
- Défis et enjeux méthodologiques, éthiques, sociétaux ...
- La préparation des données : formatage des données, normalisation, split des jeux de données et validation croisée, ...
- Les principales méthodes d’évaluation supervisées (F1-score, IoU, AUC, matrice de confusion, ...) et non-supervisée (ARI, NMI, score de silhouette, ...) et de comparaison (ranking, p-value, graphique de win-loss, ...)
- Stratégie d’entrainement : pipeline d’entrainement et random ou grid seach
- Le clustering : un problème mal défini et mal posé
- Principales méthodes supervisées : arbres de décision, modèles bayésien, apprentissage à base d'instances, SVM, apprentissage d'ensemble de règles
- Principales méthodes non-supervisées : partitionnement, mélange de lois, hiérarchiques, formation de concepts
- Recherche de motifs fréquents
- Réseaux de neurones artificiels : rappels et approfondissements
- Vers l’apprentissage profond : intérêt des réseaux de neurones convolutifs
- Optimisation de l’apprentissage des réseaux de neurones
- Différents types d'apprentissage : apprentissage par renforcement et apprentissage adversarial
Titre du module
Fondements statistiques pour la science des données
Thème(s) abordé(s) dans le module
Cet enseignement présente les principes fondamentaux de probabilité et de statistique nécessaires pour appréhender l’analyse de données.
- Probabilités, indépendance, probabilité conditionnelle, formule de Bayes ; loi de de variables aléatoires continues et discrètes, espérance, variance, quantiles ; loi des grands nombres et théorème central limite.
- Statistiques descriptives, modélisation et estimation de paramètres ; intervalles de confiance
- Tests statistiques : principe et vocabulaire, tests de bases
- Modèles linéaires gaussiens et généralisés, interprétation en termes statistiques et comme outil d’apprentissage supervisé, sélection de variables
- Réduction de dimension par ACP, ACM, ACF.
- Probabilités, indépendance, probabilité conditionnelle, formule de Bayes ; loi de de variables aléatoires continues et discrètes, espérance, variance, quantiles ; loi des grands nombres et théorème central limite.
- Statistiques descriptives, modélisation et estimation de paramètres ; intervalles de confiance
- Tests statistiques : principe et vocabulaire, tests de bases
- Modèles linéaires gaussiens et généralisés, interprétation en termes statistiques et comme outil d’apprentissage supervisé, sélection de variables
- Réduction de dimension par ACP, ACM, ACF.
Titre du module
Modélisation de connaissances
Thème(s) abordé(s) dans le module
Cet enseignement a pour but de présenter les principes et techniques permettant la représentation et la manipulation de connaissances dans des systèmes "intelligents".
Les principaux langages et outils de modélisation seront étudiés
- Logiques de descriptions : langages et raisonnements
- Règles d’implication et d’association
- Treillis de Galois
- Langages du web sémantique : RDF, RDFS, OWL
- Langages d’interrogation : SPARQL, SWRL
- Outils pour le développement d’ontologie : Protégé
Les principaux langages et outils de modélisation seront étudiés
- Logiques de descriptions : langages et raisonnements
- Règles d’implication et d’association
- Treillis de Galois
- Langages du web sémantique : RDF, RDFS, OWL
- Langages d’interrogation : SPARQL, SWRL
- Outils pour le développement d’ontologie : Protégé
Cours / Topos en synchrone (heures)
76.00
Travaux pratiques en groupe en synchrone (heures)
44.00
Nom du bloc de compétence
10059
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Algorithmes distribués
Thème(s) abordé(s) dans le module
Cette unité d'enseignement présente différents modèles des systèmes distribués et traite des grandes catégories de problèmes théoriques liées à l'algorithmique distribuée. Pour chaque catégorie de problèmes, de nombreuses solutions algorithmiques sont présentées en fonction du contexte (modèle de communication et type d'architecture sous-jacente). Ces solutions, de leur complexité à leur démonstration, sont discutées et comparées en détail. Cette UE permet aussi de découvrir et de pratiquer un langage de spécification/vérification dédié aux algorithmes distribués, le langage Promela. D'autres aspects plus techniques sont également abordés en TP via la plateforme de simulation JBotSim.
Les algorithmes présentés dans ce cours traitent les problématiques suivantes dans le contexte des systèmes distribués :
- Horloges logiques, ordre total et précédence causale
- Mécanismes de diffusion pour la cohérence et le partage des données réparties
- Exclusion mutuelle.
- Élection d’un leader.
- Détection d’interblocage et de terminaison.
- Calcul d’un état global cohérent pour garantir des points de reprise fiables.
- Consensus.
- Blockchain.
- Protocoles de population.
- Essaim de robots.
- Spécifier et vérifier les grands principes algorithmiques d'une solution distribuée avec le langage Promela
Les algorithmes présentés dans ce cours traitent les problématiques suivantes dans le contexte des systèmes distribués :
- Horloges logiques, ordre total et précédence causale
- Mécanismes de diffusion pour la cohérence et le partage des données réparties
- Exclusion mutuelle.
- Élection d’un leader.
- Détection d’interblocage et de terminaison.
- Calcul d’un état global cohérent pour garantir des points de reprise fiables.
- Consensus.
- Blockchain.
- Protocoles de population.
- Essaim de robots.
- Spécifier et vérifier les grands principes algorithmiques d'une solution distribuée avec le langage Promela
Titre du module
Programmation avancée
Thème(s) abordé(s) dans le module
L’objectif de cette UE est de faire un tour d’horizon des principaux concepts des langages de programmation. Ce cours sera illustré de petits exemples écrits dans de nombreux langages différents afin d’illustrer les différents concepts.Les concepts suivants seront présentés:typage fort/faible, typage dynamique/statique, concept de compilation, interprétation, JIT, bytecode, VM, programmation objet orientée classe vs prototype polymorphisme ad-hoc et polymorphisme paramétrique, sous typage, héritage vs héritage multiple, traits et mixins, surcharge, gestion de la mémoire (GC, comptage de références, pointeurs intelligents), pointeurs et références, clôtures, liaison statique vs liaison dynamique, programmation par continuations, types de données algébriques, réutilisation et modèles de composants logiciels (design patterns), variance et covariance, genericité: modules/foncteurs/interfaces, meta-programmation.
Titre du module
Architecture des logiciels
Thème(s) abordé(s) dans le module
Les grands logiciels actuels ont une complexité telle que la définition d’une archi-tecture logicielle est devenue un préalable à leur conception. Ces architectures ont des impacts tant en termes de coûts de développement, de déploiement et d’exploitation qu’en termes de dimensionnement, d’efficacité énergétique ou de flux réseaux.Cet enseignement a pour objectif de présenter les principales notions utilisées dans les architectures logicielles et les impacts croisés entre l’architecture du logiciel et les contraintes opérationnelles. Les aspects pratiques sont centrés sur les outils et les métiers autour du DevOps.
Titre du module
Travail d'étude et de recherche - en anglais
Thème(s) abordé(s) dans le module
Cette UE est une ouverture aux travaux de recherche scientifique en général et à ceux du domaine de l'informatique en particulier. Son objectif est de présenter le domaine d'activité de la recherche scientifique (métiers, laboratoires, instituts, qu'ils soient publics ou privés), ses interactions avec la société, et former aux problématiques, méthodes et productions de la recherche en informatique (lecture et analyse critique d'articles scientifiques, prospective, outils et plateformes). Elle donnera un aperçu des problèmes ouverts dans les thématiques des équipes de recherche auxquelles s'adossent les différents parcours du master informatique. Elle proposera une première expérience de recherche, tuteurée par un chercheur ou un enseignant-chercheur, donnant lieu à un mémoire et une soutenance devant un jury composé de chercheurs et d'enseignants-chercheurs.
Cours / Topos en synchrone (heures)
70.00
Apprentissage et travaux pratiques en autonomie / asynchrone (heures)
150.00
Travaux dirigés en synchrone (heures)
28.00
Travaux pratiques en groupe en synchrone (heures)
40.00
Nom du bloc de compétence
10058
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Apprentissage profond pour données numériques
Thème(s) abordé(s) dans le module
Ce cours présente les principes fondamentaux de l'apprentissage profond, de la théorie des réseaux neuronaux convolutifs à leur mise en œuvre pour résoudre des problèmes du monde réel. Il sera divisé en quatre modules :
- Apprentissage profond et réseaux neuronaux convolutifs
- Apprentissage profond non supervisé
- Transformateurs
- Pipeline et défis de l'IA
Les principales étapes de l'élaboration d'un modèle d'apprentissage profond sont étudiées :
- Visualisation et étude des représentations latentes de réseaux convolutifs, explicabilité et apprentissage automatique,
- Apprentissage profond non supervise : autoencodeurs, apprentissage auto-supervisé, deep clustering,
- Visualisation : t-SNE, divergence KL,
- Introduction aux modèles génératifs,
- Apprentissage profond sur des données dynamiques : Réseaux récurrents (RNN, LSTM), modèles d’attention, transformers,
- Réalisation d’un pipeline d'apprentissage profond pour s'attaquer à un problème pratique dans le cadre d’un projet par équipe.
- Apprentissage profond et réseaux neuronaux convolutifs
- Apprentissage profond non supervisé
- Transformateurs
- Pipeline et défis de l'IA
Les principales étapes de l'élaboration d'un modèle d'apprentissage profond sont étudiées :
- Visualisation et étude des représentations latentes de réseaux convolutifs, explicabilité et apprentissage automatique,
- Apprentissage profond non supervise : autoencodeurs, apprentissage auto-supervisé, deep clustering,
- Visualisation : t-SNE, divergence KL,
- Introduction aux modèles génératifs,
- Apprentissage profond sur des données dynamiques : Réseaux récurrents (RNN, LSTM), modèles d’attention, transformers,
- Réalisation d’un pipeline d'apprentissage profond pour s'attaquer à un problème pratique dans le cadre d’un projet par équipe.
Titre du module
Données complexes
Thème(s) abordé(s) dans le module
Cet enseignement aborde la problématique de la Sciences des données et de l’Intelligence artificielle d’un point de vue des données plutôt que de méthodes. Pour chaque type de données seront ainsi présentés les particularités, les défis qu’elles présentent et les méthodes qui leur sont dédiées.
Les principaux thèmes étudiés sont :
- Mots particuliers : mots de Fibonacci, mots et graphe de de Bruijn.
- Algorithmes d'alignement de motifs : distance et graphe d'édition, algorithme d'alignement global, algorithme du plus long sous-mot commun.
- Algorithmes pour la recherche approchée de motifs : motifs à jokers, motifs avec distance, motifs avec inégalités,
- Méthodes de traitement automatique des langues (TAL/NLP) : notions de base, niveaux d’analyse linguistique et chaînes de traitement, apprentissage automatique (dont réseaux de neurones), représentation de documents et de mots (plongements/embeddings)
- Recherche d’information (RI) : recherche d’information ad-hoc, modèles de recherche (ex : tf-idf, BM25, booléen, neuronal), évaluation en RI, recherche neuronale (ex : Sentence Transformers)
- Motifs séquentiels fréquents : concepts et méthodes
- Mesures de similarité et méthode par représentation de séries temporelles
- Algorithmes de classification supervisés ou non-supervisés et détection d’anomalies de séries temporelles
- Modélisation de l’information par différents types de graphes (graphe, multi-graphe, graphe spatio-temporel, graphe de connaissance, etc.)
- Fouille de graphe (recherche de cliques, sous graphes, ...) et modèle d’apprentissage (HMM, GNN, ...)
- Pré-traitement des données : complétude, agrégation, discrétisation
- Introduction aux différents concepts de l’industrie 4.0 et 5.0 et ses différents cas d’étude (maintenance prévisionnelle, analyse de qualité des produits, système cyber-physique).
- Introduction aux techniques de fouille de données avancées pour le traitement de cas d’étude de l’industrie (Fouille de motifs riches, LLMs, etc).
Les principaux thèmes étudiés sont :
- Mots particuliers : mots de Fibonacci, mots et graphe de de Bruijn.
- Algorithmes d'alignement de motifs : distance et graphe d'édition, algorithme d'alignement global, algorithme du plus long sous-mot commun.
- Algorithmes pour la recherche approchée de motifs : motifs à jokers, motifs avec distance, motifs avec inégalités,
- Méthodes de traitement automatique des langues (TAL/NLP) : notions de base, niveaux d’analyse linguistique et chaînes de traitement, apprentissage automatique (dont réseaux de neurones), représentation de documents et de mots (plongements/embeddings)
- Recherche d’information (RI) : recherche d’information ad-hoc, modèles de recherche (ex : tf-idf, BM25, booléen, neuronal), évaluation en RI, recherche neuronale (ex : Sentence Transformers)
- Motifs séquentiels fréquents : concepts et méthodes
- Mesures de similarité et méthode par représentation de séries temporelles
- Algorithmes de classification supervisés ou non-supervisés et détection d’anomalies de séries temporelles
- Modélisation de l’information par différents types de graphes (graphe, multi-graphe, graphe spatio-temporel, graphe de connaissance, etc.)
- Fouille de graphe (recherche de cliques, sous graphes, ...) et modèle d’apprentissage (HMM, GNN, ...)
- Pré-traitement des données : complétude, agrégation, discrétisation
- Introduction aux différents concepts de l’industrie 4.0 et 5.0 et ses différents cas d’étude (maintenance prévisionnelle, analyse de qualité des produits, système cyber-physique).
- Introduction aux techniques de fouille de données avancées pour le traitement de cas d’étude de l’industrie (Fouille de motifs riches, LLMs, etc).
Cours / Topos en synchrone (heures)
76.00
Travaux pratiques en groupe en synchrone (heures)
44.00
Nom du bloc de compétence
10059
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Traitement et données large échelle
Thème(s) abordé(s) dans le module
Cet enseignement a pour objectif d'enseigner les principes du développement d’applications de calcul et de manipulation des données profitant des avantages offerts par les architectures distribuées modernes en terme de robustesse, de fiabilité et de scalabilité. Les systèmes de gestion de données NoSQL ainsi que les méthodes d'indexation efficaces pour des recherches optimisées sur des masses de données seront introduits. Les stratégies de fragmentation et de réplication de données adaptées aux architectures fortement distribuées seront présentées. La mise en place et la configuration d’architecture distribuées pour le calcul réparti seront traitées dans ce cours. Le paradigme de programmation map/reduce pour la répartition des traitements sera présenté et mis en pratique par l’utilisation des framework de calcul distribué Hadoop et Spark.
- Présentation des différents modèles de bases de données, en particulier des modèles dit NoSQL :
°Bases de données clé-valeur.
°Bases de données documents.
°Bases de données graphes.
°Autres modèles.
- Contrainte de la répartition sur la cohérence des données et sur les performances des opérations de manipulation de données. Théorème CAP.
- Architecture multi-maîtres. Architecture nœud primaire – nœuds secondaires.
- Fragmentation des données. Fragmentation horizontale et verticale. Fragmentation par intervalle, par fonction de hachage. Fragmentation dynamique : intervalle dynamique et hachage cohérent.
- Réplication. Écritures synchrone/synchrone. Mécanismes de résistances aux pannes.
- Paradigme de programmation Map/Reduce. Traduction d’algorithmes standards dans le paradigme de programmation Map/Reduce.
- Architecture pour le calcul répartie utilisant Map/Reduce :
°Systèmes de fichiers HDFS.
°Présentation des framework Hadoop et Spark
- Présentation des différents modèles de bases de données, en particulier des modèles dit NoSQL :
°Bases de données clé-valeur.
°Bases de données documents.
°Bases de données graphes.
°Autres modèles.
- Contrainte de la répartition sur la cohérence des données et sur les performances des opérations de manipulation de données. Théorème CAP.
- Architecture multi-maîtres. Architecture nœud primaire – nœuds secondaires.
- Fragmentation des données. Fragmentation horizontale et verticale. Fragmentation par intervalle, par fonction de hachage. Fragmentation dynamique : intervalle dynamique et hachage cohérent.
- Réplication. Écritures synchrone/synchrone. Mécanismes de résistances aux pannes.
- Paradigme de programmation Map/Reduce. Traduction d’algorithmes standards dans le paradigme de programmation Map/Reduce.
- Architecture pour le calcul répartie utilisant Map/Reduce :
°Systèmes de fichiers HDFS.
°Présentation des framework Hadoop et Spark
Titre du module
Projet de master
Thème(s) abordé(s) dans le module
Cet enseignement a pour objectif la réalisation d'un projet d'ampleur dans le domaine correspondant au parcours de master. Les étudiants y mettent en œuvre à la fois leur expertise technique et leur capacité à travailler en autonomie ou en équipe pour répondre à un maître d'ouvrage. Les sujets, tournés vers la R&D et l'innovation, sont proposés par des entreprises, des chercheurs ou par les étudiants eux-mêmes. Ils correspondent au niveau technique et organisationnel attendu de la part des diplômés de niveau master en informatique. Ils permettent aux étudiants de valoriser leur travail et d'augmenter leur visibilité pour leur entrée dans le monde professionnel ou leur poursuite d'études en doctorat.
Titre du module
Langue
Thème(s) abordé(s) dans le module
Objectifs linguistiques et langagiersn: travail individualisé sur la langue en fonction du niveau des étudiants et de leurs besoins leur permettant de viser des compétences C1 en master, soit en centre de ressources ou à distance.
Selon votre profil (filière et disponibilité horaire), vous aurez un choix plus ou moins large de modules d’anglais auxquels vous pourrez vous inscrire.
Selon votre profil (filière et disponibilité horaire), vous aurez un choix plus ou moins large de modules d’anglais auxquels vous pourrez vous inscrire.
Titre du module
Vie professionnelle
Thème(s) abordé(s) dans le module
Ce module est composé de quatre matières :
- Impact environnemental et sociétal du numérique
- Droit
- Communication
- Entrepreneuriat
- Impact environnemental et sociétal du numérique
- Droit
- Communication
- Entrepreneuriat
Cours / Topos en synchrone (heures)
96.00
Travaux dirigés en synchrone (heures)
40.00
Travaux pratiques en groupe en synchrone (heures)
6.00
Nom du bloc de compétence
10058
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Entreposage et protection des données massives distribuées
Thème(s) abordé(s) dans le module
Cet enseignement présente les principes et techniques liés d’une part à l’exploitation des données massives à des fins décisionnelles, avec un accent mis sur les entrepôts de données, et d’autre part à la conception d’applications distribuées complexes sécurisées
Partie entreposage et traitement des données massives
Les principaux concepts et outils liés à la gestion de données massives et à leur exploitation à des fins décisionnelles seront vus :
- Vue d’ensemble du décisionnel,
- Vocabulaire et concepts liés aux entrepôts de données (magasin de données, OLAP, cube OLAP),
- Les principes liés à la gestion des données (cycle de vie, données ouvertes),
- Aperçu des autres types de stockage des données massives (base de données, entrepôt de données, data lake, data mesh, data lakehouse),
- Modélisation conceptuelle des entrepôts (dimension, schéma en étoile, flocon, constellation),• Modélisation logique des entrepôts (ROLAP, MOLAP, HOLAP),
- Fonctionnalités OLAP de SQL,
- Intégration de données (ETL).
Partie protection des données massives
Les concepts et outils liés à la détection d’attaque et à la protection des données sont :
- Application de l’analyse de données aux métiers de la cybersécurité
- Étude d’un cas d’usage d’identification de fraude : démarche, préparation des données, choix et application des algorithmes pour l’analyse de données exploratoire, la visualisation et le traitement des données
- Algorithmes de classification, à l’exemple de XGBoost
- Algorithmes de prédiction pour la détection d’anomalies : ARIMA, LSTM
- Métriques d’évaluation de performance pour l’apprentissage machine : précision, rappel, AUROC, AUPRC ; les profils de perte pour l’apprentissage en sous-apprentissage, sur-apprentissage, apprentissage adapté
- La détection de nouveautés et d’anomalies par classification en 2 classes : co-variance robuste, SVM 1-classe, Isolation Forest, Local Outlier Factor
- Mécanismes de l’apprentissage machine adversariel
- Mise en œuvre opérationnelle du machine learning pour la cybersécurité dans les Security Operating Centers
- Risques majeurs pour les systèmes informatiques
- Les vols de données
Partie entreposage et traitement des données massives
Les principaux concepts et outils liés à la gestion de données massives et à leur exploitation à des fins décisionnelles seront vus :
- Vue d’ensemble du décisionnel,
- Vocabulaire et concepts liés aux entrepôts de données (magasin de données, OLAP, cube OLAP),
- Les principes liés à la gestion des données (cycle de vie, données ouvertes),
- Aperçu des autres types de stockage des données massives (base de données, entrepôt de données, data lake, data mesh, data lakehouse),
- Modélisation conceptuelle des entrepôts (dimension, schéma en étoile, flocon, constellation),• Modélisation logique des entrepôts (ROLAP, MOLAP, HOLAP),
- Fonctionnalités OLAP de SQL,
- Intégration de données (ETL).
Partie protection des données massives
Les concepts et outils liés à la détection d’attaque et à la protection des données sont :
- Application de l’analyse de données aux métiers de la cybersécurité
- Étude d’un cas d’usage d’identification de fraude : démarche, préparation des données, choix et application des algorithmes pour l’analyse de données exploratoire, la visualisation et le traitement des données
- Algorithmes de classification, à l’exemple de XGBoost
- Algorithmes de prédiction pour la détection d’anomalies : ARIMA, LSTM
- Métriques d’évaluation de performance pour l’apprentissage machine : précision, rappel, AUROC, AUPRC ; les profils de perte pour l’apprentissage en sous-apprentissage, sur-apprentissage, apprentissage adapté
- La détection de nouveautés et d’anomalies par classification en 2 classes : co-variance robuste, SVM 1-classe, Isolation Forest, Local Outlier Factor
- Mécanismes de l’apprentissage machine adversariel
- Mise en œuvre opérationnelle du machine learning pour la cybersécurité dans les Security Operating Centers
- Risques majeurs pour les systèmes informatiques
- Les vols de données
Titre du module
Apprentissage collaboratif
Thème(s) abordé(s) dans le module
Cette unité d'enseignement est une ouverture sur des méthodes basées sur des collaborations. Elle présente des approches basées sur la collaboration entre des algorithmes d’apprentissage ou d’agents informatiques. Elle propose des approches visant à intégrer l’expert de façon active dans le processus d’analyse. Enfin, elle introduit les algorithmes évolutionnaires et la programmation génétique inspirés des processus naturels
- Introduction aux systèmes complexes et multi-agents
- Classification
• Méthodes par ensembles (Ensemble clustering, Bagging, boosting (Ramdom Forest )
• Méthodes collaboratives (Clustering multistratégie)
- Approches collaboratives en relation directe avec l’expert
• Visualisation
• Apprentissage guidée, semi-supervisé et actif
- Approches bio-inspirées :
• Algorithmes évolutionnaires
• Programmation génétique
- Introduction aux systèmes complexes et multi-agents
- Classification
• Méthodes par ensembles (Ensemble clustering, Bagging, boosting (Ramdom Forest )
• Méthodes collaboratives (Clustering multistratégie)
- Approches collaboratives en relation directe avec l’expert
• Visualisation
• Apprentissage guidée, semi-supervisé et actif
- Approches bio-inspirées :
• Algorithmes évolutionnaires
• Programmation génétique
Titre du module
Bioinformatique
Thème(s) abordé(s) dans le module
Cet enseignement est un cours avancé sur des structures et données informatiques. Les concepts définis sur un alphabet fini quelconque seront principalement présentés sur l'alphabet génétique à 4 lettres et l'alphabet binaire à 2 lettres.
Les thèmes étudiés sont :
- Ensemble de mots. Code. Codes uniformes. Codes circulaires (graphe, théorème associant circularité et acyclicité, plus long chemin dans le graphe acyclique, graphe biparti). Classes de codes: codes comma-free, codes comma-free forts. Codes mélangés. Codes génétiques.
- Modèles d'évolution de données à 1 et 2 paramètres.
- Distances évolutives entre les données à 1 et 2 paramètres.
- Projet sur l’acquisition de données génétiques à partir d’une base de données biologique ou projet sur les graphes de codes, au choix de l’étudiant.
Les thèmes étudiés sont :
- Ensemble de mots. Code. Codes uniformes. Codes circulaires (graphe, théorème associant circularité et acyclicité, plus long chemin dans le graphe acyclique, graphe biparti). Classes de codes: codes comma-free, codes comma-free forts. Codes mélangés. Codes génétiques.
- Modèles d'évolution de données à 1 et 2 paramètres.
- Distances évolutives entre les données à 1 et 2 paramètres.
- Projet sur l’acquisition de données génétiques à partir d’une base de données biologique ou projet sur les graphes de codes, au choix de l’étudiant.
Cours / Topos en synchrone (heures)
84.00
Travaux pratiques en groupe en synchrone (heures)
36.00
Nom du bloc de compétence
10059
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Accompagnement de stage
Thème(s) abordé(s) dans le module
Recherche du stage et insertion dans l’entreprise ou le laboratoire.
Suivi et encadrement du stage, via des bilans intermédiaires.
Rédaction du mémoire et préparation de la soutenance.
Suivi et encadrement du stage, via des bilans intermédiaires.
Rédaction du mémoire et préparation de la soutenance.
Cours / Topos en synchrone (heures)
26.00
Nom du bloc de compétence
10069
Etape(s) concernée(s)
Etape du parcours
Label attribué
Non
Période(s) de démarrage d’une session (promotion)
Zone géographique
Adresse
Pôle API - Bâtiment J, 300 Boulevard Sébastien Brant - 67412 Illkirch Graffenstaden cedex
Mois de début
Nombre minimum d’apprenants par session
10
Nombre maximum d’apprenants par session
20
Domaine de compétences du diplôme
Présentation générale
Le parcours CODIA forme des informaticiens spécialistes en sciences des données et en intelligence artificielle. L'accent est mis sur les algorithmes et les techniques d'apprentissage machine, d'apprentissage profond, de fouille de données, de gestion et d'extraction de connaissances. L'équilibre entre contenus théoriques et aspects pratiques permet aux diplômés de s'insérer rapidement sur le marché de l'emploi, ou de poursuivre en recherche dans le cadre d'un doctorat.