Recherche d'Informations-Web

Atelier développement logiciels

Electif Optimisation

Electif Introduction à la Vérification Formelle

Electif Systèmes à Microcontrôleurs pour Objets Connectés

Electif Systèmes Asservis


Recherche d'Informations-Web

Professeur : Céline HUDELOT

Objectif :

Le récent développement du WEB ainsi que l’extraordinaire croissance du contenu numérique dans notre environnement numérique a actualisé la problématique de la recherche d'information (Information Retrieval) en y apportant de nouveaux challenges  Les thèmes couverts par la recherche d'information sont assez larges et les défis sont donc actuels et très nombreux. L’objectif de ce cours est de présenter les fondements et les avancées récentes dans ce domaine. 

Les thèmes suivants seront abordés :

  • les problèmes sous-jacents de l'indexation et de la recherche d'information, la représentation des besoins en information et des documents, les modèles mathématiques et informatiques en recherche d’information (modèle booléen, vectoriel et probabiliste),
  • l’évaluation, les techniques de retour de pertinence, le filtrage et l’extraction d’information textuelle.

Le cas particulier de la recherche WEB sera aussi détaillé et le cours permettra notamment d’apporter une réponse aux questions suivantes : « Comment marche Google ? Quel est le modèle théorique sous-jacent ? ». On s’intéressera aussi plus précisément à la recherche d’information multimodale, plus particulièrement la recherche d’images, de vidéos et de documents multimédia.

Enfin, les défis actuels tels que la prise en compte du multilinguisme, le web sémantique, la modélisation des utilisateurs, le filtrage collaboratif, etc., seront étudiés à partir de papiers de recherche récents.

Organisation :

L’évaluation de cours se fera d’une part par la réalisation d’un mini-projet qui mettra en application l’ensemble des notions abordées sur une application réelle et d’autre part par un exposé sur un article scientifique récent.

 

Atelier développement logiciels

 

Professeur: Jean-Philippe POLI, CEA et Kévin NGUYEN, THE CODING MACHINE

Objectif:

L'objectif de ce module est l'acquisition de compétences en conception et développement de logiciels par la mise en oeuvre pratique des connaissances acquises en début d'option (algorithmique et structures de données, architecture systèmes, bases de données, modélisation et programmation avancée) ainsi que des techniques modernes du génie logiciel et de méthodologies de développement.

Le module est divisé en deux grandes parties:

  • Les premières séances seront des introductions à des méthodes de conception et seront suivies de TD afin de mettre en pratique ces méthodes sur des cas simples;
  • Les autres séances seront des séances de travail sur un projet de taille conséquente à réaliser en équipe et faisant appel aux différentes méthodes vues dans le module.

 

Dans ce module, vous apprendrez à vous connecter à des sources d'information ou de services distantes (port USB, web-services, base de données), à créer des interfaces selon le design patternMVC et à utiliser des frameworks existants. Votre projet sera obligatoirement suivi sur un site et versionné sous GIT.

 

Contenu :

  • Prise en main d'environnements de développement et d'outils de gestion de projets informatiques (gestionnaire de versions)
  • Activité de conception et de développement en équipe avec un certain nombre de contraintes: respect de règles de programmation, suivi méthodique...
  • Accès à des données et des services en ligne

Les sujets des projets seront imposés et pourront être réalisés dans le langage de votre choix, alors que les TDS seront réalisés en Java.

 

Organisation proposée :

  • Installation des outils sur la machine des élèves et réalisation étape par étape des exercices en Java.
  • Les élèves choisissent le projet qu'ils souhaitent (premiers inscrits, premiers servis).
  • Double évaluation:
    • Une note de groupe sera obtenue au terme d'une soutenance;
    • Une note individuelle sera obtenue par la réalisation d'exercices de programmation.

 

Electif Optimisation

Professeur: Christoph Dürr

Objectif:

Le but de ce cours est de familiariser les étudiants avec différentes techniques d'optimisation qui leur seront utiles dans leur carrière d'ingénieurs. Problèmes classiques, théorèmes importants, techniques pratiques seront abordées dans ce cours qui se veut théorique et pratique.

Contenu :

Côté techniques, ce cours abordera la programmation par contraintes, les algorithmes primal-dual, la programmation linéaire, la programmation linéaire à variables entières, l'unimodularité totale, les algorithmes exacts en temps exponentiels. Côté applications, ce cours abordera les pavages par tuiles de Wang, le couplage biparti maximum à coût minimal, s-t-flot et s-t-coupe dans un graphe, tourné de véhicules. Côté pratique, ce cours utilisera le paquet python-constraint, le langage de modélisation GMPL et le paquet 

Positionnement :

Théorie des graphes, la programmation linéaire est rapidement abordée, ce cours sera plus profond sur ce sujet.

En MA2827 Fondements de l'optimisation discrète, la relation entre flot maximum et coupe minimum est abordée de manière combinatoire. Elle est expliquée dans ce cours par le théorème de dualité des programmes linéaires.

Le cours MA2200 Optimisation est plutôt axé sur les techniques d'optimisation continue et les applications, alors vque le coeur de ce cours ci est la programmation linéaire et l'optimisation discrète.

Organisation:

Des cours magistraux seront complétés par des séances d'exercices sur papier et des séances de programmation sur machine. La maîtrise du langage de programmation Python est nécessaire (prérequis IS1210 Algorithmique et Programmation).

L'évaluation des étudiants se fera par deux devoirs maison comptés à 20% chacun et d'un contrôle écrit final compté à 60%.

Problèmes de satisfaction de contraintes. Vocabulaire : variables, domaine discret fini, contraintes. Exemples : Sudoku, deux modélisations des mots croisés, n reines. Résolution par retour sur trace : choix variable, choix valeur. Améliorations : vérification en avant, arc-consistance AC3. :

 

Electif Introduction à la Vérification Formelle

Professeurs : Paolo BALLARINI et Pascale LE GALL

Objectif :

L'objectif de ce cours est d'introduire les principales techniques de modélisation, analyse et vérification de logiciels, à savoir la preuve, le test, le model-checking et la bissimulation. Elles ont en commun de s'appuyer sur une formalisation mathématique des systèmes et des propriétés attendues de ces systèmes et donnent lieu à différentes méthodes, algorithmes et outils.

Le cours sera ainsi l'occasion de manipuler différentes logiques (1er ordre, temporelle, Hennessy Milner), systèmes de preuve (Hoare, sémantique opérationnelle des algèbres de processus), algorithmes (exécution symbolique, model-checking)

 

Contenu :

  • Preuve de programmes à la Hoare: invariant, triplet de Hoare, terminaison.
  • Test de logiciels: test structurel (critères de sélection, exécution symbolique, test concolique) et fonctionnel (oracle, contrats).
  • Algèbres de processus. Modélisation des systèmes réactifs concurrents à l'aide d'algèbre de processus, algèbre CCS, bissimulation faible et forte, logique de Henessy Milner.
  • Model-checking: Modélisation des systèmes à l'aide des systèmes de transitions, logique temporelle, propriétés de sûreté et de vivacité, algorithme de vérification dit "model-checking".

Organisation :

Cours magistraux, petites classes et travaux pratiques.

Electif Systèmes à Microcontrôleurs pour Objets Connectés

Professeur : Sébastien BARON

Objectif visé :

  • Connaissance des concepts de la logique micro-programmée
  • Maîtrise des outils de conception (niveau bibliothèque et niveau registre)
  • Gestion d'un projet de conception

Contenu :

Dans un environnement où se multiplient les objets connectés, la connaissance des mécanismes de conception et de fonctionnement de ceux-ci est primordiale. S'il existe des bibliothèques facilitant la prise en main de ceux-ci, l'étude avancée des microcontrôleurs est indispensable pour concevoir des systèmes embarqués d'un niveau professionnel.

Ce cours aborde les systèmes à microcontrôleurs et leur environnement (composants sur bus locaux, réseaux filaires ou radio).

Après une présentation des concepts de base d'une logique micro-programmée et de la programmation temps réel, les différents sous-systèmes seront abordés et mis en application sur une carte réelle (de type Arduino).

 La réalisation d'un mini-projet par binôme -au choix de chacun- permettra de mettre en application les concepts abordés.

Organisation du cours :

Après la présentation des concepts et des outils, l'élève choisit un projet (binôme) et met en oeuvre ses nouvelles connaissances pour réaliser le programme dédié correspondant.

 

Electif Systèmes Asservis

 

Professeur: Philippe Feyel, Safran

Objectif :

L'automatique concerne la modélisation, l’analyse et la commande de systèmes. Les domaines d'applications sont variés : électromécanique, agro-alimentaire, biotechnologies, transports, aéronautique, spatial, économie,...

L'objectif de ce cours est d'en donner les bases indispensables, et ainsi de de donner aux élèves une bonne connaissance des problèmes posés dans l’étude et la réalisation de l’asservissement d’une grandeur physique. Les méthodes sont principalement développées dans le cadre des systèmes linéaires à temps invariant ; seuls quelques problèmes relatifs aux systèmes non linéaires sont évoqués.

Contenu :

Systèmes asservis - notions fondamentales

  • Définition du problème. Objectifs. Structures de commande BO et BF
  • Cahier des charges. Structures de commande usuelles

Approche polynomiale - correcteur RST

  • Modélisation par fonction de transfert
  • Structures numériques: intérêts, réalisation, modélisation
  • Synthèse de correcteurs par approche RST
  • Réalisation pratique de correcteurs numériques. Implantation. Quelques non-linéarités courantes : quantification ; saturation ; frottements

Approche dans l'espace d'état - commande par retour d'état, observateurs

  • Modélisation par représentation d'état
  • Commande par retour d'état (placement de pôles)
  • Synthèse d'observateurs (Luenberger)

Organisation :

Durant les premières séances, les principes de base sont illustrés à l'aide d'exercices ou de résultats de simulation d'une loi de commande. Des exercices sont effectués au fur et à mesure d'avancement du cours. La dernière séance est dédiée à des exercices réalisés sur Matlab. Un contrôle des connaissances de 3h avec documents est effectué à la fin du cours.

 

 :

DETRICHE JEAN-MARIE

Responsable Option
Courriel : 
jean-marie.detriche@centralesupelec.fr

HUDELOT CÉLINE

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

CABARET LAURENT

Responsable Parcours ITB
Courriel : 
laurent.cabaret@centralesupelec.fr

Liens utiles