Droit de l'Informatique

Professeur :  Maïtre Alain BENSOUSSAN

Objectif :

L’objectif de l’enseignement est d’aborder les éléments légaux et jurisprudentiels en rapport avec les technologies de l’information et de la communication.

Contenu :

  • Contrats informatiques : principes généraux
  • Contrats informatiques : approche sectorielle
  • Fraude informatique
  • Informatique et Libertés
  • Internet
  • Preuve et commerce électronique
  • Protection et propriété des logiciels
  • Responsabilité des DSI, RSSI et administrateurs réseaux
  • Sécurité des réseaux
  • La liberté numérique

Organisation :

Cours magistral : 21 heures

Evaluation sous forme d’examen écrit : 3 heures

Intelligence Artificielle

Professeur : Jean-Philippe POLI

Objectif :

Des appareils commandés par la voix, des véhicules sans pilote, des ordinateurs champions du monde de jeux de société... L'intelligence Artificielle (IA) a cessé de n'exister que dans les films de science fiction. Même s'il s'agit d'une science toute jeune, les algorithmes d'IA sont sortis des laboratoires de recherche pour conquérir l'industrie en résolvant des problèmes toujours plus nombreux: l'optimisation logistique, la vérification de conformité, la surveillance et l'aide à la décision en sont des applications phares.

Ce cours est une introduction à l'IA et a pour but de présenter différentes familles d'algorithmes et de méthodes. L'objectif du module est de permettre aux élèves d'identifier la famille d'algorithmes la plus adaptée aux problèmes auxquels ils sont confrontés et leur donner les bases et le vocabulaire nécessaires à la compréhension des algorithmes de l’état de l’art.

Contenu :

Le cours débutera par une brève chronologie, un résumé des différents courants de pensée et une tentative de définition de l’intelligence artificielle depuis différents points de vue (biologique, informatique, psychologique…).

Nous aborderons durant le module la notion d’agent intelligent et de modélisation multi-agents. Nous nous intéresserons aux différents algorithmes de recherche de solution afin d’établir une carte des différentes approches : recherche de solution avec heuristiques, résolution de contraintes, recherche adversariale. 

Enfin, le cours se terminera sur la notion de représentation et d’inférence de connaissances exprimées en logique classique.

Organisation :

Les séances de 3 heures seront réparties en cours, dans lesquels les notions seront présentées, suivis de travaux dirigés pendant lesquels les élèves mettront en pratique les différents algorithmes. Quelques séances seront organisées en travaux pratiques durant lesquels les élèves développeront un logiciel « intelligent ». L’évaluation du module se fera au moyen de deux notes : d’une part un contrôle final afin de valider les acquis théoriques et d’autre part une compétition entre les différents logiciels réalisés en TP pour valider les acquis pratiques.

 

DaC: des Données à la Connaissance

Professeur : Céline HUDELOT, Maître de conférence, CentraleSupélec

Objectif :

Le but de ce cours est de familiariser les étudiants à la problématique et aux principales méthodes d'extraction de connaissances à partir de données. Avec l'augmentation de la puissance de calcul, la diminution du oût de stockage et l'explosion de la génération de données, c'est une problématique très actuelle qui s'inscrit dans la science des données. L'idée générale de toutes les méthodes est, à l'aide de techniques automatiques, de dégager de ces grandes quantités de données des morceaux de connaissances, des patterns qui noyés dans la masse des données peuvent pourtant se révéler extrêmement intéressants. On en trouve des applications en entreprise comme le scoring (banques), la dectection des fraudes, l'analyse des comportements consommateurs, mais aussi de plus en plus au niveau du grand public (réseaux sociaux, moteur de recherche, services de recommandation...).

Ce cours se focalisera plutôt sur les appoches algorithmiques dites d'apprentissage machine que sur les approches statistiques.

Le cours présentera les principaux algorithmes et leurs usages afin de permettre aux étudiants, à l'issue du cours, de savoir identifier la technique adéquate face à un problème à résoudre et de produire grâce aux outils du domaine des résultats commentés, évalués et validés. Sans être le fil directeur du cours, on abordera aussi le défi du traitement de données massives.

Contenu (24 heures) :

  • Introduction :
    • Data Mining, Data Science, Big Data Alalytics
    • Données
    • Principaux outils
  • Nettoyage et récupération des données.
  • Principaux algorithmes et leurs usages:
    • Régressions
    • Classification
    • Clustering
    • Règles d'association
    • Filtrage collaboratif
  • Réduction de la dimension
  • Evaluation

Positionnement:

Ce cours ne présentera pas les techniques d'apprentissage profond qui sont au coeur de l'électif Deep Learning.

Programmation parallèle: du Multithread au GPU

Enseignant: Pierre FRAIGNIAUD, CNRS et Université Paris Diderot

Objectif:

L'algorithmique parallèle a pour principal objet d'étude la conception d'algorithmes dédiés aux calculateurs disposant de plusieurs processeurs exécutant leurs instructions en parallèle, avec pour principal objectif un gain en performances (typiquement le temps de calcul nécessaire pour effectuer une certaine tâche de calcul). L'algorithmique distribuée a quant à elle pour principal objet d'étude la coordination d'un ensemble de calculateurs autonomes dans le but d'exécuter certaines tâches. Le parallélisme vise donc l'efficacité, alors que le distribué vise la gestion de l'incertitude liée à l'absence potentielle de mécanismes de coordination globale des entités de calcul.

Le cours Algorithmique Parallèle et Distribuée a pour but de présenter aux élèves un panorama des différents types de calcul parallèle et/ou distribué, en les regroupant en grandes familles de modèles, prenant en compte le medium de communication, la granularité du calcul, la présence potentielle de pannes, etc. Le cours présentera ainsi un ensemble de techniques de conception et d'analyse d'algorithmes parallèles et/ou distribués, et de calcul de bornes inférieures sur les performances pouvant être attendues de tels ou tels systèmes.

Les "machines" pour lesquelles les techniques introduites dans ce cours pourront s'appliquer sont de nature très diverses: des multiprocesseurs aux fermes de PC, des processeurs multi-coeurs à Internet, en passant par la gestion d'un "cloud" ou d'un centre de données. Par ailleurs, le domaine d'applications de l'algorithmique distribuée dépasse l'informatique, et les techniques issues de l'algorithmique distribuée ont été récemment utilisées pour analyser les capacités de systèmes biologiques comme les colonies de fourmis ou les ensemble cellulaires.

 

Contenu (24h):

Le cours sera principalement structuré en cinq grandes parties:


 

  • 1. Gestion de la localité dan sles réseaux,
  • 2. Gestion du flot de données,
  • 3. Structures de données distribuées,
  • 4. Gestion de l'asynchronisme,
  • 5. Algorithmes parallèles (algèbre linéaire, tri, "map reduce", etc.)

 

Organisation:

Le cours est organisé autour de 8 séances de 2 x 1h30, s'appuyant sur un poly distribué aux élèves en début d'option. L'évaluation prendra la forme d'un examen écrit.

 

Commande des Systèmes

Professeur : Maria MAKAROV, CentraleSupélec, Département Automatique

Objectif :

Ce cours a pour objectif de présenter les concepts et méthodes nécessaires à la résolution de problèmes avec toute la complexité liée aux problématiques industrielles, c'est-à-dire impliquant des systèmes multivariables, en présence de bruit et devant répondre à des spécifications contraignantes nécessitant un compromis. En particulier, les thématiques abordées dans ce cours concernent:

 

- L'estimation en présence de perturbations stochastiques: filtre de Kalman

- Les techniques de commande fondées sur l'optimisation: LQG, Hinfini

- La représentation et l'analyse de systèmes linéaires multivariables

 

Les notions présentées dans ce cours seront illustrées à travers des études de cas pratiques sous Matlab/Simulink.

 

Contenu (24 heures) :

 

Commande LQG

 

  • Commande par retour d'état - cas multivariables
    • Rappels sur la représentation d'état
    • Synthèse de la commande par retour d'état: approche par placement de structure propre, approche Linéaire Quadratique (LQ)
  • Observateurs en présence de perturbations stochastiques
    • Rappels sur l'observateur de Luenberger
    • Filtre de Kalman, filtre de Kalman asymptotique
  • Commande par retour d'état et observateur
    • Commande Linéaire Quadratique Gaussienne (LQG)
    • Marges de stabilité, commande LQG/LTR (Loop Transfer Recovery)
  • Commande Hinfini
    • Modélisation de systèmes multivariables par matrices de transfert, notion de gain
    • Systèmes multivariables en boucle fermée: spécifications, fonctions de sensibilité
    • Commande Hinfini

 

Organisation :

Le cours est composé de 7 séances de 3h. Les séances de cours magistral alternent avec des séances de TD sous Matlab-Simulink permettant d'illustrer les principes fondamentaux.

Un contrôle de 3h avec documents est effectué à la fin de ce cours.

Deep Learning

Enseignant: Hervé LE BORGNE, Ingénieur Chercheur, CEA LIST  

 

Objectif:  

Le but de ce cours est de familiariser les étudiants aux principes et méthodes de l'apprentissage profond (deep learning). Domaine en forte (re)croissance depuis dix ans, ces techniques d'intelligence artificielle ont permis d'améliorer significativement l'état de l'art dans plusieurs domaines tels que la reconnaissance de la parole, la vision par ordinateur ou la prise de décision assistée par ordinateur. Ces succès les ont fait connaître au-delà des spécialistes, et leur renommée a cru auprès du grand public, des journalistes, des décideurs politiques et économiques.   Le cours vise à donner une maîtrise théorique et pratique des bases du domaine. Concernant les aspects théoriques, il présentera les réseaux de neurones aritificiels et les méthodes addérentes, ainsi que deux des principales architectures de l'apprentissage profond, les réseaux convolutifs et récurrents. Il abordera aussi certains sujets à la pointe de l'état de l'art. Par ailleurs, le cours s'attardera sur la mise en pratiques des méthodes et présentera diverses applications dans des domaines variés (vision, langage, parole, décision...).    

Contenu (24 heures):  

  • Introduction:
    • Défis et applications de l'intelligence artificielle,
    • Histoire du deep learning et des réseaux de neurones,
    • Pré requis théoriques (algèbre, statistique et théorie de l'information),
    • Principaux environnements de développements.
  • Apprentissages automatique et optimisation numérique.
  • Notions de base des réseaux de neurone: architectures
    • Neurone formel, perceptron,
    • Régularisation,
    • Apprentissage des modèles.
  • Principaux réseaux:
    • Réseaux convolutifs,
    • Réseaux récurrents.
  • Mise en pratique et applications.
  • Sujets avancés en deep learning.
  • Evaluation.

 

Positionnement (pré requis):

Ce cours nécessite une bonne maîtrise l'algèbre linéaire et des probabilités et statistiques. Il est aussi nécessaire d'être à l'aise avec un environnement informatique (linux, max OX...) et un langage de programmation (C++, Python, lua...) pour les mises en pratique et le projet.

 

Organisation:

Le cours comportera des parties théoriques et pratiques. L'évaluation consistera en un projet (50%) et un contrôle écrit final (50%). Le projet comportera un rapport et des programmes. 

 

Enseignant: Hervé LE BORGNE, Ingénieur Chercheur, CEA LIST

 

  • Introduction:
    • Défis et applications de l'intelligence artificielle,
    • Histoire du deep learning et des réseaux de neurones,
    • Pré requis théoriques (algèbre, statistique et théorie de l'information),
    • Principaux environnements de développements.

 

  • Apprentissages automatique et optimisation numérique.

 

  • Notions de base des réseaux de neurone: architectures:
    • neurone formel, perceptron,
    • Régularisation,
    • Apprentissage des modèles.

 

  • Principaux réseaux:
    • Réseaux convolutifs,
    • Réseaux récurrents.

 

  • Mise en pratique et applications.

 

  • Sujets avancés en deep learning.

 

  • Evaluation.

 

Positionnement (pré requis):

 

Ce cours nécessite une bonne maîtrise de l'algèbre linéaire et des probabilités et statistiques. Il est aussi nécessaire d'être à l'aise avec un environnement informatique (linux, max OX...) et un langage de programmation (C++, Python, lua...) pour les mises en pratique et le projet.

 

Organisation:

 

Le cours comportera des théoriques et pratiques. L'évolution consistera en un projet (50%) et un contrôle écrit final (50%). Le projet comportera un rapport et des programmes.

 

 

 

 

Cryptographie

Professeur : Jacques PATARIN, professeur à l'Université de Versailles-Saint-Quentin (UVSQ)

Objectif :

Introduire les principaux concepts et algoritmes de la Cryptographie moderne.

En particulier, les élèves verront les principaux buts de la cryptographie (authentification / signatures / chiffrement), la différence entre cryptographie à clé publique et cryptographie à clé secrète, et quelques unes des principales idées découvertes depuis 1976 dans le domaine. Au niveau des attaques on distinguera les grandes classes d'attaques modernes (KPA, CPA-1, CPA-2, CCA, Cryptanalyses linéaires, algébriques et différentielles, attaques par canaux auxiliaires).

Contenu (24h) :  

  • Partie 1: Résumé d'Algèbre pour la Cryptographie

                                           

                                            1a: Algèbre dans Z/nZ, théorème des restes chinois, de Bezout,

                                            1b: Théorèmes sur les groupes finis,

                                            1c: Corps finis et courbes elliptiques.

 

  • Partie 2: Cryptographie à clé secrète

                                            

                                            2a: Qu'est-ce que la Cryptographie?,

                                            2b: Le One-Time-Pad,

                                            2c: Les schémas de Feistel,

                                            2d: Les grandes techniques de Cryptanalyse à clé secrète,

                                            2e: L'AES,

                                            2f: Les fonctions de Hashage.

 

  • Partie 3: Cryptographie à clé publique

                                           

                                            3a: Le Diffie-hellman et le problème du logarithme discret,

                                            3b: Le RSA et le problème de la factorisation,

                                            3c: Le Zero-Knowledge,

                                            3d: Les courbes Elliptiques,

                                            3e: Schémas à base de Hash.

 

  •  Partie 4: Cryptanalyse

                                       

                                            4a: Cryptanalyse mathématique,

                                            4b: Attaques par canaux auxiliaires.

  Organisation :

Un poplycopié sur la cryptographie à clé publique sera distribué aux élèves, ainsi que plusieurs articles.

 

Vision par Ordinateur

Professeur : Céline HUDELOT, Maître de conférence

Objectif :

Le but du cours est de présenter les grands principes de la vision par ordinateur. Il fournit une vue d’ensemble des différents aspects liés à ce domaine, autant dans les algorithmes existants que la recherche actuelle. 

En plus des techniques existantes, les étudiants sont amenés à réfléchir sur les difficultés liées à ce domaine. 

A la fin du cours, les élèves doivent être capables de comprendre le fonctionnement et les performances d'un système de vision donné.

Contenu (24h) :

  • Introduction et besoin industriel
  • Vision humaine / Vision artificielle
  • Extraction de caractéristiques- Filtrage:

                                                                           * Approche contours

                                                                           * Approche régions

                                                                           * Points d’intérêts

  • Reconnaissance 2D/3D
  • Mouvement
  • Vision tridimensionnelle.

Organisation :

Chaque séance de cours de 3 heures sera divisée en deux parties de 1h30 chacune. La première partie est consacrée à la théorie (cours magistral) tandis que la deuxième partie portera sur des travaux pratiques à l’aide de la bibliothèque OpenCV.  

L’évaluation du cours portera sur les travaux pratiques et sur un contrôle écrit.  

ERP/CRM

Professeurs : Philippe BOUTIN - Enseignant ECP

                    Noël BOUFFARD et plusieurs intervenants de SOPRA Group

Objectif :

Les ERP (PGI : Progiciels de Gestion Intégrée) constituent un des composants majeurs du SI de nombreuses entreprises. L’électif apporte un panorama des principaux acteurs de ce marché, les bonnes pratiques pour la mise en œuvre de ces logiciels et une mise en pratique sur une étude de cas concrète.

Contenu :

  • Description du marché des ERP avec enjeux, offres, domaines fonctionnels couverts, architectures. Zoom sur la solution SAP
  • Présentation détaillée de l'approche méthodologique générale de mise en œuvre,
  • Focus sur les principales étapes d'un projet ERP, avec retours d'expérience sur des projets réels
  • Etude de cas finale : 3 demi-journées + soutenance (par groupes de 3 ou 4 élèves).

Une entreprise fictive type PME sera présentée. Le but est de doter cette entreprise d’un ERP.

Le groupe d’élèves sera divisé en sous groupes chargés des processus suivants :

  • Gestion des factures entrantes et sortantes ainsi que des bons de commandes (clients et fournisseurs).
  • Gestion de la production (stocks, fabrications …)
  • Gestion du personnel (feuilles de temps, projets …)

Chaque sous-groupe travaillera sur la mise en œuvre de ses processus. Une étude  de faisabilité sera aussi demandée sur « l’ouverture » de l’ERP :

  • Commandes en ligne
  • Fournisseurs.

Organisation :

Le cours est basé sur les retours d’expérience des consultants de SOPRA Group et sur une étude de cas réelle qui permet de manipuler concrètement des données et de se confronter aux difficultés de sa mise en œuvre.

 

Ingénierie logicielle des systèmes temps réel embarqués

Professeur : Shebli ANVAR

Objectif :  

Ce cours a pour objectif de familiariser les élèves-ingénieurs avec les principes de base de la programmation multitâches et des problématiques de génie logiciel autour de l'utilisation d’un système d’exploitation temps réel embarqué.

Contenu :  

Les thématiques abordées comprennent les thèmes suivants :

  • Dimensionnement et architecture matérielle et logicielle d'un système temps réel embarqué.
    Cette partie du cours traite des questions sous-jacentes aux interactions entre matériel et logiciel. Y seront abordées en particulier la représentation des périphériques matériels  sur l’espace d’adresses d’un processeur, la représentation et l’échange de données entre processeurs à travers le bus mémoire et les interruptions ainsi que leurs aspects spécifiques en matière de programmation.
  • Composition et mise en œuvre d'un noyau multitâches temps réel.
    Les principes et la mise en œuvre du cœur multitâches des systèmes d’exploitation  temps réel sont abordés de manière concrète à travers un exemple simplifié. En particulier, l’ordonnanceur pour le multitâche préemptif et la mise en œuvre du mécanisme d’exclusion mutuelle sont étudiés.
  • Conception et programmation de logiciels multitâches.
    À travers l’utilisation concrète de l’interface de programmation du système d’exploitation temps réel embarqué VxWorks, les techniques de programmation et de conception logicielles sont étudiées en détail. Les motifs de programmation concurrente sont abordés à travers un langage graphique didactique de conception multitâche.
  • Aperçu des techniques avancées de génie logiciel orientées objets pour systèmes multitâches.
    Il s’agit d’une introduction aux approches orientées objets et composants pour la programmation concurrente. Après un bref rappel des concepts fondamentaux du modèle objet et de la question de la réutilisation logicielle, les motifs de conception architecturale (design patterns) pour des problématiques telles que l’encapsulation d’une tâche ou l’appel de méthode asynchrone seront étudiées et mise en œuvre.

Organisation :

L’électif aura un aspect très concret, axé autour d’une interaction poussée entre cours et programmation sur une plateforme temps réel basée sur le système d’exploitation temps réel embarqué VxWorks.

Modélisation et vérification des systèmes temps réel

Professeurs: Paolo BALLARINI et Pascale LE GALL


Objectif:

Le cours concerne la modélisation et la vérification des systèmes temps-réels. Il s'agit essentiellement des systèmes réactifs dont les comportements sont assujettis à des contraintes temps-réels parfois critiques (systèmes embarqués, protocoles, services web). Les automates temporisés (Alur et Dill 1991) à temps continu constituent le formalisme de modélisation approprié pour de tels systèmes. Ils sont fondés sur l'utilisation d'horloges, variables à valeurs réelles positives ou nulles, en charge de modéliser l'écoulement du temps. Ces horloges peuvent être remises à zéro et conditionner le franchissement des transitions. les principaux points abordés par le cours seront:

 

  • Présentation des automates temporisés
  • Analyse d'automates temporisés (atteignabilité, vérification de propriété)
  • Test de conformité à partir de modèles temps réels

 

Contenu (24 heures + 3h de contrôle final):

 

  • Automates temporisés: syntaxe et sémantiques. Sémantique discrète pour une classe de modèles à états infinis et denses, graphe de régions, logique temporelle TCTL.
  • Techniques de Model-checking "temporisé": outil UPPAAL, analyse d'un protocole Wifi (protocole IEEE 802.11) avec UPPAAL.
  • Test de conformité pour les systèmes réactifs temps-réels: systèmes de transitions à entrées/sorties, relation de conformité, objectif de test, exécution symbolique, algorithme off-line et on-line de génération de cas de test et d'émission de verdict,...
  • Extension du test de conformité aux systèmes à base de composants, aux systèmes distribués, au raffinement,...

 

Organisation:

Cours magistraux, petites classes et travaux pratiques.

 

Télécommunications et Réseaux

Professeurs :

  • Pierre LECOY, professeur ECP, responsable de la filière FMR,
  • Philippe BOUTIN, enseignant d'informatique à ECP.

Objectif :

Ce cours expose les principes, les architectures et les aspects technologiques des systèmes et réseaux de communications numériques. Il prolonge les cours de systèmes d'information de 1ère année et l'électif "Communications Numériques et Réseaux" de 2ème année (S7) qu'il est utile d'avoir suivi. Pour ceux qui n'ont pas suivi cet électif, des rappels seront faits et les documents seront à disposition.

Contenu (24h)  :

  • Rappel des notions de base : nature des informations, modes de transmission, multiplexage, numérisation et codage des signaux., transmissions numériques en bande de base et modulation sur porteuse.
  • Conception et ingénierie des systèmes de transmission numériques sur câbles et fibres optiques, systèmes de communication radio fixes, satellites, et mobiles.
  • Réseaux de télécommunications, accès d’abonnés (ADSL, FTTH), réseaux longue distance, réseaux commutés.
  • Réseaux locaux avancé: Rappel du modèle OSI de l'ISO (couches et protocoles), IPV6, Sécurisation des réseaux (VLAN, IPsecure, VPN, DLP, ERM, IAM), Voix et vidéo sur IP.

 

Organisation  :

A chaque cours sont associés des exercices et études de cas. Des démonstrations avec possibilité de manipulations seront organisées au LISA sur les signaux numériques et les technologies radio et optiques, et en salle réseaux sur Internet.

DETRICHE Jean-Marie

Responsable Option et Parcours SA & ITB Courriel : jean-marie.detriche@centralesupelec.fr

HUDELOT Céline

Responsable Parcours SI Courriel : celine.hudelot@centralesupelec.fr

CABARET Laurent

Responsable La Fabrique Courriel : laurent.cabaret@centralesupelec.fr