Semestre 1

 

Unité d’enseignement

Objectifs pédagogiques

Cours

TD

TP

ECTS

Anglais Les objectifs de ce module sont de préparer au TOEIC et de faire acquérir le vocabulaire d’anglais spécifique de base. Le cours repose sur des exercices écrits et oraux principalement à partir de la presse écrite et audiovisuelle anglaise/américaine. 30 4
Connaissance de l’environnement professionnel Introduction à la gestion et à l’économie des entreprises. 30 4
Génie logiciel 1 Ce module a pour objectifs pédagogiques l’apprentissage de la conception logicielle. S’inscrivant dans une démarche de développement, l’activité de conception intervient après une phase de spécification des besoins et avant la phase de codage. Elle a pour but principal de proposer une réponse informatique aux besoins du client à la fois d’un point de vue statique (architecture) et d’un point de vue dynamique (fonctionnement de cette architecture). Nous abordons ces notions en nous appuyant sur une étude de cas permettant de présenter successivement certains principes de conception et certaines règles de conceptions. On évoquera les patrons GRASP proposés par Graig Larman et les patrons GoF classiques. 10 6 9 3
Programmation concourante On aborde dans ce module les problèmes classiques de la programmation concurrente (philosophes, Producteurs/Consommateurs, Lecteurs/Rédacteurs, Coiffeur endormi) ainsi que les principaux outils utilisés dans ce cadre: segments de mémoire partagée, sémaphores, threads, moniteurs 8 8 9 3
Représentation des connaissances Introduction à l’intelligence artificielle, présentation d’algorithmes de raisonnement logique et de résolution de problèmes et introduction aux systèmes à base de connaissances (SBC). Mise en pratique avec le moteur d’inférences CLIPS à base de règles. 14 8 18 5
Apprentissage automatique Le but de ce cours est d’énoncer les principes de l’apprentissage automatique sur des données numériques et puis de présenter les méthodes principales utilisées. Après une présentation de la décision minimisant le risque bayésien, on exposera la différence entre les méthodes supervisées et les méthodes non supervisées, puis celle entre les méthodes paramétriques dans lesquelles un modèle est sous-jacent et dont il faut estimer les paramètres des méthodes. Dans un deuxième temps, on présentera les principales méthodes supervisées : maximum de vraisemblance dans le cas gaussien, k- plus proche voisin, fonctions discriminantes et machine à vecteur de supports, réseau de neurones multi-couches, méthode de recuit simulé. Ce cours se terminera par la présentation des méthodes de classification non supervisées telles que les méthodes des nuées dynamiques et les algorithmes à chaînes. 18 4 18 5
Programmation fonctionnelle Programmation fonctionnelle avec le langage SCALA 8 10 12 3
Mise à niveau : Programmation objet – Calcul numérique Notions indispensables de programmation objet et de calcul numérique, constituant des prérequis pour les autres modules. 26 3

Semestre 2

 

Unité d’enseignement

Objectifs pédagogiques

Cours

TD

TP

ECTS

Anglais Les objectifs de ce module sont de préparer au TOEIC et de faire acquérir le vocabulaire d’anglais spécifique de base. Le cours repose sur des exercices écrits et oraux principalement à partir de la presse écrite et audiovisuelle anglaise/américaine. Elle inclut l’organisation d’un TOEIC blanc 30 3
Connaissance de l’environnement professionnel Ce module présente le vocabulaire de l’entreprise, comment communiquer dans un groupe, comment trouver un emploi, préparer un entretien, un CV, rédiger une lettre motivation, et enfin la gestion de projet, en particulier sur les aspects financiers 30 3
Génie logiciel et modélisation Ce module a pour objectif principal d’enseigner aux étudiants de Master Informatique l’intérêt et les apports de l’utilisation de modèles (au moins semi-formels) dans le développement d’un projet informatique. Il aborde les notions de modèle et de métamodèle. Il illustre ces deux notions par l’apprentissage du langage de modélisation UML. Les travaux dirigés et les travaux pratiques visent à apprendre à faire l’analyse orientée objet d’un « cahier des charges » et à en donner un modèle UML. Ce module se concentre sur l’usage d’UML comme outil de formalisation de l’analyse des besoins dans le développement d’un projet informatique. L’utilisation d’UML pour les activités de conception est abordé dans un second module du second semestre du Master. 8 6 9 3
Programmation distribuée Ce module a pour objectif principal d’enseigner aux étudiants de Master Informatique les différents paradigmes de la programmation de systèmes distribués tels que la communication par objets distribués, la communication par messages et la communication par composants. Les étudiants mettront en oeuvre en TD et en TP différentes technologies standards de l’environnement Java EE : JRMI, JMS, JSF, EJB, JPA. 10 8 12 3
Programmation d’interfaces embarquées Programmation d’interfaces pour des terminaux mobiles et tactiles (téléphone, tablettes, etc.) 4 6 15 3
Graphes et automates probabilistes Graphes et probabilités pour la modélisation de séquences : chaines de Markov, modèles de Markov cachés (HMM), algorithme de Viterbi, automates à états finis et transducteurs. 8 6 12 3
Sensibilisation à la recherche L’objectif de ce cours est de sensibiliser les étudiants au domaine de la recherche, via une présentation générale du monde de la recherche et en abordant concrètement quelques-unes des thématiques de recherche du laboratoire d’informatique, au travers de travaux dirigés et pratiques. 4 4 8 2,5
Gestion de projet Ce module a pour objectif principal d’enseigner aux étudiants de Master Informatique l’intérêt et les apports des processus logiciels pour guider et améliorer le déveppement logiciel. Dans une première partie les notions de processus, de modèle et de méta-modèle de processus sont abordées. En particulier la représentation des modèles de processus logiciels sont présentés.
Sur la base des limites des modèles de processus classique type cascade, la notion de processus agile est introduite dans une deuxième partie de ce cours. Un panorama des principales méthodes agiles est présenté. Deux méthodes feront l’objet plus particulièrement de ce cours : SCRUM et XP.
Dans les travaux dirigés et pratiques la première partie du cours sera mise en pratique au travers l’utilisation d’un environnement de gestion et de création (de type CMS) d’un processus logiciel. Une mise en oeuvre des principes de la méthode SCRUM au travers de jeux de simulation et d’un projet sera également proposée en application de ce cours.
8 8 2,5
Conception et développement logiciel Ce module vise à mettre en pratique les connaissances acquises (conduite de projet, modélisation, programmation) au travers de la réalisation d’un travail en groupe donnant lieu à la rédaction d’un rapport et à la présentation d’une soutenance. 60 3
Stage Un stage obligatoire de 3 mois minimum s’effectue à partir du mois d’avril. Le stage se fait en entreprise ou parfois en laboratoire de recherche. L’étudiant cherche son stage. Il dispose pour cela d’un ensemble d’outils : site web spécifique au Master, offres ciblées, base des anciens stages, salon du stage en octobre, interventions d’entreprises au cours du premier semestre). L’évaluation se fait sur rapport écrit et soutenance orale. 3 mois 4