moteur de recherche

Master Logiciels : Contenus des enseignements du M2

Master 2e année - 2e semestre (S4)

Calcul parallèle (MapReduce)

  • M2 - S4
  • Objectifs :
    - Comprendre le phénomène Big data et son impact dans le domaine de l'informatique
    - Découvrir les principaux outils permettant d'appréhender ce déluge de données.
    - Comprendre l'écosystème MapReduce, e.g., HFDS Développer dans un environnement
  • Contenus :
    - Etude du modèle de programmation MapReduce, en particulier l'implémentation Apache Hadoop.
    - Calcul en parallèle avec Apache Spark et RDD.
    - Les systèmes orientés Streaming : Storm, Spark Streaming.
    - Les systèmes pour le calcul parallèle orienté graph (GraphX, Pregel).
  • Modalité de contrôle : Partiel

Bases de données pour le big data

  • M2 - S4
  • Objectifs :
    - Comprendre la motivation d'une nouvelle vague de systèmes de gestion de bases de données (SGBD)
    - Mettre en évidence les principales différences avec les SGBD du modèle relationnel
    - Identifier les avantages et inconvénients des différents systèmes
  • Contenus
    - Etude des 4 grandes catégories de bases de données NoSQL: clé-valeur, Document, orienté colonne et graphe
    - Pratique de certains systèmes NoSQL: MongoDB, Neo4J, Redis
  • Modalité de contrôle : Partiel

Intégration de bases de données

  • M2 - S4
  • Objectifs et contenus :
    - Comprendre une problématique majeure associée aux 'big data', l'intégration de bases de données (BD) hétérogènes et distribuées : les objectifs, les principales approches (médiation, entrepôts de données) et étapes.
    - Savoir analyser les correspondances et hétérogénéités entre schémas de BD afin de proposer des modèles d'intégration.
    - Comprendre les apports des métadonnées dans la représentation des connaissances, la qualité des données et l'intégration des BD.
  • Mots clés Intégration de bases de données ; correspondances ; hétérogénéité ; métadonnées ; qualité des données ; données ouvertes.
  • Contenu : La première partie du cours traitera de l'intégration de bases de données, qui est une forme 'forte' d'interopérabilité. Elle en présente les objectifs, les approches (médiation et entrepôts de données), les problématiques liées aux correspondances entre schémas et aux conflits et les approches pour les résoudre.
    - La deuxième partie traitera des métadonnées, qui constituent des représentations des données destinées à renseigner sur elles et à anticiper sur leur utilisation ; elle présentera et illustrera différentes catégories de métadonnées (Dublin Core, LOM, …) et leurs évolutions. Elle montrera ensuite comment la qualité (précision, complétude, ponctualité, accessibilité, …) et l'exhaustivité des métadonnées influencent directement la visibilité et l'utilisation des bases de données. - Le mouvement des big data est fortement impulsé par l'ouverture des données. L'analyse de plateformes Web publiant des données ouvertes, comme data.gouv.fr ou data.gov.uk et des applications exploitant leurs données, illustrerons les différents aspects de ce cours. Les étudiants utiliseront des données de ces plateformes dans les travaux pratiques.
  • Démarche : Cette unité d'enseignement alternera cours théoriques, travaux dirigés et travaux pratiques. Ces derniers utiliseront le SGBDR Oracle ou des API.
  • Prerequis : BD avancées (M1 Informatique)
  • Contrôle de connaissances : Examen écrit et projet.

Introduction à la data-science et à ses outils

  • M2 - S4
  • Objectifs :
    L'objectif du cours et de permettre aux étudiants de se familiariser avec les métiers de l’analyse de données. Après une présentation des différents métiers, se cours sera l’occasion de sensibiliser les étudiants aux problématiques de la data-science avec un focus sur les aspects liés au traitement et à l’analyse statistique ainsi que ceux liés à la visualisation interactive de données. Ce cours sera en particulier l’occasion de mettre en œuvre une chaîne de traitement complète de données dans le cadre d’un projet personnel réalisé en binôme. - Mots clés data-cleaning; data-munging ; introduction à la modélisation statistique et à la fouille de données ; introduction à la visualisation de données.
  • Contenu:
    - La première partie du cours traitera des aspects liés au nettoyage, à la mise en forme, au croisement et à l'enrichissement de données en utilisant les bibliothèques panda et scikit-learn de Python. Cette partie s’appuiera sur différents exemples de mise en forme et d'analyse de jeux de données open-data et sera l’occasion de présenter quelques méthodes classiques d’analyse statistiques de données aussi bien supervisé (randomforest, svm) que non-supervisé (k-means, modèle de mélange, db-scan).
    - Dans une seconde partie, les problématiques de représentation et de visualisation de données seront abordées. Tout d'abord en présentant des bonnes pratiques de visualisation, en s'appuyant sur la bibliothèque yhat/ggplot de python. Enfin, le développement de data-visualisations interactives à l'aide de la bibliothèque javascript d3 fera l'objet de la dernière partie de ce cours. Les étudiants auront l'occasion de mettre en œuvre ces différentes compétences dans le cadre d'un projet réalisé en binôme autour de l'analyse d'un jeux de données open-data qu'ils choisiront.
  • Prérequis : Bases de Python, bases de Javascript
  • Démarche : Cette unité de valeurs alternera cours théoriques et travaux pratiques durant les séances. Un projet en binôme sera également réalisé.

Représentation des connaissances

  • M2 - S4
  • Objectifs et contenus :
    - Situer la représentation des connaissances dans le domaine de l'intelligence artificielle.
    - Comprendre l'écosystème du Web Sémantique (RDF, RDFS, OWL, SPARQL), actuellement la principale vitrine de la représentation des connaissances
  • Contenus :
    - Historique sur l'Intelligence Artificielle et la représentation des connaissances (frames, réseaux sémantiques, logiques de description)
    - Les technologies du Web sémantique (RDF, RDFS, OWL, SPARQL, SKOS) et les outils (Protégé, RDF Stores)
    - Comprendre l'importance du raisonnement dans le contexte de la représentation des connaissances (pratique avec Hermit sous Protégé, raisonneur de Jena)
    - Développement dans le framework Apache Jena (Java)
  • Modalité de contrôle : Partiel ou projet