Liste des UE (toutes à 2.5 ECTS)

[ISD] Traitement distribué des données.
Coordinator : Nguyen Kim
Ce cours présente des concepts avancés de traitement distribué des données, selon trois grands axes : - traitement de donnée distribuées sur une même machine (multi-thread/multi-processus). Ce schéma est utilisée pour les tâches de traitement hautement parallélisable afin d'utiliser au mieux les ressources d'une machine. Le cours rappelle des principes généraux de programmation parallèle (threads, verrous) ainsi que des concepts bas-niveau pour accélérer le traitement de données (pagination fichier/mémoire). - traitement client/serveur : utilisé dans le cadre classique d'une base de données unique répondant à des requêtes de plusieurs clients. Le cours présente le concept fondamental de transaction dans les BDs relationnelles ainsi que les différents algorithmes de verrouillages et les structures de données associées. - traitement distribué « big data » : utilisé dans le cas où les données sont tellement volumineuses qu'elles doivent résider sur un cluster de machine. Le cours donne une introduction au paradigme « map/reduce » ainsi qu'une initiation aux frameworks Hadoop et Spark.
Prerequisite :
[ISD] Traitement automatique des langues
Coordinator :
Ce cours commence par une présentation des concepts de linguistique automatique nécessaires à la compréhension des applications développées pour le traitement de gros corpus de textes écrits, la documentation automatique, la recherche de documents, etc. Seront présentés ensuite les modèles utilisés dans une analyse plus fine des textes : analyseurs syntaxiques, sémantiques. Ces outils servent au développement d'applications telles que les correcteurs grammaticaux utilisés dans les traitements de texte ou les interfaces en français entre l'homme et la machine. Des exemples de ces applications seront montrés tout au long du cours. Les différents points développés dans les cours sont : (i) Introduction au traitement automatique des langues : enjeux et applications, (ii) Analyse syntaxique de l'étiquetage morphosyntaxique à l'analyse en profondeur, en passant par les analyseurs robustes, (iii) Présentation et utilisation d'analyseurs syntaxiques-Analyse sémantique : de la syntaxe à une représentation fondée sur les réseaux sémantiques, (v) Applications : système de questions-réponses, systèmes de dialogue homme-machine.
Prerequisite :
[ISD] Test et Vérification
Coordinator : Maag Stéphane
Dans ce cours, nous mettrons l'accent sur la mise en œuvre de techniques pour générer des ensembles de tests permettant de couvrir des objectifs de test. La notion d'objectif de test peut correspondre à plusieurs notions concrètes incluant des propriétés à tester, des contrats, des comportements sous forme de chemins à couvrir, des critères de couvertures portant sur les graphes de contrôles ou les flots de donnés. Nous découvrirons également la technique du model checking qui permet de vérifier automatiquement des propriétés de sûreté et de vivacité des systèmes.
Prerequisite :
[ISD] Services et applications Web
Coordinator : Nguyen Kim
Dans ce cours, il s’agira d’étudier les concepts et langages pour le développement d’application Web et de services Web. Côté client, seront étudiés les traitements complexes à mettre en œuvre. Côté serveur, seront vus certains environnements (Apache struts, Ocsigen, …). Sera également abordée l’intégration des données hétérogènes (BD, XML, Json, …). Pour la partie service Web, le cours portera sur la création des services Web (SOAP, REST) simples et complexes (orchestration de services).
Prerequisite :
[ISD] sécurité
Coordinator : Soufflet Gilles
Ce cours vise à faire un tour d'horizon le plus large possible des vulnérabilités potentielles des différents éléments des systèmes traitant l'information et de décrire les ripostes possibles, au travers de mots clé comme respect de la vie privée et anonymat, disponibilité, authentification et imputabilité des accès, secret et partage de secret: Identification et authentification (mots de passe, techniques biométriques), contrôle d'accès (accès hiérarchique, listes d'accès, capacités, systèmes "take and grant »), attaques par déni de service, virus, vers - techniques des antivirus - systèmes de détection d'intrusions, problèmes de sécurité des réseaux et exemples d'attaques connues, généralités sur le codage et la cryptographie. Principes de sécurité (sécurité IPv4/IPv6, pare-feux, cloisonnement, VPN).
Prerequisite :
[ISD] Réseaux sans fil
Coordinator : Al Agha Khaldoun
Ce cours a pour objectif de présenter plusieurs notions avancées des réseaux informatiques et de télécommunications. Un premier volet sera consacré à introduire les fondements et concepts de base des réseaux cellulaires, mobiles et sans fil : concept cellulaire, techniques d’accès au support radio (FDMA, TDMA, CDMA, CSMA-CA), en détaillant le fonctionnement de quelques systèmes représentatifs tels que la 2G, la 3G ou encore le Wi-Fi. Un second volet sera dédié à l’étude de plusieurs notions essentielles des nouvelles générations de réseaux telles que la qualité de service (QoS), la mobilité (MIP) ou encore la signalisation dans IP (SIP, VoIP).
Prerequisite :
[ISD] Réseaux
Coordinator : Martin Steven
Pour fonctionner correctement, les réseaux nécessitent un grand nombre d'équipements et de processus, rendant leur architecture souvent complexe. Pour réduire cette complexité, les différentes fonctions ont été décomposées en couches protocolaires. Après avoir posé les fondements des télécommunications et rappelé les bases de la transmission de l’information, cette unité d'enseignement détaille les deux premiers niveaux des réseaux, à savoir « physique » (bande passante, débit binaire, codage, …) et « liaison » (codes détecteurs, codes correcteurs, techniques d'accès, …). Les principaux protocoles correspondants sont également présentés. Une série de travaux dirigés et de travaux pratiques permet d’assimiler et d’appliquer les différents concepts étudiés.
Prerequisite :
[ISD] Représentation des connaissances et visualisation
Coordinator : Vernier Frédéric
L’enjeu de la représentation des connaissances est de permettre d’expliciter des connaissances humaines de toutes sortes dans un formalisme interprétable par une machine, i.e. lui permettant de raisonner sur ces connaissances pour remplir des tâches variées (recherche d’information, surveillance et diagnostic de systèmes complexes, …). Un formalisme de représentation doit être suffisamment expressif pour que l’homme puisse aisément modéliser et modifier toutes les connaissances utiles dans un domaine d’application donné, mais il doit aussi rendre possible la mise en œuvre par la machine de mécanismes de raisonnement vérifiant de « bonnes » propriétés (correction, complétude, coût raisonnable). Ce cours présentera différents formalismes de représentation de connaissances en mettant l’accent d’une part sur leur déclarativité (capacité à séparer les connaissances des algorithmes qui les utilisent, pour faciliter leur explicitation et leur modification par l’homme), leur expressivité (permettre de modéliser et de structurer des connaissances de différents types) et d’autre part, sur les algorithmes d’inférences permettant de mécaniser des raisonnements sur ces formalismes.
Prerequisite :
[ISD] Rapport d'activité
Coordinator :
Ce module vise à écrire un rapport sur les missions effectuées en entreprise. Une soutenance est prévue pour présenter des missions.
Prerequisite :
[ISD] Projets tuteurés
Coordinator : Jeannel Didier
Ce module vise à faire travailler les étudiants sur un ensemble de données. Il est en lien direct avec le module Machine Learning/Deep Learning.
Prerequisite :
[ISD] Projet étude de cas
Coordinator : Decelle Aurélien
Ce module vient en complément des modules "Introduction à l'apprentissage" et du module "probabilistés/Statistiques". Il vise à donner une étude de cas en lien avec ces deux modules.
Prerequisite :
[ISD] Programmation système et réseau
Coordinator : Zema Nicola
Ce module est une introduction aux réseaux ad-hoc sans fil sous GNU/Linux et au développement sur systèmes embarqués. Il forme les étudiants à la programmation système et réseau dans un environnement TCP/IP pour l'embarqué. Les étudiants y apprennent la manipulation d'un système GNU/Linux pour configurer et utiliser un réseau WiFi en mode ad-hoc, la compilation croisée (cross-compilation) pour le développement d'applications sur systèmes embarqués, ainsi que la mise en pratique d'algorithmes de la théorie des graphes pour optimiser l'utilisation d'un réseau dont la topologie est connue.
Prerequisite :
[ISD] Probabilités/Statistiques
Coordinator : Decelle Aurélien
Ce module est une introduction au langage des probabilités et à leurs applications aux statistiques. Le cours commencera par un rappel sur les probabilités et s'étendra sur des notions essentielles (loi des grands nombres, convergence, ...). Des applications seront vues en TP sur la compréhension des statistiques, l'utilisation des estimateurs et l'analyse de données.
Prerequisite :
[ISD] Politiques et concepts avancés en sécurité
Coordinator : Duchet Benjamin
Les sujets suivants seront traités : Outils de base pour la cryptographie (fonctions one-way - fonctions de hachage, systèmes symétriques et à clés publiques, certificats, distribution et gestion des clés), protocoles cryptographiques élémentaires, identification et authentification revisitées, techniques d'épreuves, nombres aléatoires, estampilles, exemples de protocoles, mots de passe à usage unique, introduction aux protocoles à connaissance 0, attaques basées sur les requêtes statistiques.
Prerequisite :
[ISD] outils pour la manipulation et l'extraction de données
Coordinator : Conchon Sylvain
Les données échangées sont souvent exploitées par les différents systèmes en fonction de représentation interne de chaque logiciel. Il est dont souvent nécessaire de produire des analyseurs syntaxiques et lexicaux pour manipuler ces données. Nous verrons dans ce cours comment construire des analyseurs en utilisant Lex et Yacc. Nous verrons également comment manipuler des textes avec sed et awk. Enfin, nous verrons également comment automatiser sous forme de script batch ou autres des tâches.
Prerequisite :
[ISD] Optimisation
Coordinator : Quadri Dominique
Le cours porte sur les sujets suivants : Bornes, optimalité et relaxation; problèmes d'affectation et de couplages, programmation dynamique, Branch and Bound.
Prerequisite :
[ISD] Modélisation
Coordinator : Zaïdi Fatiha
Dans ce cours, sont abordés les langages de modélisation tels que SDL, BPMN. Il s’agit de sensibiliser les étudiants à la nécessité de réfléchir à un problème posé avant de le programmer. Ces langages permettent de décrire des systèmes, des processus métier. BPMN permet de modéliser des processus non informatiques. Des choix devront être faits pour se concentrer sur l’analyse de ces systèmes. Ces choix porteront sur le niveau d’abstraction, les choix des interactions, des algorithmes. Les détails liés à l’implémentation seront laissés de côté pour la phase de conception.
Prerequisite :
[ISD] Modèles Mathématiques
Coordinator : Quadri Dominique
L’objectif de ce cours est de fournir un tour d’horizon des modèles mathématiques possibles. Ecriture sous formes mathématiques de problèmes réels prenant en compte le temps (modèles avec équations différentielles), des données certaines (programmes mathématiques linéaires et non linéaires en variables mixtes), des données incertaines (programmation robuste et stochastique), plusieurs décideurs (modèles à choix discrets).
Prerequisite :
[ISD] Mémoire
Coordinator :
A partir de son expérience, des enseignements reçus, de la mission à mener à bien en entreprise, l’apprenti effectue un travail de recherche personnel aboutissant à un mémoire qui devra être rédigé et présenté devant un jury en fin de cursus.
Prerequisite :
[ISD] Machine learning/Deep learning
Coordinator : Jeannel Didier
L'objectif de ce cours est de donner les bases indispensables en apprentissage automatique ou "Machine Learning": les principales familles de modèles et les algorithmes associés (inférence et apprentissage). En particulier, seront traités : (i) les bases théoriques de l'apprentissage, les modèles probabilistes et l'apprentissage Bayésien, (ii) les modèles linéaires et les SVM (Support Vector Machines).
Prerequisite :
[ISD] langages Dynamiques
Coordinator : Kim Nguyen
Dans ce cours, l’accent sera mis sur les langages dits dynamiques, c’est à dire des langages qui exécutent des actions au moment de l’exécution alors que d’autres langages les exécutent à la compilation. Des langages tels que Javascript, Python, PHP, Ruby seront étudiés. Des travaux pratiques permettront de mettre en œuvre les concepts liés à ces langages qui seront vus pendant le cours.
Prerequisite :
[ISD] IoT (Internet des objets)
Coordinator : Ammi Mehdi
L’Internet des objets représentent l'extension d'Internet à des dispositifs et à des lieux du monde physique. Il est considéré comme la troisième évolution de l'Internet, baptisée Web 3.0 qui fait suite à l'ère du web social. On parle d’objets connectés pour définir des types d’objets auxquels l’ajout d’une connexion Internet a permis d’apporter une valeur supplémentaire en termes de fonctionnalité, d’information, d’interaction avec l’environnement ou d’usage. Ce module présente le concept d'objets et de l’IoT, les fonctionnalités et technologies de communication, la mise en réseau et les architectures dédiées, les domaines d'application et nouveaux services, la standardisation et le lien entre l’IoT et le le Big Data.
Prerequisite :
[ISD] Extraction et programmation statistique de l'information
Coordinator : Lavergne Thomas
De nombreuses applications sont confrontées avec une grande quantité d'informations numériques qui nécessitent un traitement statistique. Cet enseignement présente les principales techniques d'analyse et d'interprétation de données numériques telles que la séparation linéaire, la classification Bayesienne, le regroupement automatique et les réseaux connexionnistes. La deuxième partie de cet enseignement présente des algorithmes qui sont utilisés en traitement du langage parlé et en reconnaissance de geste ou d'écriture. Après une introduction à la technique de la programmation dynamique, l'utilisation et l'apprentissage des modèles de Markov cachés seront traités en détail.
Prerequisite :
[ISD] Droit informatique
Coordinator : Bourlier Sylvie
Cours sur le droit informatique, la rgpd.
Prerequisite :
[ISD] Data Warehouse II
Coordinator : De Lassence Grégoire
Ce cours est la suite du cours Data Warehouse I. Il met plus l'accent sur les ETL.
Prerequisite :
[ISD] Data Warehouse I
Coordinator : Groz Benoît
Ce module couvre les technologies des BD relationnelles permettant de transformer des données issues de sources diverses en informations utiles à la prise de décision. Nous aborderons en particulier: - modélisation: au niveau conceptuel (modèles multidimensionnels) et niveau logique (schémas en étoiles...) - le langage SQL et les optimisations de bases de données pour les requêtes OLAP: indexes, partitionnement et vues - l'architecture des entrepôts - les processus ETL (rapidement) - les grands principes des bases de données 'in memory' Pré-requis (couvert par le programme de Licence) : - programmation en Java - BD relationnelles : schéma et notions associées (clé primaires, clé étrangères, contraintes, …), requêtes en SQL et mises à jour.
Prerequisite :
[ISD] Data Lake
Coordinator : Wehbi Bachar
Ce module a pour objectif de présenter les nouveaux outils du domaine du Big Data. Il permettra de comprendre les solutions de stockage de données volumineuses et d’en faire des analyses. Il abordera quelques aspects préliminaires de la programmation distribuée ou Hadoop permettra de manipuler des données volumineuses pour aider à la prise de décision. Les étudiants verront également comment interroger de grandes masses de données en temps réel.
Prerequisite :
[ISD] Communication
Coordinator : Sexton Catherine
L’objectif de ce cours est de donner d’une part les bases de la recherche scientifique : processus et méthodologie de la recherche scientifique, méthode de recherche bibliographique et sources bibliographiques scientifiques, principes de standardisation, étude et analyse de documents scientifiques et technologiques et d’autre part de présenter les principes de la communication et de l’information auprès des différents participants concernés par les projets menés.
Prerequisite :
[ISD] Cloud Computing
Coordinator : Fadda Frédéric
L’objectif de ce cours et d’apprendre à créer et déployer des applications Cloud. Le cours couvre les aspects suivants : Définition et types de cloud (cloud privé, public, hybride), modèles de services du cloud (SaaS, PaaS, LaaS), risques et opportunités du cloud (gestion de la sécurité, accès instantanés à des ressources de calcul et de stockage (élasticité), création et déploiement d’applications (Google Cloud, Amazon, Azure, ….)
Prerequisite :
[ISD] Blockchain
Coordinator :
Ce cours combine des notions sur les marchés financiers (monnaies numériques, services bancaire, systèmes monétaires) et les concepts fondamentaux du développement des blockchains : architectures des systèmes distribués, consensus distribués, cryptographie, smart contracts.
Prerequisite :
[ISD] Anglais
Coordinator : Farzad Mithra
Le cours a pour but d’amener les apprentis à améliorer leurs compétences que ce soit à l’écrit et à l’oral. Les contenus abordés portent sur le monde du travail en général et le vocabulaire spécifique au domaine des systèmes d’information. Une préparation au TOEIC est également prévue.
Prerequisite :
[ISD] Anglais
Coordinator : Farzad Mithra
Le cours a pour but d’amener les apprentis à améliorer leurs compétences que ce soit à l’écrit et à l’oral. Les contenus abordés portent sur le monde du travail en général et le vocabulaire spécifique au domaine des systèmes d’information. Une préparation au TOEIC est également prévue.
Prerequisite :
[ISD] Algorithmique distribuée
Coordinator : Burman Janna
Dans ce cours, il s’agira de concevoir et analyser des algorithmes distribués. Ce cours se basera sur les concepts de théorie des graphes étudiés en M1. Nous étudierons également la preuve de correction de ces algorithmes. Nous verrons comment comprendre les problématiques des systèmes distribuées, les différents algorithmes (élection, consensus, diffusion, …). Les solutions à ces problèmes seront étudiées ainsi qu’une application à différents problèmes.
Prerequisite :
[ISD] Algorithmique avancée
Coordinator : Hivert Florent
L’objectif de ce cours est de fournir des outils et techniques algorithmiques de pointe aux apprentis. Etude de l’algorithmique sur les graphes (plus court chemin, tri topologique, …), les techniques de mémoisation, de programmation dynamique et de backtraching. Présentation de la notion de flots et des algorithmes de calcul de flot maximal. Enfin, les thèmes des algorithmes online et approchés seront abordés.
Prerequisite :