arrow drop search cross

Spécialité Informatique sous statut Etudiant Année 4, Syllabus version 2018/2019

Spécialité Informatique sous statut Etudiant Année 4, Syllabus version 2018/2019

date: 20/02/2019

Semestre 7

UE1

 

UE2, 3 matières à choisir parmi :

 

UE3

Semestre 8

UE4, 4 matières à choisir parmi :

 

UE5, Projet + 2 matières à choisir parmi :

UE6


UE Stage

Descriptions détaillées

Anglais 7

Semestre : 7

ECTS : 2

Responsable: Storey Françoise

Résumé: Anglais général pour certification TOEIC©L/R (passage du test officiel en fin de semestre), résumé du rapport de stage de 3ème année ou d'une expérience à l'étranger, préparation à la mobilité internationale, travail de recherche, rapports oraux.

Prerequis

Objectifs

  • Développer des compétences d'anglais général (valider au moins un niveau B2 en compréhension orale et écrite pour le test de certification, expression écrite pour le résumé de rapport)
  • Travail de recherche

Contenu

  • Méthodologie
  • Stratégie de test
  • Grammaire et vocabulaire
  • Compréhension orale et écrite tout le long du semestre
  • Résumé du rapport de stage et correction
  • Travail de recherche sur l'exposition à l'internationale tout le long du semestre

References

  • Manuels TOEIC©, sites web, supports audio

Compétences

  • CG5.1 L'esprit d'entreprise et l'aptitude à prendre en compte les enjeux économiques, le respect de la qualité, la compétitivité et la productivité, les exigences commerciales, l'intelligence économique. Niveau: Maîtrise
  • CG10.1 L'aptitude à travailler en contexte international : maîtrise d'une ou plusieurs langues étrangères, ouverture culturelle associée, adaptation aux contextes internationaux. Niveau: Maîtrise

Acquis

  • Compréhension orale d'anglais Niveau: Maîtrise
  • Expression orale d'anglais Niveau: Maîtrise
  • Compréhension écrite d'anglais Niveau: Maîtrise
  • Expression écrite d'anglais Niveau: Maîtrise
  • Communication en anglais Niveau: Maîtrise

Evaluation: Contrôle continu

Publics

  • SI4

Ce cours fait partie de

  • S7-UE3

Compilation

Semestre : 7

 

ECTS : 3

Objectifs

  • Assimiler les théories, méthodes et techniques qui permettent de décrire et concevoir des langages. comprendre les principes de conception des lsangages de programmation et les transformations de programmes réalisées par les compilateurs
  • Comprendre finement les différents aspects des langages de programmation, en particulier les vérifications et transformations effectuées par les compilateurs.
  • Assimiler les techniques qui permettent l'écriture de compilateurs.
  • Mettre en pratique les principes et méthodes étudiés. Il s'agit de réaliser, dans le cadre du projet de compilation, un compilateur pour un petit langage de programmation.

Contenu

  • Introduction à la compilation
  • Analyse lexicale et LEX
  • Rappels sur les langages formels (grammaire algèbriques, arbres de dérivations, ambiguité, élimination de la récursivité gauche)
  • Analyse syntaxique non déterministe (analyse par descente récursive, analyse prédictive non récursive, retour arrière (backtracking))
  • Analyse Syntaxique descendante
  • Analyse syntaxique ascendante
  • Traduction dirigée par la syntaxe
  • Générateurs LR()
  • Sémantique statique des langages de programmation
  • Traitements "source to source"

References

  • A first course using ANSI C, LEX and YACC, J. P. Bennett,2nd edition, McGraw Hill (1996)
  • Compilateurs, D.Grune et all , Dunod (2002)
  • Compilateurs: Principes, techniques et outils,A. Aho, R. Sethi, J. Ullman; InterEditions (1991)
  • Crafting a Compiler, C.Fischer, R.LeBlanc , Benjamin Cummings Series (1988)
  • Lex and Yacc,JR Lewine, T. Mason, D. Brown; O’Reilly and Associates, Inc (1992)
  • Modern Compilation Implementation, A. Appel; Cambridge University Press (1998
  • The Essence of Compilers, R. Hunter , Prentice hall (1999

Compétences

  • CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Niveau: Maîtrise
  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Maîtrise
  • CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Niveau: Expert
  • CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Niveau: Expert

Acquis

  • Savoir réaliser un compilateur pour un petit langage de programmation Niveau: Maîtrise
  • Utilisation de générateurs de type lex et yacc Niveau: Maîtrise
  • Utilisation de techniques de compilation pour des transformations "source to source" Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S7-UE2

Algorithmique et Complexité

Semestre : 7

 

ECTS : 3

Résumé: Complexité : notions de base de complexité. Le modèle de Turing. Classes P et NP. Problèmes NP-complets. Preuves de NP-complétude. Introduction aux algorithmes d'approximation. Calculabilité.

Objectifs

  • Donner les bases de la NP-complétude.

Contenu

  • Introduction, Machine de Turing
  • Machines de Turing
  • Les classes P et NP
  • Le théorème de COOK
  • Problèmes NP-complets connus
  • La complexité de certains jeux
  • Approximation

References

  • C.H. Papadimitriou : "Computational Complexity", Addison-Wesley, 1994
  • D. Harel : "Algorithmics : The spirit of computing", Addison Wesley
  • M. Sipser : "Introduction to the Theory of Computation", PWS, 1997 (deuxième édition en parue en février 2005
  • M.D. Davis, R. Sigal, E.J. Weyuker : “Computability, Complexity + Languages”, Academic Press
  • M.R. Garey et D.S. Johnson : "Computers and intractability. A guide to the theory of NP-completeness", Freeman, New York, 1979
  • Pierre Wolper : Introduction à la Calculabilité, Dunod 2006
  • Sanjeev Arora, Boaz Barak : Computational Complexity : A Modern Approach, Cambridge University Press, 2009
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest : Introduction to algorithms, MIT Press, 1990

Compétences

  • CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Niveau: Maîtrise

Acquis

  • Reconnaître un problème difficile Niveau: Maîtrise
  • Connaître la hierarchie des différents types d'algorithmes d'approximation et savoir les utiliser à bon escient Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S7-UE2

Machine Learning

Semestre : 7

 

ECTS : 3

Résumé: Ce cours s'articule autour d'un projet fil rouge : le développement d'une application en C++ de reconnaissance de la langue des signes en temps-réel à partir d'une webcam. Le cours présente les principes de l'apprentissage artificiel et de vision par ordinateur, détaille les mécanismes des algorithmes classiques d'apprentissage statistique qui permettent ensuite aux étudiants de développer leur application en assemblant des briques logicielles présentes dans la librairie standard OpenCV.

Prerequis:

  • Calcul du gradient pour minimiser/maximiser un critère programmation C++

Objectifs

  • Apprendre des algorithmes très classiques de l'apprentissage automatique (Boosting, réseaux de neurones, forêts aléatoires).
  • Aborder les notions de bases de la vision par ordinateur favorisant l'ouverture à des projets motivants autour de la robotique, du multimédia

Contenu

  • Principes du boosting
  • Algorithme AdaBoost en détail
  • Histogrammes
  • Algorithmes Mean-Shift et CAMShift
  • Réseaux de neurones
  • Détection de contours
  • Extension de la détection du visage à la détection de piétons
  • Détection de mouvement
  • Reconnaissance de gestes
  • Extension à la reconnaissance de gestes en 3D
  • Apprentissage par forêts aléatoires

References

  • Computer Vision in C++ with the OpenCV Library By Gary Bradski, Adrian Kaehler, O'Reilly Media, October 2013, 575
  • Mastering OpenCV with Practical Computer Vision Projects, by Daniel Lélis Baggio, Shervin Emami, David Millán Escrivá, Khvedchenia Ievgen..., Packt Publishing, December , 2012
  • OpenCV 2 Computer Vision Application Programming Cookbook, by Robert Laganière, May 2011

     

Compétences

  • CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Niveau: Maîtrise
  • CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Niveau: Maîtrise
  • CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Niveau: Maîtrise

Acquis

  • Principes de bases de l'apprentissage automatique Niveau: Maîtrise
  • Bases en analyse d'images et de vidéos Niveau: Applications
  • Analyse statistique de données (histogrammes, distributions, estimation) Niveau: Notions
  • Principes de la vision artificielle par ordinateur, introduction à la vision en robotique

Publics

  • SI4

Ce cours fait partie de

  • S7-UE1

Conception logicielle

Semestre : 7

ECTS : 3

Résumé: Présentation et utilisation des schémas de conception

Objectifs

  • Réaliser des conceptions robustes et facilement extensibles.

Contenu

  • Les schémas de conception: de structure, de comportement, de création
  • Etude détaillées de quelques schémas de conceptions, reposant sur des exemples pour lesquels sont présentées différentes solutions: des plus naïves, aux plus élaborées qui mettent en oeuvre les schémas de conception améliorant extensibilité, réutilisabilité et documentation. Pour chaque schéma, mise en évidence des conséquences de sa mise en oeuvre.

References

  • Design Patterns: Elements of Reusable Object-oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison Wesley, 1995
  • UML et les Design Patterns. Craig Larman. CampusPress , 2003

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Applications
  • CG2.3 Maîtriser les différents aspects des systèmes d'information (fonctionnels, organisationnels, techniques), de leur conception à leur mise en œuvre et leur intégration tant d’un point de vue conceptuel qu’appliqué. Niveau: Applications
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Maîtrise

Acquis

  • Savoir choisir, appliquer et composer les schémas de conception Niveau: Maîtrise
  • Savoir décider de l'opportunité de la mise en oeuvre d'un schéma de conception Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S7-UE1

Gestion d'entreprise

Semestre : 7

 

ECTS : 2

Responsable: Bachelot Christinne

Résumé: Le module doit permettre de comprendre les indicateurs clés d’une bonne gestion financière de l’entreprise, d’analyser et de diagnostiquer la santé financière d’entreprise par le biais de cas d’entreprises.

Prerequis:

  • Connaissance Entreprise 1 et 2

Objectifs

  • Déterminer le seuil de rentabilité et le point mort lors de la gestion d’un projet

Contenu

  • Analyse du bilan fonctionnel
  • Analyse du compte de résultat : les Soldes Intermédiaires de Gestion.
  • Les moyens de financement de l'entreprise
  • Les coûts

References

  • Comptabilité analytique de GOUJET, RAULET éditions DUNOD
  • Comptabilité générale de MAESO, PHILIPPS, RAULET éditions DUNOD
  • Contrôle de gestion de G.LANGLOIS, M.BRINGER éditions FOUCHER
  • Introduction à l'analyse financière de A.PLANCHON éditions DUNOD

Compétences

  • CG5.1 L'esprit d'entreprise et l'aptitude à prendre en compte les enjeux économiques, le respect de la qualité, la compétitivité et la productivité, les exigences commerciales, l'intelligence économique. Niveau: Maîtrise
  • CG9.1 La capacité à s'insérer dans la vie professionnelle, à s'intégrer dans une organisation, à l'animer et à la faire évoluer : exercice de la responsabilité, esprit d'équipe, engagement et leadership, management de projets, maîtrise d'ouvrage, communication avec des spécialistes comme avec des non-spécialistes, voire la gestion d'entreprise innovante. Niveau: Maîtrise

Acquis

  • Appréhender la situation financière : CA, bénéfice, trésorerie, EBE Niveau: Applications
  • Calculer un coût de revient simple et un seuil de rentabilité Niveau: Applications
  • Pratiquer les intérêts simples et composés Niveau: Applications
  • Comprendre la capitalisation et l'actualisation Niveau: Applications
  • Établir un tableau de prêt bancaire (calcul d'annuités) Niveau: Applications

Evaluation: Contrôle continu (2 Notes au minimum)

Publics

  • SI4

Ce cours fait partie de

  • S7-UE3

Gestion de la concurrence

Semestre : 7

ECTS : 3

Résumé: Connaitre les principaux problèmes posés par le partage de ressources et les solutions pouvant être apportées que ce soit dans une architecture avec mémoire commune ou une architecture répartie sans mémoire commune. Les problèmes concernent la gestion de la famine et des interblocages. Les modèles étudiés concernent les rendez-vous, la barrière, lecteur-redacteur, producteur-consommateur en architecture avec ou sans mémoire commune.

Objectifs

  • Construire des programmes multi-thread ou multi-processus correct.
  • Connaitre les principes des outils de preuve (model-checking) et savoir les utiliser dans des cas simples.
  • Connaitre les outils usuels du domaine (verrou, sémaphore, moniteur) et savoir les utiliser dans différents langages (java), OS (Unis) ou bibliothèque (pthread)

Contenu

  • Introduction à la programmation parallèle et concurrente
  • Modélisation FSP : processus séquentiel (FSP + Java)
  • Modélisation FSP : composition de processus (FSP + Java)
  • Verrou, Moniteurs et Sémaphores (FSP + Java)
  • Propriétés de sûreté et vivacité (FSP + Java)
  • Interblocage et Transaction : famille de solutions (FSP + Java)
  • Communication et synchronisation entre thread Posix
  • Communication et synchronisation entre processus Unix
  • Synchronisation non bloquante
  • Communication et synchronisation dans un système distribués : approche client-serveur et approche P2P
  • Temps, ordre et état dans les systèmes répartis
  • Gestion "cohérente" de la mémoire

References

  • Michel Raynal, Concurrent Programming - Algorithms, Principles, And Foundations, Springer - 2013
  • Assez proche du cours : Magee + Jeff Kramer, Concurrency: State Models + Java Programs, Weiley, 2006
  • Synchronisation et état global dans les systèmes répartis. (Tome 2 - une introduction aux principes des systèmes répartis). Eyrolles, collection EDF, 1992, 228 p.

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Maîtrise
  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Maîtrise
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Applications

Acquis

  • Mettre en place une méthodologie de preuve par model-checking: modélisation du problème, écriture de la propriété à vérifier, vérification et si c'est OK, traduction du modèle dans un langage exécutable Niveau: Notions
  • Programmer les schémas usuels de synchronisation avec des sémaphores ou des moniteurs, en C ou en Java: Section critique, Rendez-vous, Lecteur-rédacteur, Tampon Niveau: Maîtrise
  • Mettre en oeuvre les schémas étudiés dans un cas réel (projet) Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S7-UE2

Gestion de projet

Semestre : 7

 

ECTS: 1.50

Responsable: Bachelot Christine

Résumé: Le module doit permettre aux étudiants de découvrir le  management  de projet, ses caractéristiques et son importance dans la réalisation d’un produit. L’illustration des bonnes pratiques sera faite en développant des études de cas et des exercices concrets.

Prerequis:

  • Connaissance Entreprise 1 et 2

Contenu

  • Définition d'un projet
  • Les contraintes d'un projet
  • Risques, menaces et opportunités
  • Architecture du Management de Projet
  • La triple contrainte (Contenu, Délais, Coûts)
  • Outils de base
  • Avantages de la gestion de projet
  • La Charte de Projet

References

  • Déjouer les pièges de la gestion de projet, Alain BLOCH, éditions d'Organisation
  • De la gestion de projet au management par projet, J.L. Muller , M. Joly, ed AFNOR
  • L'essentiel de la gestion de projet de Roger AIM editeur GUALINO

Compétences

  • CG4.2 Connaître des bases de la propriété intellectuelle et industrielle. Niveau: Maîtrise
  • CG7.1 L'aptitude à prendre en compte les enjeux environnementaux, notamment par application des principes du développement durable. Niveau: Maîtrise
  • CG5.1 L'esprit d'entreprise et l'aptitude à prendre en compte les enjeux économiques, le respect de la qualité, la compétitivité et la productivité, les exigences commerciales, l'intelligence économique. Niveau: Maîtrise
  • CG9.1 La capacité à s'insérer dans la vie professionnelle, à s'intégrer dans une organisation, à l'animer et à la faire évoluer : exercice de la responsabilité, esprit d'équipe, engagement et leadership, management de projets, maîtrise d'ouvrage, communication avec des spécialistes comme avec des non-spécialistes, voire la gestion d'entreprise innovante. Niveau: Maîtrise
  • CG6.1 L'aptitude à prendre en compte les enjeux de relation au travail, d'éthique, de sécurité et de santé au travail. Niveau: Maîtrise
  • CG11.1 La capacité à se connaître, à s'auto-évaluer,à gérer ses compétences,-notamment dans une perspective de formation tout au long de la vie- ,à opérer ses choix professionnels. Niveau: Applications

Acquis

  • Connaître les missions d'un chef projet Niveau: Notions
  • Idenfier les besoins, les exigences des parties prenantes et le périmètre du projet Niveau: Applications
  • Appliquer les outils de la gestion projet: GANTT, PERT Niveau: Maîtrise
  • Appliquer la démarche projet pour toutes les activités: projets techniques et évènements organisés à Polytech Nice Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S7-UE3

LV2 s7

Semestre : 7

ECTS : 2

Responsable: Storey Françoise

Résumé: Langue vivante 2: l'étudiant continue d'étudier la langue qu'il avait choisie en S6 (ou continue en anglais renforcé). Étude de la langue (toutes compétences), culture du pays, culture d'entreprise, le Curriculum Vitae dans la langue du pays, préparation à la mobilité. Anglais renforcé: préparation à la certification.

Prerequis:

  • les acquis des cours:
    • LV2 S6

Objectifs

  • Développer un niveau B1 selon la langue étudiée et le niveau du cours
  • Développer des connaissances culturelles sur le pays de la langue étudiée.

Contenu

  • Révisions
  • Travail sur toutes les compétences tout au long du semestre

References

  • Sites web et autres supports variés

Compétences

  • CG10.1 L'aptitude à travailler en contexte international : maîtrise d'une ou plusieurs langues étrangères, ouverture culturelle associée, adaptation aux contextes internationaux. Niveau: Applications

Acquis

  • Compréhension orale Niveau: Notions
  • Expression orale Niveau: Notions
  • Compréhension écrite Niveau: Notions
  • Expression écrite Niveau: Notions
  • Communication Niveau: Notions

Evaluation: Contrôle continu

Publics

  • SI4

Ce cours fait partie de

  • S7-UE3

Langages XML: schémas et transformations

Semestre : 7

 

ECTS : 3

Résumé: Ce cours présente les langages standards clés des technologies XML: le langage XPath d'expressions de localisation, le langage XSD de définition de modèles de documents XML et le langage XSLT de transformation de documents XML. Il est illustré sur plusieurs dialectes XML.

Prerequis:

Objectifs

  • Maîtrise des langages XML, XPath, XSD, XSLT et des concepts de documents et données structurés, de modèle de documents et de transformation de documents.

Contenu

  • XML et espaces de nomage
  • XPath : Expression de chemins de localisation
  • XSD : modèles de documents XML
  • XSLT : transformation de documents XML

Compétences

  • CG2.3 Maîtriser les différents aspects des systèmes d'information (fonctionnels, organisationnels, techniques), de leur conception à leur mise en œuvre et leur intégration tant d’un point de vue conceptuel qu’appliqué. Niveau: Maîtrise

Acquis

  • Modélisation XML - Schémas XML Niveau: Maîtrise
  • Transformation de données XML avec XSLT Niveau: Maîtrise

Evaluation: Contrôle continu

Publics

  • SI4

Ce cours fait partie de

  • S7-UE2

Programmation multi-paradigmes

Semestre : 7

ECTS : 3

Résumé: Apprentissage des bases du langage C++

Prerequis:

  • les acquis des cours:

     

    • Programmation Orientée Objet
    • Programmation procédurale

Objectifs

  • Acquérir les bases de C++ permettant de développer des programmes procéduraux utilisant la STL et des programmes orientés objets.

Contenu

  • Introduction à C++ et la notion de classe (template)
  • C++ procédural et STL
  • Définition des classes C++ comme types abstraits de données
  • Héritage et programmation à objets en C++
  • Récapitulation des mécanismes fondamentaux de C++

References

  • Bjarne Stroustrup : Programming (Principles and Practice using C++)
  • Stanley Lippman, Barbara Moo : C++ Primer

Compétences

  • CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Niveau: Maîtrise
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Applications

Acquis

  • Paradigmes fondamentaux de programmation (OO, impératif, généricité) Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S7-UE2

Projet Semestre 7

Semestre : 7

 

ECTS : 4.5

Résumé: Ce projet de 3 semaines à temps plein permet de mettre en applications les enseignements formels et appliqués des autres cours sur un problème original.

Prerequis:

  • Développement logiciel, Qualité & Génie Logiciel, Informatique Théorique, Écriture Scientifique.

Objectifs

  • Mobiliser des connaissances acquises dans plusieurs enseignements pour aider les élèves à faire le lien

Contenu

  • 3 semaines de travail à temps plein sur le projet

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Maîtrise

Acquis

  • Gérer son temps et les taches de dévelopement Niveau: Expert
  • Travailler en accord avec un client Niveau: Maîtrise
  • Livrer un projet logiciel Niveau: Expert

     

Evaluation: Présentation orale Rapport technique

Publics

  • SI4

Ce cours fait partie de

  • S7-UE1

Algorithmique avancée et Calculabilité

Semestre : 8

ECTS : 2.5

Résumé: Ce cours est composé de plusieurs parties indépendantes: Algorithmes de flots, Algorithmes de recherches de motifs et algorithmes du génome et programmation dynamique, Algorithmes randomisés, Algorithmes géométriques,

Prerequis:

  • les acquis des cours:

     

    • Algorithmique et Structures de données
    • Algorithmique et Complexité
    • Informatique Théorique

Objectifs

  • Compléter les connaissances d'algorithmique, par le flot maximum et des applications.

Contenu

  • Flots
  • Application des flots
  • Algorithmes de recherches de motifs, algorithmes du génome et programmation dynamique
  • Algorithmes randomisés.
  • Algorithmes géométriques
  • Calculabilité

References

  • D. Harel : "Algorithmics : The spirit of computing", Addison Wesley
  • Michael Mitzenmacher, Eli Upfal : Probability and computing - randomized algorithms and probabilistic analysis, Cambridge University Press, 2005
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest : Introduction to algorithms, MIT Press, 1990

Compétences

  • CG1.1 Connaître et comprendre les concepts et les principes théoriques fondamentaux à la base de l'informatique. Niveau: Maîtrise

Acquis

  • Connaître plusieurs paradigmes algorithmiques et leur conditions d'utilisation Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S8-UE32

Anglais 8

Semestre : 8

ECTS: 1.50

Responsable: Storey Françoise

Résumé: Anglais général et professionnel, les media et la culture anglosaxone, la culture d'entreprise, mise à jour du CV, lettre de motivation, entretien d'embauche, projet en pédagogie active sur une invention ou une innovation qui n'a pas encore été développée, travail de recherche sur une entreprise, un plan de carrière et exposé en pecha kucha

Prerequis:

  • les acquis des cours:

     

    • Anglais 5
    • Anglais 6
    • Anglais 7

Objectifs

  • Développer des compétences en anglais oral, en connaissances culturelles et professionnelles, en travail d'équipe, en recherche d'information, en expression, rechercher un emploi

Contenu

  • Activités du programmes réparties sur l'ensemble du semestre

Compétences

  • CG9.1 La capacité à s'insérer dans la vie professionnelle, à s'intégrer dans une organisation, à l'animer et à la faire évoluer : exercice de la responsabilité, esprit d'équipe, engagement et leadership, management de projets, maîtrise d'ouvrage, communication avec des spécialistes comme avec des non-spécialistes, voire la gestion d'entreprise innovante. Niveau: Maîtrise
  • CG8.1 L'aptitude à prendre en compte les enjeux et les besoins de la société. Niveau: Maîtrise
  • CG10.1 L'aptitude à travailler en contexte international : maîtrise d'une ou plusieurs langues étrangères, ouverture culturelle associée, adaptation aux contextes internationaux. Niveau: Expert

Acquis

  • Compréhension orale d'anglais Niveau: Expert
  • Expression orale d'anglais Niveau: Maîtrise
  • Compréhension écrite d'anglais Niveau: Expert
  • Expression écrite d'anglais Niveau: Maîtrise
  • Communication en anglais Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S8-UE3

Capteurs/actionneurs et systèmes hybrides

Semestre : 8

ECTS: 2.5

Résumé: Les systèmes hybrides sont des systèmes dynamiques dans lesquels un système de contrôle événementiel régule un système à temps continu. Les liens entre les process continus et les process discrets qui le contrôlent sont fait au travers de capteurs et d'actionneurs. Ce cours s'attache à faire une introduction au contrôle informatique de processus physiques tels que ceux utilisés dans les systèmes de contrôle commande. Il met en avant le lien entre le monde du contrôle discret (à base de machine à états) et le monde du contrôle continu (à base de PID par exemple).

Prerequis:

  • les acquis des cours:
    • Programmation procédurale

Objectifs

  • Permettre aux étudiants de comprendre les problèmes inhérent au traitement de l'information en provenance et à destination des capteurs/actionneurs. Plus particulièrement, ce cours s'attache à faire une introduction au contrôle informatique de processus physiques et met en avant le lien entre le monde du contrôle discret (à base de machine à états) et le monde du contrôle continu (à base de PID par exemple ouvrant une porte vers la notion de système hybride.

Contenu

  • Système hybrides : Définition et Modélisation
  • Modélisation de systèmes dynamiques dans un environnement physique, modèles de type dynamique continu et événementiel
  • Notions de capteurs, actionneurs, observation, commande
  • Etude et mise en oeuvre sous Matlab à partir de cas réels.
  • Outils de mise en oeuvre:
  • 1rchitectures matérielles/logicielles pour des systèmes embarqués interagissant avec l'environnement physique
  • Etat de l'art sur les capteurs et les actionneurs
  • Etat de l'art sur les cibles matérielles/logicielles d'acquisition de mesures et restitution de commandes (notions de microcontrôleurs, CAN, CNA, E/S digitales, consommation et autonomie)
  • 0utils de développement et cross compilation
  • Projets et Applications de mise en oeuvre : Chaque étudiant sera appelé à travailler sur une application concrète des notions vues dans le cours telles que
  • La robotique ubiquitaire ou des robots en réseau : Drone, Robots Mobiles grands public (type Rumba), ...
  • Les équipements connectés et la collecte de données: Équipements médicaux et traitement des mesures...
  • Les réseaux de capteurs et la collecte de données: traitement des mesures capteurs et observation d'état du système.

Compétences

  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Maîtrise

Acquis

  • La compréhension de la notion de contrôle de processus et de systèmes hybrides Niveau: Notions

Publics

  • SI4-Options

Ce cours fait partie de

  • S8-UE1

Communication 2

Semestre : 8

 

ECTS: 1.50

Responsable: Bachelot Christine

Résumé: Le module doit permettre à l’étudiant d’améliorer sa communication de groupe : analyser les interactions dans un groupe, développer son autonomie et sa capacité d’organisation et donc faciliter l'obtention de stages.

Objectifs

  • Acquérir une vision et une compréhension des techniques de communication concernant le management des équipes et l'affirmation de soi

Contenu

  • Analyse de la dynamique des groupes de projet
  • Résolution de problèmes en groupe
  • Mises en situation de management et de conduite de réunion
  • Simulation d'entretiens d'embauche

References

  • La dynamique des communications dans les groupes de G.AMADO et A.GUITTET
  • Les techniques d'argumentation et de négociation de L.BELLENGER

Compétences

  • CG9.1 La capacité à s'insérer dans la vie professionnelle, à s'intégrer dans une organisation, à l'animer et à la faire évoluer : exercice de la responsabilité, esprit d'équipe, engagement et leadership, management de projets, maîtrise d'ouvrage, communication avec des spécialistes comme avec des non-spécialistes, voire la gestion d'entreprise innovante. Niveau: Maîtrise
  • CG6.1 L'aptitude à prendre en compte les enjeux de relation au travail, d'éthique, de sécurité et de santé au travail. Niveau: Maîtrise
  • CG10.1 L'aptitude à travailler en contexte international : maîtrise d'une ou plusieurs langues étrangères, ouverture culturelle associée, adaptation aux contextes internationaux. Niveau: Notions

Acquis

  • Etre capable de travailler en équipe Niveau: Maîtrise
  • Comprendre les enjeux liés à la communication interculturelle Niveau: Notions
  • Actualiser son CV Niveau: Maîtrise
  • Produire une lettre de motivation adaptée Niveau: Maîtrise
  • Comprendre l'importance des réseaux sociaux Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S8-UE4

DevOps & Continuous Testing

Semestre : 8

ECTS: 2.5

Résumé: Newly graduated students are generally good at writing code as well as unit-testing it. They know different programming languages, understand the concepts of software architecture, havebeen exposed to environments such as Cloud or Web Services. Yet what they often lack is a comprehensive view at the testing phase, including test that require hard-to-setup environments, as well as the ability define a build-and-test pipeline, to automate deployments, to operate deployed systems. This option will teach students all the concepts that are needed to produce a robust Software Factory, that supports the notion of Continuous Delivery, delivering robust code backed by comprehensive testing techniques. This is a very hands-on class, as students will be guided to implement the tests and factory, which will be exercised on thee complex project included in the Application Servers class.

Publics

  • SI4

Ce cours fait partie de

  • S8-UE3

Finite State Machines

Semestre : 7

 

ECTS : 3

Résumé: Ce cours permet de souligner une utilisation pragmatique des machines à états finis dans différents pans de l'informatique. Le cours montrera l'utilisation de machines à états pour la définition de protocole de communication aussi bien que pour la définition du contrôle d'un système embarqué. Différentes classes de machines à états seront introduites conjointement avec leur outil. L'objectif principal est de comprendre le rôle central que prennent ces représentations dans l'informatique de tous les jours. Les mises en œuvres varieront de la génération de code C et Java à l'utilisation de langages formels comme les automates temporisés.

Prerequis:

  • les acquis des cours:

     

    • Informatique Théorique 2 (Langages Formels)

Objectifs

  • Permettre aux étudiants de maîtriser la notion de machine à états finis et l'utilisation de variantes spécifiques selon l'utilisation qu'ils désirent en faire

Contenu

  • Introduction des machines à états finis et rappels sur les automates
  • Utilisation dans différents pans de l'informatique.
  • Définition de protocole de communication, définition du contrôle d'un système embarqué, etc
  • Présentation de différentes classes de machines à états et mise en oeuvre dans des outils
  • Génération de code C et Java
  • Utilisation de langages formels comme les automates temporisés.

Compétences

  • CG2.3 Maîtriser les différents aspects des systèmes d'information (fonctionnels, organisationnels, techniques), de leur conception à leur mise en œuvre et leur intégration tant d’un point de vue conceptuel qu’appliqué. Niveau: Maîtrise

Acquis

  • La compréhension de l'utilisation des automates et autres langages formels de manière pragmatique dans l'informatique

Publics

  • SI4

Ce cours fait partie de

  • S8-UE1

Introduction aux Systèmes et Logiciels Embarqués

Semestre : 8

ECTS: 2.5

Résumé: Quel point commun y-a-t'il entre une smart watch, des google glass, un aspirateur Roomba, un drone volant, un robot bipède Nao...? Tous sont des systèmes embarqués, même s'ils reposent sur des technologies différentes. Ce cours a pour but de présenter les différents aspects logiciels liés à ces systèmes embarqués omniprésents dans notre vie quotidienne. Ce module a pour but de présenter tant les problématiques des systèmes que des logiciels pour le déploiement sur des cibles embarquées. Après une présentation rapide des différents éléments d'un système embarqué (noyau et système d'exploitaion ou simplement programme sur un micro-contrôleur), nous étudierons dans ce cours les spécificités logicielles de ces systèmes: systèmes embarqués avec et sans système d'exploitation, déploiement d'un système sur une cible particulière (cross-compilation), optimisation d'un système et des applications pour tenir compte des contraintes des plateformes embarquées (consommation énergétique, emprunte mémoire, propriétés temps réel...). Nous illustrerons ces différentes problématiques à l'aide de plateformes embarquées grand public (Arduino, Raspberry Pi, ...). Nous découvrirons la matrise des environnements pour la production de systèmes embarqués et des logiciels (Linux Yocto, Buildroot, Crosstool-ng, OpenWrt, ...) nécessaires à l'exploitation de ces plateformes. Nous testerons aussi des cas d'utilisation d'un système embarqué avec quelques capteurs et actionneurs.

Prerequis:

  • Programmation C Programmation système (Posix) Pas d'Assembleur

Objectifs

  • Ce cours a pour objectif d’introduire au travers des exemples du marché, les principales variantes de plate-formes embarquées.
  • Ce cours donne à la fois un vue générale sur les environnements de développement logiciel du marché pour les systèmes embarqués et un niveau d'expertise suffisant pour développer et déployer des applications sur différentes cibles embarquées.

Contenu

  • Systèmes d'exploitation (Operating Système: OS) et catégories de systèmes embarqués
  • Prise en main du noyau Linux
  • Cross-compilation d'un système d'exploitation pour systèmes embarqués
  • Applications pour systèmes embarqués
  • Déployer son propre système embarqué GNU/Linux (Raspberry)
  • Optimiser un système embarqué
  • Microcontrôleurs sans OS (Arduino)
  • Microcontrôleurs avec OS: RTOS

References

  • A. Silberschatz et P. B. Galvin, Principes des systèmes d'exploitation (4ème édition), Addison-Wesley 1994.
  • C. Blaess, Développement système sous Linux: Ordonnancement multitâche, gestion mémoire, communications, programmation réseau, Eyrolles, 2011.
  • D. Bovet et M. Cesati, Understanding the Linux Kernel (2ème édition), O'Reilly 2002.
  • J Corbet, A Rubini, G Kroah-Hartman, Linux Device Drivers (3rd Edition), O'Reilly, 2005.

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Applications
  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Maîtrise
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Maîtrise

Acquis

  • Compréhension du fonctionnement d'un ordonnanceur (Linux) Niveau: Maîtrise
  • Compréhension du fonctionnement d'un système d'exploitation Niveau: Maîtrise
  • Développement de pilote de périphérique (logiciel et matériel) Niveau: Maîtrise
  • Mise en oeuvre de systèmes de fichiers Niveau: Maîtrise
  • Notions sur la gestion mémoire dans un système d'exploitation Niveau: Notions

Publics

  • SI4-Options

Ce cours fait partie de

  • S8-UE3

Introduction à l'architecture logicielle

Semestre : 8

ECTS: 2.5

Résumé: Ce cours est une introduction à l'architecture logicielle qui illustre la mise en oeuvre d'une architecture n-tiers impliquant plusieurs langages. Il introduit les notions de composants logiciels, d'injection de dépendances, d'interopérabilité et de travail aux interfaces.

Objectifs

  • Comprendre les principes des serveurs d'applications
  • Spécifier et mettre en oeuvre des composants logiciels
  • Concevoir et réaliser un système à base de composants hétérogènes
  • Concevoir des applications d'entreprise en respectant les bonnes pratiques

Contenu

  • Introduction à l'Architecture Logicielle
  • Correspondance Objet - Relationel
  • Couche de persistance
  • Couche domaine
  • Couche présentation
  • Communications synchrones et asynchrones
  • Applications hétérogènes: introduction à un nouveau langage
  • Interoperabilité
  • Client lourd
  • Sécurité et transactions
  • Retrospective

References

  • Beautiful Architecture, Diomidis Spinellis & Georgios Gousios
  • Martin Fowler, Patterns of enterprise application architecture
  • Software architecture in practice, Bass, Clemens and Kazman
  • Software System Architecture, Rozansky and woods

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Maîtrise
  • CG2.3 Maîtriser les différents aspects des systèmes d'information (fonctionnels, organisationnels, techniques), de leur conception à leur mise en œuvre et leur intégration tant d’un point de vue conceptuel qu’appliqué. Niveau: Maîtrise
  • CG2.5 Maîtriser la sécurité des logiciels, systèmes, réseaux et des données. Niveau: Applications

Acquis

  • Savoir définir l'interface d'un composant logiciel Niveau: Maîtrise
  • Définir une architecture logicielle Niveau: Notions
  • Mettre en oeuvre un mapping objet-relationel Niveau: Notions
  • Mettre en oeuvre une application répartie hétérogène Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE1

Jeu d'entreprise

Semestre : 8

 

ECTS: 1

Responsable: Bachelot Christine

Résumé: Le jeu d’entreprise permet de mettre en œuvre les concepts théoriques vus en cours, d’être sensibilisé à la gestion d’entreprise, à la performance, à la rentabilité et de comprendre l’intérêt de prévisions fiables.Cet outil pédagogique permet de développer des savoirs-faires spécifiques

Prerequis:

  • les acquis des cours:

     

    • Connaissance Entreprise 1
    • Connaissance Entreprise 2
    • Gestion d'entreprise

Objectifs

  • L'objectif poursuivi est l'acquisition et le développement par l'étudiant d'un mode de pensée managérial, lui permettant, dans son avenir,  une rapide insertion dans le milieu professionnel

Contenu

  • Lecture notice participants jeu Winfirm PRO
  • Composition des équipes et affectation des postes
  • Analyse de la première décision et résultats au 31/12
  • Rendu feuilles d'ordre pendant 8 à tours
  • Challenge communication publicitaire

Compétences

  • CG4.3 Etre capable de transférer des innovations recherche vers le contexte industriel. Niveau: Maîtrise
  • CG7.1 L'aptitude à prendre en compte les enjeux environnementaux, notamment par application des principes du développement durable. Niveau: Maîtrise
  • CG5.1 L'esprit d'entreprise et l'aptitude à prendre en compte les enjeux économiques, le respect de la qualité, la compétitivité et la productivité, les exigences commerciales, l'intelligence économique. Niveau: Maîtrise
  • CG9.1 La capacité à s'insérer dans la vie professionnelle, à s'intégrer dans une organisation, à l'animer et à la faire évoluer : exercice de la responsabilité, esprit d'équipe, engagement et leadership, management de projets, maîtrise d'ouvrage, communication avec des spécialistes comme avec des non-spécialistes, voire la gestion d'entreprise innovante. Niveau: Maîtrise
  • CG6.1 L'aptitude à prendre en compte les enjeux de relation au travail, d'éthique, de sécurité et de santé au travail. Niveau: Maîtrise
  • CG8.1 L'aptitude à prendre en compte les enjeux et les besoins de la société. Niveau: Maîtrise
  • CG11.1 La capacité à se connaître, à s'auto-évaluer,à gérer ses compétences,-notamment dans une perspective de formation tout au long de la vie- ,à opérer ses choix professionnels. Niveau: Maîtrise

Acquis

  • Gérer la concurrence entre équipes et l'incertitude Niveau: Maîtrise
  • Définir une stratégie et établir des prévisionnels Niveau: Maîtrise
  • Prendre des décisions en groupe et gérer les divergences d'opinion Niveau: Maîtrise
  • Rendre compte du retour d'expérience : forces, faiblesses, erreurs commises... Niveau: Maîtrise

Evaluation: Présentation orale

Publics

  • SI4

Ce cours fait partie de

  • S8-UE3

LV2 s8

Semestre : 8

ECTS: 1.50

Responsable: Storey Françoise

Résumé: Langue vivante 2: l'étudiant continue d'étudier la langue qu'il avait choisie en S6 (ou continue en anglais renforcé). Etude de la langue (toutes compétences), culture du pays, culture d'entreprise, le cv dans la langue du pays, préparation à la mobilité. Anglais renforcé: préparation à la certification.

Prerequis:

  • les acquis des cours:

     

    • LV2 s6
    • LV2 s7

Objectifs

  • Développer un niveau B1 selon la langue étudiée et le niveau du cours
  • Développer des connaissances culturelles sur le pays de la langue étudiée.

Contenu

  • Révisions
  • Travail sur toutes les compétences tout au long du semestre

Compétences

  • CG10.1 L'aptitude à travailler en contexte international : maîtrise d'une ou plusieurs langues étrangères, ouverture culturelle associée, adaptation aux contextes internationaux. Niveau: Applications

Acquis

  • Compréhension orale Niveau: Applications
  • Expression orale Niveau: Applications
  • Compréhension écrite Niveau: Applications
  • Expression écrite Niveau: Applications
  • Communication Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE3

Programmation fonctionnelle

Semestre : 8

ECTS: 2.5

Résumé: Ce cours montre les grands principes de la programmation fonctionnelle. Le langage support pour le cours et les TD est le langage Scheme (un dialecte de Lisp).

Objectifs

  • L'objectif de ce cours est de montrer quelques rudiments de programmation fonctionnelle, et par là donc, de monter que la programmation n'est pas obligatoirement impérative. Toutefois, ce cours n'est pas un cours sur le langage Scheme (seule une toute petite partie du langage est montrée), mais plutôt un cours qui montre que les langages fonctionnels permettent d'implementer très facilement certains paradigmes de la programmation classique (structures, modules, objets, ...).

Contenu

  • Programmation fonctionnelle, les principes
  • Rudiments de Scheme
  • Fonctions, Environnement, Fermetures
  • Programmation d'ordre supérieur
  • Implémentation de Types Abstraits de Données
  • Macros
  • Implémentation d'un langage à objet

References

  • Revised Report on the Algorithmic Language Scheme, R. Kelsey, W. Clinger, J. Rees (eds.), Higher-Order and Symbolic Computation, Vol. 11, No. 1, September, 1998 (http://www.schemers.org/Documents/Standards/R5RS/)
  • Structure and Interpretation of Computer Programs (2/e), Harold Abelson, Gerald Jay Sussman with Julie Sussman, MIT Press, 1996
  • Teach Yourself Scheme in Fixnum Days, Dorai Sitaram. (http://www.cs.rice.edu/~dorai/t-y-scheme/t-y-scheme.html)

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Maîtrise
  • CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Niveau: Maîtrise

Acquis

  • Comprendre qu'il existe d'autres façons de résoudre un problème que la programmation impérative. La connaissance des principes base de ce type de programmation pourra ensuite être adaptée dans des langages conventionnels. Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S8-UE2

Programmation parallèle

Semestre : 8

ECTS: 2.5

Résumé: Savoir paralléliser un algorithme et programmer plusieurs processeurs pour réaliser un traitement.

Prerequis:

  • les acquis des cours:

     

    • Gestion de la concurrence
    • Programmation Orientée Objet
    • Programmation multi-paradigmes
    • Programmation procédurale

Objectifs

  • Paralléliser un algorithme
  • Programmer avec plusieurs CPU
  • Programmer avec plusieurs machines

Contenu

  • Introduction générale à la programmation parallèle
  • Architectures à mémoire partagée
  • Architectures à mémoire distribuée
  • Architectures GPGPU et programmation GPU
  • Architectures MapReduce

References

  • A Grama, A. Gupt, G. Karpys, V. Kumar, Introduction to Parallel Computing (2nd edition), Addison Wesley 2003.
  • Arnaud Legrand, Yves Robert. Algorithmique Parallèle, Cours et exercices corrigés, Dunod, 2003.
  • M. Gengler, S. Ubeda, F. Deprez, Initiation au parallelisme - Concepts, architectures et algorithmes, Masson 1996.
  • P.S. Pacheco. Parallel programming with MPI. Morgan Kaufmann. 1997.
  • R. Chandra, R. Menon, L. Dagum, D. Kohr, D. Maydan, J. Mc_Donald. Parallel Programming in openMP. Morgan Kaufmann Publishers, 2000.

Compétences

  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Applications
  • CG3.5 Maîtriser des méthodes de gestion des projets informatiques de grande échelle incluant les normes de qualité, permettant de concevoir leur architecture et leur intégration / évolution dans des systèmes préexistants : urbanisation des systèmes d'informatiques. Niveau: Applications

Acquis

  • Programmation GPU Niveau: Maîtrise
  • Programmation OpenMP Niveau: Maîtrise
  • Effectuer un traitement avec MapReduce Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE2

Projet Semestre 8: projet innovation

Semestre : 8

ECTS: 4.5

Résumé: Ce projet de 3 semaines permet aux étudiants de spécifier un développement logiciel innovant, et de mettre en oeuvre cette spécification dans un esprit "start-up".

Prerequis:

  • Développement logiciel Qualité et Génie loigiciel
  • les acquis des cours:

     

    • Qualité et Génie logiciel

Objectifs

  • Proposer des solutions innovantes
  • Livrer et démontrer un projet logiciel

Contenu

  • Les étudiants proposent un sujet "innovant" dans le cadre d’un appel d’offre.

Compétences

  • CG4.3 Etre capable de transférer des innovations recherche vers le contexte industriel. Niveau: Applications

Acquis

  • Spécifier des objectifs Niveau: Maîtrise
  • Livrer un projet logiciel Niveau: Maîtrise
  • Mettre en place un démonstrateur public Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE5

Réalité augmentée

Semestre : 8

ECTS: 2.5

Résumé: Enseignement des techniques modernes de la vision par ordinateur et des fondements des interfaces gestuelles.

Prerequis:

  • Notions de base en algèbre linéaire
  • les acquis des cours:
    • Programmation multi-paradigmes
    • Programmation procédurale
    • Signal Son et Image pour l'informaticien

Objectifs

  • Manipuler des objets 3D
  • Reconnaître des gestes en 3D

Contenu

  • Introduction
  • Applications en réalité augmentée
  • Mouvement de corps rigide
  • Formation des images
  • Géométrie visuelle
  • Estimation robuste de paramètres dans le monde réel
  • Réalité augmentée avec des modèles 3D connus
  • Acquisition de modèles 3D
  • Réalité augmentée dans des environnements inconnus
  • Interface gestuelle

Compétences

  • CG1.2 Maîtriser les liens entre les disciplines et transposer les mêmes concepts d'un domaine à un autre, être capable de collaborer avec des spécialistes de disciplines connexes Niveau: Applications
  • CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Niveau: Applications

Acquis

  • Notions de base en vision par ordinateur Niveau: Maîtrise
  • Reconnaissance de gestes Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE3

Réseaux avancés et intergiciel

Semestre : 8

ECTS: 2.5

Résumé: Les applications distribuées ont besoin de mécanismes d'interactions spécialement conçus pour être exécutés dans des environnements hétérogènes et sur de systèmes différents. L'ensemble de ces mécanismes d’interaction, appelé la couche intergicielle, repose sur des protocoles réseaux dont elle doit bénéficier et qu'elle doit exploiter au maximum, afin de fournir les services de fiabilité ou encore de sécurité demandés par les applications. Ce cours divisé en 2 parties étudie d'une part les services offerts par les protocoles de transport (tels que les mécanismes de fiabilité, récupération d'erreurs, partage et management de ressources); les mécanismes d’interconnexion par le biais du routage statique et dynamique; ainsi que la performance du réseau en fonction de l'infrastructure sous-jacente (filaire ou sans-fil). D' autre part, ce cours vise à faire comprendre la façon dont un intergiciel permet, au-dessus de protocoles réseau adéquats, d'offrir un support d'exécution approprié pour des applications réparties. Les propriétés offertes sont par exemple: sécurisation des communications, support à l'exécution concurrente d'activités sur un nœud, transmission fiable synchrone ou asynchrone des messages applicatifs, interopérabilité entre activités réparties et décrites dans différents langages, nommage et localisation d'activités réparties, etc. Les intergiciels utilisés, sont par exemple (liste non exhaustive) la plateforme Java RMI, le bus à objets CORBA, le bus à messages JMS.

Prerequis:

  • Adressage IP, Connaissances basiques des protocoles de transport, Protocoles réseau,

     

  • les acquis des cours:

     

    • Gestion de la concurrence
    • Programmation Orientée Objet
    • Programmation systèmes
    • Réseaux: configuration et programmation

Objectifs

  • Comprendre comment un intergiciel permet, au dessus de protocoles réseau adéquats, d'offrir un support d'exécution approprié pour des applications réparties. Les propriétés offertes sont par exemple: sécurisation des communications, support à l'exécution concurrente d'activités sur un noeud, transmission fiable synchrone ou asynchrone des messages applicatifs, interopérabilité entre activités réparties et décrites dans différents langages, nommage et localisation d'activités réparties, etc.
  • Comprendre les services offerts par les protocoles de transport (tels que les mécanismes de fiabilité, récupération d'erreurs, partage et management de ressources); les mécanismes d’interconnexion par le biais du routage statique et dynamique; ainsi que la performance du réseau en fonction de l'infrastructure sous-jacente (filaire ou sans-fil).

Contenu

  • Synchronous interaction paradigm: Remote Method invocation between Objects : Java RMI, CORBA
  • TP : étude avancé de la plateforme RMI Java
  • TP : Introduction rapide à CORBA
  • TP: Introduction à l'intéroperabilité entre Java et CORBA
  • TP: Présentation rapide dU JMS
  • UDP vs TCP
  • Le Protocole de contrôle de congestion TCP
  • Introduction aux firewalls et NATs
  • Introduction aux problèmes de contention et les protocoles MAC

Compétences

  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Maîtrise

Acquis

  • Comprendre les avantages/desvantages des protocoles UDP et TCP (du point de vu de la fiabilité, contrôle d'erreur, équité, contrôle de flux et contrôle de congestion) Niveau: Applications
  • Comprendre l'impact de l'environnement sur la performance réseau Niveau: Applications
  • Comprendre les mécanismes de routage et être capable d'écrire une table de routage en fonction de la topologie réseau Niveau: Applications
  • Savoir concevoir, programmer, déployer une application répartie, tirant partie des spécificités offertes par l'intergiciel support choisi. Niveau: Applications

Evaluation: Projet et contrôles écrits

Publics

  • SI4

Ce cours fait partie de

  • S8-UE1

Securité logicielle

Semestre : 7

ECTS : 3

Objectifs

  • sécuriser un logiciel

Contenu

References

  • reference 1

Compétences

  • CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Niveau: Maîtrise

Acquis

  • sécurité logicielle Niveau: Applications

Publics

  • SI4

Ce cours fait partie de

  • S8-UE2

Service Oriented Computing /WS

Semestre : 8

ECTS: 2.5

 

Résumé: Ce cours introduit le concept de service logiciel et les deux grandes approches pour le développement d'application orientée service (SOA, ROA). Ce cours s'appuie sur une double démarche pédagogique : - placer dans l'évolution historique du Web l'apparition des services Web - décomposer le concept abstrait de service selon un modèle unifié et présenter ses déclinaisons technologiques. Dans ce cadre les deux technologies le plus populaires du domaine sont détaillées et expliquées : - les Web Services RESTFul - les Web Services WS-SOAP du W3C Le modèle unifié présenté est ensuite illustré par l'environnement de développement de services "Windows Communication Foundation" du framework .Net. Chacune des notions, donne lieu à des Travaux Pratiques pour en assurer la maîtrise et mettre en avant l'avantage prépondérant d'une application distribuée développée avec des services : l'interopérabilité.

Prerequis:

  • les acquis des cours:

     

    • Programmation Orientée Objet<
    • Réseaux: configuration et programmation

Objectifs

  • Introduction du concept de service logiciel et des deux grandes approches pour le développement d'application orientée service (SOA, ROA).
  • Comprendre dans l'évolution du Web l'apparition des services Web
  • Introduire un modèle unifié de service logiciel et présenter ses déclinaisons technologiques les plus populaires : - les Web Services RESTFul - les Web Services WS-SOAP du W3C
  • Mis en oeuvre de l'environnement de développement de services "Windows Communication Foundation" du framework .Net basé sur le modèle unifié introduit au travers des exercices pratiques.
  • Mettre en oeuvre une application multi-services sur des plateformes hétérogènes pour mettre à profit l’interopérabilité des services.

Contenu

  • Les principes des architecture SOA (orientée service) et des ROA (orientée ressource)
  • Illustration avec les approches les plus populaires : - les services RESTFul pour les ROA - les services WS-SOAP pour les SOA
  • Modèle unifié de service logicielle. Mise en oeuvre du Modèle de programmation de services de Windows Communication Foundation .Net. Gestions des contrats, liaisons, adresses et canaux dans le développement de services.
  • Introduction au Web H2M (Human to Machine): - son protocole HTTP - la gestion de pages Web statiques puis dynamiques Application aux cgi-bin, formulaires Web, et JSP.
  • Passage d'une approche H2M du Web au M2M (Machine to Machine) : le browser web n'est plus le seul client web

References

  • Pro WCF 4: Practical Microsoft SOA Implementation, par Nishith Pathak
  • RESTful Web Services Par Leonard Richardson,Sam Ruby, O'Reilly
  • Web Services Essentials: Distributed Applications with XML-RPC, SOAP, UDDI ... Par Ethan Cerami, 2002, O'Reilly

Compétences

  • CG2.1 Maîtriser les différents aspects du développement logiciel, qu'ils soient techniques, fonctionnels, organisationnels ou humains. Niveau: Expert
  • CG2.4 Maîtriser les architectures des systèmes informatiques permettant de déployer des solutions sur des plateformes hétérogènes et réparties : serveurs et postes clients, réseaux et Internet, réseaux mobiles. Niveau: Expert
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Applications

Acquis

  • Architecture Logicielle orientée service et orientée ressource Niveau: Applications
  • Modèle de programmation de services Windows Communication Foundation .Net Niveau: Expert
  • Compréhension de l'évolution du Web des browsers aux services web Niveau: Maîtrise
  • Développement Web Services WS-SOAP / W3C Niveau: Expert
  • Modèles de Services Logicielles Niveau: Maîtrise
  • Développement Web Services REST/RESTFul Niveau: Expert

Evaluation: Contrôle Continu : QCMs et/ou TP à rendre et évaluation finale

Publics

  • SI4

Ce cours fait partie de

  • S8-UE1

Stage EPU4

Semestre : 8

 

ECTS : 5

Horaires: Durée minimum en semaines - 8

Résumé: Ce stage, d'une durée minimum de 8 semaines, doit permettre à l'élève de participer à la réalisation d'une ou plusieurs missions. Les tâches confiées à l'élève en stage peuvent être d'ordre technique, scientifique ou organisationnel. L'élève doit cependant être associé aux phases d'étude/analyse/schéma d'action, ainsi qu'à l'exploitation des informations et résultats auxquels il aura contribué. Cela doit lui permettre de faire le lien entre les connaissances et savoir-faire acquis pendant le cursus scolaire et universitaire et leur mise en oeuvre en situation professionnelle. Les élèves sont encouragés à effectuer ce stage à l'étranger.

Prerequis:

  • les acquis des cours:

     

    • Connaissance Entreprise 1
    • Connaissance Entreprise 2
    • Stage Année 3

Objectifs

  • La transformation en compétences des connaissances acquises dans le cadre de la formation.

Compétences

  • CG5.1 L'esprit d'entreprise et l'aptitude à prendre en compte les enjeux économiques, le respect de la qualité, la compétitivité et la productivité, les exigences commerciales, l'intelligence économique. Niveau: Maîtrise

Publics

  • SI4

Ce cours fait partie de

  • S8-UE4

Valorisation des données

Semestre : 8

ECTS : 2.5

Résumé: Découvrir les outils de base pour valoriser des données. La valorisation des données comprend plusieurs étapes : l'acquisition, la traitement et l'affichage.

Prerequis:

  • Notions de base en machine learning.

     

  • les acquis des cours:

     

    • Machine Learning

Objectifs

  • Analyser et visualiser des données
  • Interpréter des données
  • Échantillonner des données et réduire leur dimension

Contenu

  • Introduction à la science des données
  • Acquisition et nettoyage de données
  • Description des données
  • Échantillonnage des données
  • Interpolation de données
  • Méthode des moindres carrées
  • Série chronologique
  • Réduction de la dimensionnalité des données
  • Visualisation des données

References

  • G.Govaert, "Analyse des données", Hermes, 2003.
  • M. Jambu, "Exploration informatique et statistique des données", Dunod,1989.

Compétences

  • CG1.3 Maîtriser des méthodes et outils mathématiques utilisés en informatique permettant de concevoir et valider des solutions techniques et de contourner des limitations intrinsèques:théorie de l'information, statistiques, cryptographie, modèles aléatoires, calculabilité. Niveau: Applications
  • CG2.2 Maîtriser les mathématiques permettant la manipulation des données informatisées sous toutes leurs formes. Niveau: Maîtrise
  • CG3.1 Concevoir des modèles, systèmes et process en utilisant des méthodologies d'analyse, de conception et de modélisation, en connaissant leurs limites et sans perdre le sens de la réalité et du concret. Niveau: Notions

Acquis

  • Analyser des données sous différents formats Niveau: Applications

    Publics

    • SI4

    Ce cours fait partie de

    • S8-UE1