Semestre 1

Cette unité d'enseignement est composée de 3 cours :
  • Anglais scientifique et professionnel
    • Pré-requis : niveau B1 du cadre européen (niveau lycée système éducatif français). Mise en place de 2 groupes de besoins (avancés et intermédiaires).
    • Oral : Prise de parole guidée (présentations / exposés scientifiques, compte-rendu de stage, restitution de documents audiovisuels, ateliers de prononciation en laboratoire de langues)
    • Ecrit : E-learning ; traduction et interprétation de documents écrits récents et authentiques (fiches techniques, presse scientifique). Les supports proposés aux étudiants contiennent un vocabulaire spécifique à la filière que les étudiants doivent maitriser en fin d'année universitaire.
  • Gestion de projet
    • Notions de base de la gestion de projet :
      • notion de projet,
      • management des projets comme une des 3 formes de management,
      • les acteurs du projet, le vocabulaire de la gestion de projet, cycles en V et W, bref survol des documents de gestion de projet.
    • L’Agilité:
      • manifeste Agile, les méthodes Agiles : eXtrem Programming, Kamban
      • la méthode Agile Scrum
      • pratique de SeeNowDo
      • mise en pratique de l’Agilité dans les projets écoles : Gala, Coding gouters, Manifestations diverses : Fête de la science, Coupe Robotique, Portes ouverte, Entrepreneurial 4 coding (similaire à Junior Entreprise) et TER.
  • Communication
    Construction par l’étudiant d’une stratégie de communication professionnelle en fonction de son projet. Techniques argumentatives ; la communication professionnelle ; savoir se présenter à l’oral.
Cette unité d'enseignement est composée de 2 cours (parcours SD uniquement) :
  • Optimisation
    • Rappels de calcul différentiel
    • Définitions / Taxonomie des problèmes d’optimisation
    • Optimisation sans contraintes, méthodes de descente : Gradient, Newton, Gradient conjugué
  • Statistiques et analyse de données
    • Statistiques inférentielles avancées (suite L3)
    • Clustering
    • Analyse en composantes principales
    • Analyse discriminante
Cette unité d'enseignement est composée de 2 cours (parcours GIME uniquement) :
  • Temps réel embarqué
    • Mécanismes fondamentaux, Modélisation conception d’applications temps réel
    • Ordonnancement de tâches périodiques indépendantes, apériodiques, dépendantes, Ordonnancement en situation de surcharge, Ordonnancement multiprocesseur
    • Application temps réel (automobile, avionique, médical...)
  • Système d'exploitation
    • Linux comme système embarqué, Méthodologie de création d’un système Linux embarqué, Implémentation des fonctionnalités dans un micronoyau Linux
    • Généralités sur les processus; gestion des processus
    • Gestion des signaux, Gestions de processus légers (thread)
Cette unité d'enseignement est composée de 2 cours :
  • Web des données :
    • XML et Concepts de base
    • DTD - XMLSchéma
    • XPath
    • XSLT
    • XQuery
    • BDDXML
    • DOM - SAX
    • Vers le Web des données
    • Modèle de données RDF
    • Langage de requête SPARQL
    • Ontologies et RDFS
    • Formalisation en OWL
    • VoID, DCAT, PROV, LDP, RIF
  • Programmation Orientée Objet
    • Conception d'interfaces graphiques utilisateur (GUI pour graphical user interface) en Java: Principaux patrons d'architecture et de conceptions dédiés à la réalisation de GUI (Présentation-Model, Model-View-Controller, Model-View-Adapter)
    • Principes de bases de la programmation de GUI avec Java (notions de conteneurs, layout, listeners)
    • Mise en oeuvre de ces principes avec la librairies JavaFX
Cette unité d'enseignement est composée de 3 cours (parcours SD uniquement) :
  • Représentation des données
    • Pré-traitement des images / des signaux / des textes, Extraction de caractéristiques image/signal/texte, Représentation séquences/graphes
    • Compression des données
    • Apprentissage automatique 1
  • Compression des données
    • Introduction à la théorie de l’information
    • Méthodes statistiques
    • Méthodes de compression avec mémoire
  • Apprentissage automatique 1
    • Taxonomie et formulation générale des problèmes d’apprentissage (classification/regression, supervisé/non supervisé, sélection d’attributs, applications…)
    • Propriétés de machines d’apprentissage (évaluation/overfitting/validation/protocoles, sélection de modèles…)
    • Théorie bayésienne de la décision, théorie de la décision avec coûts
    • Estimation de gaussiennes, Naive Bayes, estimateur de Parzen, KNN, arbre de décision, séparation linéaire SVM linéaire, MLP
Cette unité d'enseignement est composée de 3 cours (parcours GIME uniquement) :
  • Représentation des données
    • Pré-traitement des images / des signaux / des textes, Extraction de caractéristiques image/signal/texte, Représentation séquences/graphes
    • Compression des données
    • Apprentissage automatique 1
  • Méthodes numériques pour l'embarqué
    • Représentation d'état des systèmes continus
    • Discrétisation des équations d'état
    • Commande des systèmes dans l'espace d'état
    • Observateur d'état
    • Filtrage de Kalman
  • Génie des systèmes embarqués 1
    • SysML: Conception de systèmes complexes
    • Norme et modèles pour l'embarqué
Cette unité d'enseignement est composée de 2 cours :
  • Maîtrise de projets informatique : Analyse, conception, dossiers de spécification, cahier des charges, livrables. Types de plans de développement, cycles de vie ; Langage de modélisation
  • Projet tutoré

Semestre 2

Cette unité d'enseignement est composée de 3 cours :
  • Anglais
    • Oral : Prise de parole guidée (présentations / exposés scientifiques, compte-rendu de stage, restitution de documents audiovisuels, ateliers de prononciation en laboratoire de langues)
    • Ecrit : Méthodologie de la compréhension et l'expression écrites ; entraînement aux certifications B2 Anglais (CLES, TOEIC).
  • Management d'équipe
    Management des organisations, Stratégie industrielle, Leadership
  • Connaissance de l'entreprise et insertion professionnelle
    • Les RH en entreprise : temps de travail, les contrats de travail, la représentation du personnel
    • Le recrutement du point de vue du recruteur/du recruté
    • Simulation d’entretien d’embauche
Cette unité d'enseignement est composée de 2 cours (parcours SD uniquement) :
  • Optimisation pour l'apprentissage
    • Levenberg-Marquaardt
    • Franck Wolf
    • Proximal
  • Optimisation combinatoire
    • Problèmes usuels d'optimisation combinatoire, modélisation
    • Programmation dynamique
    • Branch & Bound
    • Méthodes heuristiques (méthodes constructives, recherche locale)
    • Recuit simulé
    • Algorithmes évolutionnaires
    • Introduction à l'optimisation multi-objectif
Cette unité d'enseignement est composée de 2 cours (parcours GIME uniquement) :
  • Web pour le mobile
    • Introduction à la conception d'application web pour les terminaux mobiles (Mobile First)
    • Rappels/Bases des technologies web clientes (HTML5, CSS3 et JavaScript)
    • Responsive Web Design
    • JavaScript et frameworks mobile
  • Programmation mobile
    • Initiation à la programmation mobile
    • Les différents OS mobile et leur philosophie
    • Principes et contraintes du développement mobile (Mémoire, CPU, compilation croisée, etc)
    • Programmation orientée IHM (Réactive, Événementielle, MVC)
    • Premiers pas avec Java Android :
      • Outils pour la programmation Android (SDK Android, Android Studio, etc)
      • Concepts de bases de la programmation Java Android (Activity, View, Intents)
Cette unité d'enseignement est composée de 2 cours (parcours SD uniquement) :
  • Architecture HPC (High Performance Computing) / Parallélisme
    • Architecture des machines parallèles
    • Méthodes et outils pour l'optimisation de performances
    • Parallélisation MPI
    • Applications en python
  • Base de données réparties et systèmes distribués
    • NoSQL
    • eXIST DB, MongoDB
    • Framework Hadoop + Hive + HBase
    • Serveur relationnel Oracle
    • CouchBaseServer
Cette unité d'enseignement est composée de 3 cours (parcours GIME uniquement) :
  • Architecture HPC (High Performance Computing) / Parallélisme
    • Architecture des machines parallèles
    • Méthodes et outils pour l'optimisation de performances
    • Parallélisation MPI
    • Applications en python
  • Génie des systèmes embarqués 2
    • Application et prototypage d'un système embarqué
    • Analyse, mesure et vérification
  • Réseaux de capteurs
    • Structures et technologies pour l’embarqué (parallélisme, ASIC, DSP, Soc, ARM ; algorithmie parallèle)
    • Capteurs : Notions de mesure et de capteur, Caractéristiques en régime statique et dynamique, Conditionnement et électronique de mesure, Conversion numérique, Transport, perturbations, protection ; Isolation des signaux ; capteurs et actuateurs spécifiques : (biomédicaux, vision optique/IR, US, tactile, IMU, GPS).
    • Mise en œuvre d’un système d’acquisition
Cette unité d'enseignement est composée de 3 cours (parcours SD uniquement) :
  • Vision par ordinateur
    • Formation d’images (bases de radiométrie; capteurs; modèles géométriques de cameras (projectif et affine); modèle photométrique; étalonnage de caméras; transformations géométriques de base)
    • Vision à partir d’une image (filtrage, Transformée de Fourier, détection de caractéristiques : régions, points caractéristiques), recherche de motifs; techniques de base (corrélation normalisée, pyramides d’images, PCA))
    • Vision à partir de plusieurs images (perception de profondeur; rectification, appariement d’images 2D (dense & éparse))
    • Segmentation basée modèle (transformée de Hough; moindres-carrés; M-estimateur; méthode Ransac)
  • Apprentissage automatique 2
    • Régression : interprétation et géométrie, notion de biais, biais-variance, régularisation
    • Régression logistique et modèle linéaire généralisé
    • SVM linéaire, SVM non-linéaire, kernel trick
    • Machine à noyau : application à l'ACP et aux k-moyennes
    • Théorie de l'apprentissage, généralisation, borne de généralisation, dimension VC
    • Une introduction à l'apprentissage par renforcement
    • Sélection de modèle et mesures (ACC, AUC, F-measure)
  • Visualisation de données
    • Clustering
    • SNE/TSNE/MDS
    • Variétés
Cette unité d'enseignement est composée de 2 cours (parcours GIME uniquement) :
  • Vision par ordinateur
    • Formation d’images (bases de radiométrie; capteurs; modèles géométriques de cameras (projectif et affine); modèle photométrique; étalonnage de caméras; transformations géométriques de base)
    • Vision à partir d’une image (filtrage, Transformée de Fourier, détection de caractéristiques : régions, points caractéristiques), recherche de motifs; techniques de base (corrélation normalisée, pyramides d’images, PCA))
    • Vision à partir de plusieurs images (perception de profondeur; rectification, appariement d’images 2D (dense & éparse))
    • Segmentation basée modèle (transformée de Hough; moindres-carrés; M-estimateur; méthode de Ransac)
  • Réseaux et protocoles
    • Introduction aux réseaux; modèle OSI, rôle des couches; le protocole TCP/IP, IPv4 et les bases d'IPv6; les protocoles associés à TCP/IP; adresses MAC / IP; la notion de port; les services sur numéros de port réservé
    • Client-serveur : principes
    • DNS : principe et mise en œuvre; commande nslookup et dig
    • Une première application client-serveur : telnet
    • La notion de socket et son lien avec les descripteurs de fichiers; les premières fonctions de gestion des sockets (socket, connect, bind, htons,...). Exemple d’initialisation d’une socket; gestion des messages : send, sendto, recv, recvfrom read, write,... fonctions auxiliaires; premier exemple de communication en mode non connecté : commande écho; retour sur client/serveur : listen, accept ; retour sur exemple serveur d'écho. Gestion des sockets (suite) : getsockname, getpeername, inet_ntoa, getsockopt, setsockopt, getdomainname
    • Retour sur DNS + fonctions res_query, et telnet + rlogin et ssh
    • Les services basés sur les RPC et XDR
    • SMTP : Principe de base + exemple de prog + extension mime
    • Les routeurs et les protocoles associés : RIP EIGRP, OSPF, le multicast
    • Le spanning tree
    • Les ACCES LIST
    • La qualité de services
    • Le protocole IPv6
    • Le protocole PPPoE
Cette unité d'enseignement est composée de 2 cours :
  • Normes et qualité
    • Les concepts de la Qualité des produits industriels
    • Normalisation, certification, accréditation
    • Notion d'audits
    • Les "outils" de la Qualité
    • Méthodes de résolution de problèmes
    • Analyse des Modes de Défaillance, de leurs Effets et de leur Criticité
    • Maîtrise statistique des procédés
    • Hygiène, Sécurité, Environnement
    • Notion de projets
  • Projet tutoré

Semestre 1

This teaching unit includes 2 courses
  • English
  • Professional integration and corporate culture
This teaching unit includes 3 courses
  • Sequential data analysis
    This lecture introduces the basic knowledge as well as advanced deep learning techniques for learning from sequences of objects (signal, video, text). Topics related to Hidden markov models, conditional random field, recurrent neural network, bidirectional long short time memory networks.
  • Graph analysis
    1. Introduction & definitions
      1. Introduction on graph theory
      2. Definitions and types of graphs
      3. Data structures and representations
    2. Algorithms on graphs and trees
      1. Graph traversal algorithms
      2. Minimum spanning tree problem
      3. Shortest path problem
    3. Graph and subgraph isomorphism
      1. Definitions
      2. Algorithms for subgraph isomorphism
    4. Graph Matching Algorithms
      1. Exact algorithms
      2. Error-tolerant algorithms
    5. Graph Edit Distance
      1. Definition and notations
      2. Exact approaches
      3. Approximations
    6. Graph classification
    7. Nearest Neighbor / Nearest Prototype Classifier
    8. Explicit Graph Embeddings
      1. Generating/Counting Patterns
      2. Distance-based / Spectral-based embeddings
    9. Graph Kernels
      1. Path/walk based kernels
      2. Subtree kernels
  • Estimation and decision in signal processing
    The goal of this course is to study of machine learning paradigms that can address estimation and decision question arisen in Signal Processing
    • Random signal, Markov Process, Kalman filter
    • Particular filter, Least Mean Square
    • CUSUM
This teaching unit includes 2 courses
  • Medical image processing
    The goal of this course is to introduce students to the current state of knowledge in medical imaging. This includes low-level techniques for image acquisition to recent machine learning approaches.
    • Principles of medical imaging acquisitions (MRI, PET/CT, X-Rays, Ultrasound, etc )
    • Image feature extraction methods (texture analysis, shape models, etc.)
    • Segmentation methods for medical images (statistical and fuzzy methods, graphed based methods, deformable contour models, multi-modal image fusion)
    • Programming software to solve certain problems in medical imaging by methods presented in the course.
  • Computer vision
    The goal of this course is to introduce mathematical methods and tools for object vision and tracking in 3D scenes
    • Sensors, geometry and calibration
    • 3D geometry, homographies, Stereo, fundamental matrix
    • Dense and sparse pairings
    • Indoor and outdoor navigation (passive sensors)
    • Filtering (Kalman, EKF, unscented and particle)
    • Tracking
This teaching unit includes 2 courses
  • Deep learning
    The course is intended to introduce deep learning methods and optimization algorithms. Models that will be covered are:
    • Neural Networks, CNN
    • Auto-encoders
    • GAN
    • Recurrent neural networks, BLSTM
  • Reinforcement learning
    • Bandits
    • Markov Decision Process
    • Policy and value functions, Bellman equations
    • Policy evaluation and policy control
    • Monte Carlo methods, Temporal Difference
    • Value-Function Approximation
This teaching unit includes 2 courses
  • Data compression
    1. Elements of information theory
      1. Introduction
      2. Notion of information
      3. Probabilistic notion of information
      4. Information mutual information
      5. Entropy and Mutual Information of random variables
      6. No creation information principle
      7. Markov chain
      8. Relative Entropy : Kulback-Leibler divergence
    2. Transmission Canal
      1. Introduction
      2. Modelisation of a binary symetric transmission canal
      3. Transmission canal capacity
      4. Second Shannon's theorem
    3. Source codingCanal
      1. Problem setting
      2. Kraft-McMillan inequality
      3. Optimal coding
      4. First Shannon's theorem
      5. Message redundancy
      6. Shannon Fano code
      7. Huffman code
      8. LZW
      9. Arithmetic coding
  • Sparse coding
    The objective of this course is to present machine learning theory and algorithms for high-dimensional statistical machine learning and for matrix factorization. The lectures will cover the following topics:
    • Non-smooth optimization ( sub-gradient)
    • sparse regression
    • proximal algorithm for optimisation
    • Matrix factorization and dictionary learning
This teaching unit includes 2 courses
  • Fusion and multi-modality
    The course is intended to give the students a fairly comprehensive view of fundamentals and techniques for combininig multiple classifiers or machine learning models.
    • Multiple Classifiers Systems (motivation, terminology, applications, taxonomy of fusion methods: sequential, parallel, hybrid architectures)
    • Combining/fusion operators (class-based, rank-based, measure based; parametric, non parametric; stacking)
    • Ensemble of classifiers (diversity in ensembles, cross-validated committees, bagging, boosting, random subspaces, ECOC, random forests and variants)
  • Interaction data analysis
    The goal of this series of lessons is to acquire the essential knowledge to understand automatic and semi-automatic analysis of data collected from Human-Machine Interaction and Human-Human (mediated) interaction. The results of such analysis should be exploited for developing applications that allow intuitive interactions according to the user and to the context. The concepts, consisting in symbolic and statistic data-mining and machine learning models, are illustrated with advanced Human-Machine interactive systems exhibiting proactive behaviours and/or adapted information presentation even without any explicit user request.
    • Automata
    • Interaction Data Representation
    • Textual Interaction Analysis
    • Seq2seq chatbots
    • Social Network Analysis

Semestre 2

This teaching unit includes 2 courses
  • Text analysis and information retrieval
    • Part I
      1. Introduction : Definitions, Tasks on textual data
      2. Information retrieval : Boolean model, Vector model (Bag of words), Probalistic models, Text processing (segmentation, normalization), Performance evaluation in IR, User interactions (query rephrasing, relevance feedback...)
      3. Document classification / Text extraction : Supervised / Unsupervised document classification, Information extraction (Regular expressions, Named entities...), Part of Speech Tagging, Chunking, Parsing
    • Part II.
      1. Vector representation of text : bag of word, LSA, Glove, Text representation learning with neural networks, Word2Vec, FastText
      2. Text classification : Bayesian models, logistic regression, document embeddings, Doc2Vec, Convolutional neural networks for text
      3. Language models : Markov models, smoothing, recurrent neural networks, applications of language models
      4. Machine Learning in practice : how to conduct a ML project.
  • Image retrieval
    The course is intended to introduce to the students machine learning algorithm related to information retrieval and image retrieval from content. The lectures will cover:
    • An introduction related to the problem and some basic principles
    • Techniques for image representations
    • Background on similarity measures and similarity functions
    • Advanced image retrieval concept related to scalability
    • recent deep learning approaches
This teaching unit includes 2 courses
  • Data security
    Cryptology is usually called the science of secret. This course will give the fundamental notions underlying the design of secure cryptographic primitives such as those which ensure confidentiality, authentication, integrity and pseudo-random generation.
    • Security model
    • Symmetric encryption
    • Algorithmic number theory
    • Public-key encryption
    • Authentication protocols
    • Data integrity
    • Digital Signature
    • Zero-Knowledge protocols
  • High performance computing
    • Shared memory parallelization model with openMP
    • Task parallelization with openMP
    • Introduction to vector computing and GPU computing
    • OpenMP parallel programming
    • GPU programming python+cuda
This teaching unit includes 1 course and a research project in a laboratory
  • Selected applications of data analysis
  • Data science projet in laboratory
This teaching unit consists in a full-time internship in data science.

Semestre 1

Cette unité d'enseignement est composée de 2 cours (en anglais):
  • English
  • Professional integration and corporate culture
Cette unité d'enseignement est composée de 2 cours :
  • Programmation mobile avancée
  • Interactions entre terminaux mobiles
Cette unité d'enseignement est composée de 2 cours :
  • Vision embarquée
  • Computer Vision
Cette unité d'enseignement est composée de 2 cours :
  • Programmation mobile hybride
  • Web avancé pour le mobile
    • Architectures des applications web coté serveur (N-tiers, MVC, etc.)
    • Écosystème JavaEE (Servlet, JSP, Beans, JAX-RS)
    • Framework JavaEE avec emphase sur le développement d'applications web à destination des terminaux mobiles
Cette unité d'enseignement est composée de 2 cours :
  • Programmation temps réels
  • Bases de données embarquées

Semestre 2

Cette unité d'enseignement est composée de 2 cours :
  • Systèmes intelligents embarqués
  • Objets connectés et internet des objets
Il s'agit d'un projet de fin d’étude d’envergure effectué en équipe.
Stage en entreprise dans le domaine des nouvelles technologies. Son objectif : être un tremplin vers le monde professionnel pouvant aboutir à une embauche.