Syllabus du CMI Informatique de l`Université de Montpellier 2015

Transcription

Syllabus du CMI Informatique de l`Université de Montpellier 2015
Syllabus du CMI Informatique de l’Université de Montpellier∗
2015-2020
A.E. Baert
∗
Les contenus, intitulés, responsables des modules des spécialité du Master Informatique sont donnés à titre
indicatif ; la formation est en attente de l’accréditation de l’Université de Montpellier pour le LMD4 (courant 2015)
1
1
Licence CMI Informatique
S1
Introduction à l’algorithmique
Du binaire au web
Calculus
Algèbre et Analyse 1
Physique générale
Introduction aux métiers de l’ingénierie
S2
De la combinatoire aux graphes
Architecture des ordinateurs
Programmation impérative
Modèles de calcul
Algèbre et Analyse 2
Anglais
Projet personnel de l’étudiant
Communication écrite et orale 1
Projet Informatique
5 ECTS
5 ECTS
5 ECTS
10 ECTS
5 ECTS
5 ECTS
2.5 ECTS
5 ECTS
5 ECTS
7,5 ECTS
2,5 ECTS
2,5 ECTS
2,5 ECTS
2,5 ECTS
Table 1: Offre L1
1.1
Semestre 1
1. Introduction à l’algorithmique et à la programmation (Janssen)
Nous nous intéressons dans cet enseignement à la résolution de problèmes à l’aide d’ordinateur.
Pour résoudre un problème on procède en deux étapes : Définition de l’algorithme : description
du calcul permettant la résolution du problème ; le calcul, qui correspond à un enchaînement
d’actions à exécuter, est écrit dans un langage universel indépendant des ordinateurs : le
langage d’algorithme. Nous introduirons deux formes d’expression d’un algorithme : récursive
et impérative (séquentielle).
Ecriture du programme : on traduit l’algorithme dans un langage de programmation en tenant
compte des spécificités du langage choisi (syntaxe, opérations disponibles, ...) ; le programme
obtenu peut être exécuté sur un ordinateur. Le langage de programmation choisi est C++.
Ò Types des données simples (nombres, booléens), opérations sur les données, expressions
Définition d’un algorithme, partie spécifications (données, résultat), corps de l’algorithme
Algorithmes récursifs sur les nombres
Introduction du langage C++, les types, syntaxe des expressions, des fonctions
Définition des listes et algorithmes récursifs sur les listes - écriture en C++
Le style impératif, variables, environnement
Les instructions : l’affectation, la séquence, les conditionnelles, les itérations - écriture en
C++
Algorithmes impératifs sur les nombres
2
Type de données tableaux - écriture en C++
Algorithmes sur les tableaux
2. Du binaire au web (Bouziane, Daudé)
Objectifs : s’approprier des notions de base de l’informatique et comprendre leur utilité, se
familiariser avec leur fonctionnement. Avoir aussi une vision introductive sur des thèmes enseignés les années suivantes, les liens entre ces thèmes et leur importance. Contenu : Trois
thèmes seront abordés : représentation de l’information, système et réseau, Web, selon une
approche résolument orientée vers la pratique (codage de l’information, compression, traitement d’images ou du son, introduction à Unix, recherches sur internet, échange d’information
dans une application réseau, création d’un CV à travers la création d’une page Web, etc.)
3. Calculus (Boudet)
Cette option de 50h dont 25h spécifiques à la discipline informatique, se présente sous forme
de cours/TD intégrés. Elle a pour but de familiariser les étudiants avec le maniement des expressions mathématiques élémentaires utiles dans toute discipline scientifique. Le programme
passe en revue les règles de base (calcul, trigonométrie, arithmétique), les équations et systèmes d’équations, les notions d’ensembles et de relations, quelques éléments de statistiques
mais aussi la notion de preuve et de raisonnement.
* Règles de calcul élémentaires
* algèbre de boole, table de vérité, intro logique, expressivité
* récurrence/induction, raisonnements divers, suites (arithmétique, géométrique, résolution,
...)
* arithmétique (base, pgcd, divisibilité, bezout, codage, ...) congruence
* trigonométrie (complexe ?)
* vecteur (allégé)/espace vectoriel
* equation et système d’équations
* dérivation/intégration
* ensemble, relation, fonction, application : introduction de notions mais pas de modélisation
* éléments de statistiques, incertitudes, combinatoires
4. Analyse et Algèbre 1 (10 ECTS) :
Fondements : logique et raisonnement, ensembles, applications.
Algèbre Linéaire 1 : espace Rn , systèmes linéaires, familles libres et liées, bases et dimensions,
applications linéaires, matrices, théorème du rang.
Analyse 1 : fonctions usuelles, calcul de limites, calcul de dérivées, calcul de primitives,
continuité et théorème des valeurs intermédiaires, applications.
5. Physique :
Le cours de Physique générale a pour objectif de vous donner quelques bases pour appréhender
les problèmes de physique. Une première partie permettra de vous familiariser avec les notions
de mesures, d’ordre de grandeur, d’incertitudes. La seconde partie traitera les notions de base
permettant d’aborder la dynamique newtonienne en toute sérénité au prochain semestre. La
dynamique newtonienne est la théorie qui fonde la physique classique et décrit les mouvements
des corps soumis à des forces, en particulier la force d’inertie. Une force se comprend par ses
effets qui résultent de l’interaction des deux systèmes : la terre et le soleil, l’électron et le
noyau, le proton et le neutron.
3
Cette seconde partie est elle-même composée de quatre grandes parties. La première concernera la statique des forces. Il est, en effet, indispensable d’être capable de traiter le cas
statique avant de s’intéresser au cas dynamique. Cela permet en général de mieux appréhender les problèmes de dynamique (ne pas oublier de force, les forces à l’origine du mouvement,
?). Le second point permettra de remémorer les notions de cinématique et notamment les
grandeurs vectorielles telles que la vitesse et l’accélération. Les changements de référentiel
en translation seront abordés. Le troisième point traitera de la dynamique newtonienne. Les
équations de bases seront établies et appliquées à des cas simples (chute libre, force centrale).
Enfin, le dernier point abordé concernera la notion d’énergie mécanique. Il s’agit d’un outil
très puissant permettant souvent de résoudre plus simplement les problèmes de Physique.
6. Introduction aux métiers de l’ingénierie spécifique CMI
Cette UE est organisée dans l’esprit de la pédagogie APP autour de plusieurs activités. L’UE
est structurée autour d’activités réalisées en groupe de 5 étudiants, ces groupes sont volontairement composés d’étudiants de plusieurs spécialité de CMI.
• kick-off (1 séance) - constitution des groupes - apprentissage du travail en équipe.
• réflexion autour du métier d’ingénieur " dessine moi un ingénieur" (1 séance) - définition
du métier (fonction) de l’ingénieur - la place de l’ingénieur dans la société, les différentes
voie pour accéder à ce métier.
• rencontre avec un ingénieur (1 séance) - confrontation de l’image de l’ingénieur construite
par le groupe avec la réalité dans un débat-rencontre avec des ingénieurs.
• jouer à l’ingénieur" fabrique moi une fusée" (2 séances) - au travers d’une activité ludique
l’apprentissage du métier d’ingénieur.
• interview d’un chercheur (3 séances) - le but de cette dernière activité est de sensibiliser
les étudiants à l’importance de la recherche - chaque groupe rencontre un chercheur de
l’un des laboratoires partenaires des CMI pour une interview sur ses activités, le rendu
de ce travail (production d’un clip vidéo) est évalué par l’ensemble de la promotion lors
de la dernière séance.
1.2
Semestre 2
1. De la combinatoire aux graphes (Bérard)
La première partie de ce module commence par de rapides rappels des mathématiques de
base nécessaires à l’informatique fondamentale et vus lors de modules du premier semestre :
ensembles, relations, applications, preuves par récurrence et induction. Nous approfondirons
ensuite la notion de cardinalité des ensembles et les relations binaires (relations d’ordre et
d’équivalence). Nous verrons les grands principes de dénombrement (arrangement, permutation, principe des tiroirs, ...). Nous traiterons des ensembles définis par induction et des
preuves par induction structurelle associées. La deuxième partie introduit la notion de graphe
(version orientée et non orientée) et les définitions de base associées : degrés, connexité,
cheminement, arbres. Nous énoncerons plusieurs propriétés de graphes. Nous nous servirons
des graphes comme supports aux principes vus lors de la première partie, notamment en
s’attachant à la démonstration de propriétés sur les graphes.
4
2. Programmation impérative (Giorgi, Joab)
Ce module s’intéresse aux fondements des langages impératifs et de la mise en pratique de
ces langages de programmation. En particulier, les points suivants sont abordés: - le typage
statique des données - la gestion mémoire (variable, pointeurs, adresses) - la définition et
l’appel de fonction (passage des paramètres) - la manipulation explicite de la mémoire (tableau,
allocation dynamique) - la définition et l’utilisation de structure de données composites (struct)
- les entrées-sorties
3. Modèles de calcul (Durand)
Nous présentons ici différents modèles liés au calcul. Nous étudierons le fonctionnement de ces
modèles, les façons de communiquer avec eux. Enfin, nous aborderons la notion de simulation
entre ces modèles afin de comprendre leur puissance relative. La diversité des modèles abordés
est importante pour que l’étudiant comprenne l’intérêt général de la simulation. Nous aborderons les automates finis et leurs variantes, les automates à ruban ou compteurs, les machines
de Turing et les machines à registre, les systèmes de réécriture et les automates cellulaires.
4. Algèbre et Analyse 2 (7,5 ECTS) :
Algèbre Linéaire 2 : changement de base, calcul de petits déterminants, diagonalisation en
petite dimension, calcul matriciel, produit scalaire usuel sur Rn , matrices orthogonales, produit vectoriel. Analyse 2 : théorème de Rolle, théorème des accroissements finis, formule de
Taylor-Young, équivalents et développements limités.
5. Architecture des ordinateurs :
Le cours a pour objectif la compréhension générale de l’organisation matérielle et l’architecture
d’un ordinateur afin d’acquérir les connaissances de base utiles à la compréhension des autres
disciplines de l’informatique. L’accent est notamment mis sur les principes de représentation
des données et des instructions et sur le fonctionnement de la mémoire et de l’unité centrale
de traitement.
6. PPE CMI-2,5 ECTS Bardet
Les objectifs du Projet Personnalisé de l’Etudiant (L1/S2) sont les suivant :
• rendre l’étudiant acteur de son orientation en travaillant sur un projet professionnel en
adéquation avec son cursus et en mettant en place son Portefeuille d’Expériences et de
Compétences (PEC).
• initier l’étudiant à la démarche projet (respect d’un calendrier, étapes de travail à date
fixée)
• transmettre à l’étudiant une méthode de recherche et d’aide à la décision. Les étudiants
suivent une série des cours sur les thématiques suivantes :
• Aide à l’orientation et à l’insertion professionnelle : (Présentation des débouchés professionnels par filière, Portefeuille d’Expériences et de Compétences , Bilan personnel /
Lettre de motivation / CV , Préparation d’un entretien avec un professionnel)
• Recherche documentaire (Recherche documentaire à la BU / Utilisation du COMPASS)
• Gestion de projet (Gestion d’un planning avec validation d’étapes de travail, Rédaction
d’un rapport de synthèse)
5
Le PPE s’appuie fortement sur l’outil PEC qui est un outil d’aide à l’orientation, au retour
en formation et à l’insertion. Le PEC est un outil de valorisation du parcours de formation
et du parcours professionnel. Il permet à l’étudiant de faire son bilan, de construire ses
projets pour mieux communiquer. Au cours du semestre, les étudiants choisissent un métier
en adéquation avec leur parcours, réalisent une recherche documentaire, réalisent un entretien
avec un professionnel et restituent leur démarche dans un dossier écrit, personnel. Le suivi du
travail de chaque étudiant est réalisé par un enseignant référent, plusieurs étapes de travail
doivent être validées au cours du semestre.
7. Anglais CMI- 2,5 ECTS spécifique CMI
Les objectifs sont tout d’abord de permettre l’apprentissage des compétences clés inhérentes
au CECR en anglais scientifique (lire / écouter/ prendre part à une conversation, s’exprimer
oralement en continu, écrire) mais aussi de favoriser la rédaction et tenue d?un portfolio de
compétences en langues calqué sur le modèle du conseil de léEurope Les cours viseront à
une maîtrise écrite et orale de léanglais de spécialité via divers supports : articles, publications, reportages audio et vidéos, présentation de mini-exposés et posters, grammaire, etc.
Les modules feront l’objet d’évaluations régulières dans les 5 compétences qui seront autant
d?indicateurs de la progression individuelle des étudiants.
8. Communication écrite et orale 1-2,5 ECTS spécifique CMI
Le module se compose de trois grandes parties :
• Culture Générale et Expression écrite -Apprendre à structurer un lettre, Apprendre à
faire une synthèse écrite, structuration d’un rapport sur un sujet de culture générale :
Cinéma, littérature, Musique, etc..
• Culture Générale et Expression oraleă:-Apprendre à présenter un sujet de culture générale
: Cinéma, littérature, Musique, etc..Téléphone, débat, synthèse,
• Mise en place du CV (structuration, importance,)
Enseignement repose de plus sur la mise en place du Carnet de suivi de l’étudiantă L’utilisation
du Réseau Voltaire dédié à l?acquisition des bases en expression française permettra une
évaluation du niveau en Langue Francaise.
9. Projet Informatique CMI-2,5 ECTS spécifique CMI
Ce module s’appuie sur les 2 modules d’informatique du S1 et S2. Il a pour but de développer
en C /C ++ des petits jeux en utilisant la librairie SDL. Les objectifs pédagogiques sont les
suivant:
• mise en pratique des notions de programmation C/C ++ vu au premier semestre,
• intégration d’une bibliothèque externe comme la SDL pour développer un projet
• travail en groupe et autonomie de gestion de projet.
Ce module est ouvert au CMI Informatique et EEA.
6
S3
Algorithmes et structure de données linéaires
Systèmes d’exploitation
Systèmes d’information et bases de Données 1
Programmation impérative avancée
Statistique descriptive et probabilités
Langue vivante
Introduction à l’économie
Communication écrite et orale 2
S4
Algorithmique et complexité
Programmation applicative
Logique 1
Modélisation et programmation par objet 1
Projet informatique
Langue vivante
Outils informatiques
Recherche Bibliographique
Monde de l’entreprise-Gestion de projet
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
5 ECTS
2,5ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
2,5 ECTS
2,5ECTS
2,5ECTS
Table 2: Offre L2
1.3
Semestre 3
1. Algorithmes et structure de données linéaires (Janssen)
Objectifs :
- savoir écrire des algorithmes de base sur les structures de données linéaires : tableaux, listes
chaînées, piles, files
- savoir justifier un algorithme : énoncer des arguments attestant son arrêt et sa justesse.
- savoir analyser un algorithme en termes de complexité temporel. Connaître les grandes
classes de complexité
- savoir appliquer quelques principes de base pour obtenir des algorithmes efficaces : tri, dichotomie, diviser pour régner
- connaître les définitions élémentaires sur les arbres binaires et savoir écrire des algorithmes
très simples opérant sur les arbres.
Rappels sur le langage algoritmique : passage des paramètres (donnée, résultat, donnée/résultat),
recherche séquentielle dans un tableau, recherche par dichotomie
Analyse d’algorithmes : preuve à base d’invariant, évaluation de la complexité en temps dans
le pire des cas, ordre de grandeur asymptotique, principales classes asymptotiques de fonctions.
Structure de Données élémentaires : Piles, Files, listes chaînées, files de priorité, arbres binaires, représentation d’ensembles.
Algorithmes élémentaires : algorithmes de tris, parcours d’arbre.
7
2. Programmation impérative avancée (Giorgi, Mancheron)
Ce module s’intéresse aux fondements et aux techniques avancées des langages impératifs. En
particulier, les points suivants sont abordés:
- un rappel des concepts de base sur la gestion mémoire (variable, pointeurs, adresses) et les
fonctions (paramètres, renvoie)
- notions avancées de données structurés en relation avec le concept d’objet (notion de classe)
- utilisation des classes dans les structures de données algorithmique (liste, file, ...)
- manipulation de la surcharge des opérateurs et des entrées-sorties
3. Systèmes d’exploitation (Meynard, Pompidor)
Cette UE vise à donner aux étudiants de deuxième année dans une licence scientifique la
possibilité de comprendre et d’utiliser un système d’exploitation tel que Linux . La première
partie de l’UE utilise le langage de programmation C qui est le langage natif d’Unix afin de
comprendre et de manipuler les principes fondamentaux de l’encodage des données et de la
gestion des fichiers et des entrées-sorties. La seconde partie utilise le langage de script Python
qui est interopérable sous tous les principaux systèmes d’exploitation et qui est un langage
beaucoup plus évolué que C.
Programme :
description des systèmes de fichiers et de processus, enseignement des principales commandes
système (notamment pour la gestion des systèmes de fichiers et de processus), explication des
architectures client-serveur illustrées sur l’architecture réseau des salles de TP du département
informatique, introduction au scripting système (notamment pour le reporting des connexions
utilisateurs et des processus).
4. Systèmes d’information et bases de données 1 (Kaci)
L’objectif de cette UE est d’acquérir les compétences pour concevoir un système d’informations
de la collecte des informations à l’implantation d’une base de données ainsi que les requêtes
vis-à-vis de la base.
Contenu de l’UE :
Introduction aux bases de données
Modèle relationnel de données
Modèle entité-association
Langage de manipulation des données
Graphe des flux
Modèle conceptuel de traitement
Modèle organisationnel de traitement
5. Statistique descriptive et probabilités
L’objectif du cours est de présenter les notions fondamentales et les techniques usuelles de
la statistique inférentielle en les situant dans un contexte d’utilisation pratique. L’accent
est mis sur le raisonnement statistique et le cours est axé sur la compréhension et la mise
en oeuvre correcte des méthodes usuelles d’inférence. Les notions présentées sont illustrées
au travers de nombreux exemples.Après un bref rappel de probabilités, le cours présente les
méthodes classiques d’estimation et focalise sur la notion de test statistique. Les approches
paramétriques et non paramétriques sont présentées.
8
6. Anglais (2,5 ECTS) :
Savoir communiquer efficacement en entreprise et sur le marché du travail. Rédiger un CV et
une lettre / un e-mail de motivation. Passer un entretien d’embauche
7. Introduction à l’économie, à la gestion et au management -2,5 ECTS- spécifique CMI
Introduction au monde de l’entreprise : Introduction à l’analyse économique : problématiques
économiques, historiques et contemporaines.(17h). Introduction à La gestion de Projet (17h)
Introduction au Management (17h)
8. Communication écrite et orale 2 -2,5 ECTS-spécifique CMI
Expression écrite : Savoir rédiger un mail, lettre, synthèse, structuration d’un rapport sur
un thème technologique qui sera donné par un enseignant de la licence : ex mécanique,
électronique, optique ou connaissance générale scientifique et d’ingénierie. Expression orale
: Savoir parler, savoir écouter, Conversation Téléphonique, Débat sur un sujet scientifique,
Visio- Conférence synthèse. Organisation/structuration du travail: Diagramme de Gant, Mise
en place du CV (structuration, importance), Suivi sur le Carnet étudiant.
9
1.4
Semestre 4
1. Programmation applicative (Chateau, Dony)
La programmation applicative repose sur un modèle de calcul, issu du lambda-calcul de
Church, qui représente l’exécution d’un programme comme une suite d’applications de fonctions à des arguments, donc comme un simple calcul algébrique (calcul utilisant des nombres
et des symboles). Proche de la programmation fonctionnelle, elle fournit un cadre remarquablement simple pour étudier la programmation et ses structures en général.
Elle fournit en particulier un contexte particulièrement approprié pour étudier les fonctions
et les structures de données récursives (listes, arbres, etc) omniprésentes dans les applications informatiques (par exemple une page HTML décrivant une page web a une structure
d’arbre). Elle se prête également fort bien à la programmation symbolique (manipulation
de données non strictement numériques) utilisée en gestion et en IA. Elle permet enfin de
présenter simplement l’ interprétation des textes et des programmes (affichage d’une page
HTML ou interprétation d’une instruction d’un langage de programmation) comme exemples
de fonctions récursives. Les objectifs du module sont :
• de poursuivre l’acquisition à un niveau intermédiaire des concepts essentiels de la programmation : fonction, identificateurs, portée, durée de vie, bloc, environnement, fonction d’ordre supérieur.
• de renforcer les compétences essentielles de l’informaticien sur : abstraction de données,
composition de calculs, récursivité, transformation des récursivités, gestion automatique
de la mémoire, "garbage collection", typage dynamique, interprétation, ... (sur nombres,
chaînes , listes, arbres)
• d’ouvrir à la compréhension d’un paradigme de programmation, d’une famille de langages
et de ses extensions vers les objets le web (de Lisp, Smalltalk, Clos, à Ruby, Python,
Javascript, etc).
2. Algorithmique et complexité (Dicky)
• 1 Arborescences Mathématique : définitions inductives (arborescence, hauteur, branche),
propriétés mathématiques simples (nombre d’arcs, nombre de feuilles d’un arbre binaire
...), Extensions (étiquetage des sommets et des arcs), Codage d’une arborescence quelconque par une arborescence binaire (uniquement mathématique, pas algo). Algorithmique : Implémentations (binaire et général), Traversées (spécifications puis implémentations), Calcul des distances dans un arbre pondéré (pour préparer Dijkstra). Utilisations
: ABR, Tas.
• 2 Complexité
Définition des classes de complexité et techniques de calcul de complexité d’algorithmes
(itératifs et récursifs). Exemples d’utilisation sur les algorithmes de tri. Etude de la
complexité des algorithmes étudiés
3. Logique 1 (Leclere)
La première partie vise à donner les bases de formalisation du raisonnement logique. L’objectif
est de comprendre la sémantique des connecteurs et la notion de raisonnement correct. Elle
constitue la moitié de l’UE. La deuxième partie s’intéresse à l’aspect algorithmique du raisonnement (comment mettre en œuvre une méthode de raisonnement automatique cohérente,
10
complète et efficace). La troisième partie a pour objectif de montrer les limites d’expressivité
de la logique des propositions et d’introduire la logique des prédicats. On s’attache essentiellement à faire comprendre la sémantique des quantificateurs.
Partie 1 : 25h
- Introduction et Rappels (1h Cours + 1h30 TD)
- Syntaxe de la logique des propositions (1h00 Cours + 3h TD + 2h TP)
- Sémantique de la logique des propositions (3h30 Cours + 3h TD + 6h TP) : Interprétation
et modèle, table de vérité, Satisfiabilité, Validité, Equivalence logique, Conséquence logique,
théorème de substitution, théorème sur l’équivalence des différents problèmes
- Modélisation en logique des propositions (quelques minutes Cours + 4h TD)
Partie 2 : 20h
- Les clauses et formes normales (2h30 Cours + 3h TD + 4h30 TP) : Propriétés des clauses
et formes clausales, mise sous forme clausale. Cette partie fait l’objet de démonstration de
propriétés.
- Méthodes de preuve (4h Cours + 3h30 TD + 2h30 TP) : La résolution : méthode, correction
et complétude, un mot des stratégies, les tableaux sémantiques (méthode, correction et complétude), la procédure de Davis et Putnam (à titre culturel en cours, non abordé en TD/TP)
Partie 3 : 6h
- Introduction à la logique des prédicats sans symbole de fonctions (3h Cours + 3h TD) :
Syntaxe, Sémantique, Méthode des tableaux, Modélisation.
4. Modélisation et programmation par objet 1 (Huchard,Nebut)
Le module présente la conception par objets avec un premier support de programmation par
objets pour concrétiser les aspects. Les langages supports sont UML et Java. En UML
l’architecture générale est présentée (aperçu sur tous les types de modèles) et deux types de
diagrammes sont étudiés en profondeur : les diagrammes de cas d’utilisation et les diagrammes
de classes et d’instances. Au travers de ces diagrammes seront vues les notions d’acteurs, de
cas d’utiilisation, de scénario, de classes, d’instances, d’attributs, d’opérations, d’associations,
d’interfaces et de spécialisation. Leur mise en oeuvre en parallèle en Java permettra de les
rendre concrets pour les étudiants.
5. Projet semestriel en Informatique (Rétoré))
Analyse, conception et développement en groupe, d’un projet informatique dans un langage de
programmation. Le projet donnera lieu à la rédaction d’un rapport ainsi qu’à une soutenance
publique. Les qualités d’organisation, de communication seront également prises en compte
dans l’évaluation du projet.
6. Anglais CMI spécifique CMI
Les objectifs sont :
• permettre l’apprentissage des compétences clés inhérentes au CECR en anglais scientifique (lire / écouter/ prendre part à une conversation, s’exprimer oralement en continu,
écrire)
• favoriser la rédaction et tenue d’un portfolio de compétences en langues calqué sur le
modèle du conseil de l’Europe .
Les cours viseront à une maîtrise écrite et orale de l’anglais de spécialité via divers supports
: articles, publications, reportages audio et vidéos, présentation de mini-exposés et posters,
11
grammaire, etc. Les modules feront l’objet d’évaluations régulières dans les 5 compétences
qui seront autant d’indicateurs de la progression individuelle des étudiants.
7. Découverte du monde professionnel- Gestion de projet Apprentissage de la recherche du
stage, préparation au stage , apprentissage de l’insertion professionnelle. Connaissance de
l’entreprise et du monde du travail. Organisation/structuration d’une entreprise (aborder les
différents types de structures) Préparation d’un rapport écrit décrivant l’activité de l’étudiant
au sein de l’entreprise avec un bilan d’expériences et de compétences acquises (présentation
de l’entreprise, du service dans lequel il était, son rôle et son travail, etc..)
8. Recherche Bibliographique-2,5 ECTS- spécifique CMI
• Apprendre à faire un état de l’art scientifique (méthodologie, ressources documentaires,
savoir lire une publication scientifique, un brevet, savoir faire une synthèse écrite, présenter à l’oral, etc?) 10h
• Afin d’appliquer la première partie, un sujet de recherche bibliographique est proposé à
l’étudiant par l’encadrant de stage de L2. Préparation d’une synthèse écrite d’articles
scientifiques proposés par l’encadrant du stage en laboratoire de L2. Un rapport sera
demandé et il y aura un oral de restitution du travail effectué. (Projet intégré : 15h).
12
S5
Algorithmique de graphes
Langages formels
Réseaux
Concepts et programmation système
Modélisation et programmation par objet 2
Techniques de communication et conduite de projets
Anglais
Anglais : culture anglo-saxonne de l’entreprise
Connaissances de l’entreprise : notions de comptabilité
S6
Projet annuel CMI
Logique 2
Objets avancés
Systèmes d’information et bases de données 2
Architecture et programmation du web
Connaissance du monde de la recherche, innovation et transfert
Anglais : Culture anglo-saxonne de l’entreprise
une UE au choix parmi
Interprétation et compilation
Programmation linéaire
Algorithmique du texte
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
2,5 ECTS
2,5 ECTS
2,5ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
2,5 ECTS
5 ECTS
5 ECTS
5 ECTS
Table 3: Offre L3 – parcours interne
1.5
Semestre 5
1. Algorithmique de graphes (Bessy)
Bases: graphe, connexité, calcul des composantes connexes.
Arbres couvrants: définition, propriétés, arbres couvrants de poids minimum. Parcours: parcours en largeur, arbre des plus courts chemins, parcours en profondeur. Graphes orientés:
définitions, graphe acyclique, tri-topologique, graphe fortement connexe. Plus courts chemins:
plus courts chemins pour toutes pairs de sommets.
2. Langages formels (Legrand)
Tout ensemble d’objets informatiques peut se modéliser comme un ensemble de mots, c’est-àdire un langage formel. à partir de ce constat, l’étude des langages formels peut s’appliquer à
de très nombreux domaines. Cet enseignement se focalisera sur les concepts généraux comme
les grammaires, les automates et expressions régulières. Les problèmes traités seront axés sur
la compréhension des notions abordées, plus que sur les applications effectives. Par exemple,
on étudiera comment reconnaître si un mot appartient à un langage ou comment montrer
13
S5
Algorithmique de graphes
Langages formels
Réseaux
Système
Fondements de l’algorithmique
Logique des propositions
Anglais : culture anglo-saxonne de l’entreprise
Connaissances de l’entreprise
S6
Projet CMI annuel
Logique 2
Objets avancés
Systèmes d’information et bases de données
Architecture et programmation du web
Connaissance du monde de la recherche, innovation et transfert
Anglais : Culture anglo-saxonne de l’entreprise
une UE au choix parmi
Interprétation et compilation
Programmation linéaire
Algorithme du texte
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
2,5ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
5 ECTS
2,5 ECTS
2,5 ECTS
5 ECTS
5 ECTS
5 ECTS
Table 4: Offre L3 – parcours extérieur
que deux langages sont identiques. Mots clés : Langage formel, Grammaire, Automate,
Expression régulière, langage rationnel, langage algébrique Compétences et objectifs Le but
de cet enseignement est :
- Maîtriser les concepts de langage formel, grammaire, automates et expressions régulières.
- Acquérir l’aptitude à manipuler des outils formels et établir des preuves.
- Savoir faire des raisonnements par récurrence.
- Savoir mettre en oeuvre les concepts étudiés afin de faire des preuves d’algorithmes Contenu
du cours :
Mots et langages : Concaténation. Fermeture de Kleene. Sous mots. Ordre sur les mots.
Grammaires non contextuelle : Productions. Chaînes de dérivation. Lemme fondamental.
Preuve sur les grammaires. Arbre de dérivation. Grammaire ambiguàń. Langage de Dyck et de
Lukasiewicz. Automates : Définition et représentation. Fonction de transition itérée étendue.
Chemin et trace. Preuve sur les automates. Indéterminisme, Îţ-transitions. Minimisation.
Théorème de Kleene. Lemme de la Pompe. Expressions rationnelles : Langage associé.
équivalence entre automate et expression rationnelle. Variation des états d’entrée/sortie.
3. Réseaux (Baert)
Introduction : architectures et protocoles
- Ethernet
- Internet : caractéristiques, nommage, adressage, protocoles sous-jacents, mise en oeuvre
d’applications
14
-
Composants matériels et logiciels ; architecture en couches, protocoles.
Modèle Client-Serveur
Configuration de réseaux et sous-réseaux.
Protocoles d’adressage, d’erreurs et de contrôles.
Grandes Applications : serveurs de noms, système de fichiers distribué.
4. Concepts et programmation système (Meynard)
Analyse et programmation en C d’un système d’exploitation Unix :
- Besoin et rôles d’un système mono-processeur ;
- Composantes du système d’exploitation ;
- Gestion des entrées-sorties ;
- Vie des processus ;
- Gestion des fichiers: représentation, manipulation ;
- Communications et synchronisations entre processus: formes simples et évoluées ;
- Gestion de la mémoire : mémoire virtuelle.
Compétences à acquérir :
L’objectif visé est la compréhension du fonctionnement d’un système d’exploitation et l’apprentissage
de la programmation d’applications C utilisant les ressources de ce système.
5. Modélisation et programmation par objet 2 (Huchard, Nebut)
Le module développe la programmation par objets, avec pour cadre le langage Java. les
concepts de classes, d’instance et de spécialisation sont revus plus en détails (deux premiers
cours de révision et de remise à niveau pour des étudiants extérieurs pour assurer la maîtrise de
la liaison dynamique et de la liaison statique). Puis les aspects avancés de la programmation
par objets dans un langage typé statiquement sont étudiés : généricité et les relations entre
la spécialisation, la généricité et le sous-typage ; la programmation par contrats avec des
interfaces, des assertions et des exceptions ; Eléments de méta-programmation avec la notion et
la pratique de l’introspection ; introduction à la programmation événementielle et graphique et
ses relations avec la programmation par objets ; compréhension des mécanismes de sérialisation
dans le cadre d’un langage à objets. On complètera le cours de CPO par la définition des
diagrammes dynamiques en UML et leur relation avec le code Java et une initiation aux
diagrammes de composants et de déploiement.
6. Techniques de communication et conduite de projets (Meynard)
Cette UE est destinée à améliorer la communication écrite et orale des étudiants. Cet objectif
sera atteint par l’étude de différentes techniques de gestion de projet informatique.
Compétences à acquérir :
Les objectifs de cette UE sont : habituer les étudiants à la prise de parole en public; améliorer
les capacités de rédaction de rapports, cahier des charges, ... compréhension de techniques de
gestion de projets;
7. Fondements de l’algorithmique (ex Analyse d’algorithmes) (Dicky)
• 1 Arborescences Mathématique : définitions inductives (arborescence, hauteur, branche),
propriétés mathématiques simples (nombre d’arcs, nombre de feuilles d’un arbre binaire
...), Extensions (étiquetage des sommets et des arcs), Codage d’une arborescence quelconque par une arborescence binaire (uniquement mathématique, pas algo). Algorith15
mique : Implémentations (binaire et général), Traversées (spécifications puis implémentations), Calcul des distances dans un arbre pondéré (pour préparer Dijkstra). Utilisations
: ABR, Tas.
• 2 Complexité
Définition des classes de complexité et techniques de calcul de complexité d’algorithmes
(itératifs et récursifs). Exemples d’utilisation sur les algorithmes de tri. Etude de la
complexité des algorithmes étudiés
8. Logique des propositions (Kaci)
L’objectif de cette UE est d’étudier la formalisation du raisonnement déductif . La première
partie vise à donner les bases de formalisation du raisonnement logique. L’objectif est de
comprendre la sémantique des connecteurs et la notion de raisonnement correct. Elle constitue
la moitié de l’UE. La deuxième partie s’intéresse à l’aspect algorithmique du raisonnement
(comment mettre en œuvre une méthode de raisonnement automatique cohérente, complète et
efficace). La troisième partie a pour objectif de montrer les limites d’expressivité de la logique
des propositions et d’introduire la logique des prédicats. On s’attache essentiellement à faire
comprendre la sémantique des quantificateurs.
9. Connaissance de l’entreprise -Comptabilité spécifique CMI
Sensibiliser les étudiants aux concepts de comptabilité et de gestion financière, afin de les
former à la compréhension des documents de base tels que le compte de résultats et le bilan,
de les former de façon simple mais complète aux calculs des coûts de revient.Synthétiser tous
ces enseignements lors d’un jeu d’entreprise.
Validation de l’expérience professionnelle sur le PEC.
10. Anglais spécifique CMI spécifique CMI
1.6
Semestre 6
1. Projet Annuel CMI Orsal-Sorli
Analyser un projet industriel ou de recherche et mettre en ?uvre les solutions techniques pour
le réaliser. Prendre conscience des besoins techniques du milieu industriel ou du laboratoire.
Rendre l’étudiant autonome (organisation du travail) vis-à-vis d’objectifs tout en sachant
travailler en équipe. Savoir utiliser une documentation technique et la bibliographie Mettre
en pratique les enseignements de gestion de projet Finaliser la présentation du rapport écrit
et la présentation orale. L?étudiant est encadré par son tuteur au sein du laboratoire et/ou de
l?entreprise. Il travaille au moins deux demi journées par semaine sur le site et il est suivi par
les responsables du CMI qui organisent deux soutenance orales : 1- fin janvier pour l?avancée
bibliographique et technique du projet 2- fin avril pour la soutenance du projet d?étude et
les perspectives futures du travail. Le Jury est constitué au minimum de trois responsables
de spécialité différentes dont le responsable de l?étudiant. Ils apportent une évaluation plus
objective sur le travail et les avancées technologiques du projet. Les tuteurs de stage en
entreprise ou en laboratoire font partie du jury.
2. Logique 2 (Dicky)
La logique des prédicats du premier ordre introduit les notions de variable, de quantificateur
16
sur des variables, de prédicat -ou relation- et de fonction. C’est la logique de référence dans
des domaines variés de l’informatique (représentation de connaissances, bases de données,
démonstration automatique, preuve de programme, ...) Cette UE est une introduction à la
logique du premier ordre. Il suppose acquises les notions de base de la logique propositionnelle
Le contenu :
- Syntaxe de la logique du premier ordre (variables et quantificateurs, symboles fonctionnels)
- Sémantique (interprétation, modèle, conséquence sémantique)
- Modélisation de problèmes (avec accent sur l’utilisation des quantificateurs)
- Méthodes de preuve (par exemple, méthode de résolution et/ou méthode des tableaux)
- Fondements théoriques : présentation du théorème de Herbrand en lien avec la complétude
des méthodes de preuve étudiées, ouverture sur quelques théorèmes fondamentaux de logique,
notion de décidabilité des problèmes
Les objectifs :
- Acquérir les notions de base en logique du premier ordre.
- Etre capable de modéliser un problème en logique du premier ordre
- Etre capable de vérifier la validité d’un raisonnement formalisé en logique du premier ordre
(soit directement à partir de la sémantique des formules, soit par une méthode de preuve).
3. Objets avancés (Dony,Huchard)
Ce module complète la formation des étudiants dans le domaine des objets avec trois objectifs
: maîtrise, multilinguisme, multi-cultures. Il s’agit d’un module de spécialisation, modulable,
orienté vers la maîtrise complète de la programmation par objets (au-delà du cadre spécifique
de Java qui a été étudié dans les deux précédents modules), i.e. vers l’enseignement de ses
acceptions les plus innovantes et/ou difficiles. Il traite chaque année plusieurs langages et
leurs spécificités : C++ (modèle différent de généricité (templates, templates variadiques),
conversions de types, héritage multiple, encapsulation, lamdas-expressions), Scala (mixte typage statique et programmation fonctionnelle), Clos (les fonctions génériques, les auto-inits)),
Smalltalk (le tout objet et l’envoi de message généralisé, les fermetures lexicales, la programmation du niveau méta sans voir les méta-classes), Javascript (les classes versus les prototypes),
Eiffel (héritage multiple, contrats).
4. Systèmes d’information et bases de données 2 (Mougenot,Poncelet)
Cet enseignement, poursuit l’enseignement initial (UE SI BD niveau 1). Il s’agit de présenter
la théorie du modèle relationnel - schéma relationnel, relation - contraintes statiques et dynamiques - dépendances fonctionnelles, clé primaire - algèbre relationnelle - langage SQL et
notions de surcouche procédurale (définitions de déclencheurs) - modèles cocneptuels (à partir
de la notation objet UML) -théorie de la normalisation (formes normales, couverture)
Les aspects essentiels en termes de gestion physique des donn??es (techniques d’indexation)
et de concurrence d’accès (transaction) sont également abordés. Les aspects pratiques sont
enseignés au travers d’une série de TP et s’appuient en grande partie sur Le SGBD Oracle.
D’autres systèmes de gestion de bases de données, à l’exemple de MySQL et de Postgresql
peuvent également être à l’étude.
Objectifs : Maitriser la conception et la mise en oeuvre de bases de données. Les compétences
ciblées sont des compétences de gestionnaire de données
5. Architecture et programmation du web (Meynard,Pompidor)
17
Description du contenu de l’enseignement Cet enseignement est destiné à des étudiants ayant
une connaissance du langage HTML et de la navigation sur le web. Les notions essentielles
des architectures Web (sites statiques et dynamiques, aspects présentation + structuration,
sécurité et aspects éthiques de la toile) seront abordés avec notamment les points suivants :
Langage HTML5
validation, DTD
Langage côté serveur PHP5 (GET, POST, sessions, cookies, identification, ...)
Liaison avec une base de données (MySQL)
Object Relationnal Mapping avec Propel
frameworks
Langage côté client : Javascript
Manipulation du DOM
Importation via AJAX de fichiers XML (et JSON)
framework JQUERY.
6. Interprétation et compilation (Meynard)
L’informatique étant la science du traitement de l’information, il est nécessaire de coder ces
traitements et cette information selon certaines règles de syntaxe. Tout informaticien se doit
donc de comprendre la manière de spécifier ces langages mais aussi de les reconnaître afin
de les interpréter ou de les traduire . Mêlant des outils théoriques (grammaire, automate)
et pratiques (programmation récursive, utilisation d’outils tels que flex et bison), cette unité
d’enseignement est destinée à tous ceux qui souhaitent comprendre et concevoir les interprêteurs et compilateurs.
Compétences à acquérir :
L’objectif de cette UE est de sensibiliser les étudiants aux techniques d’analyse syntaxique et
sémantique des langages générés par des grammaires. L’analyse lexicale, l’analyse syntaxique
descendante puis ascendante, l’analyse sémantique sont étudiés au travers d’un langage de
programmation très simple : le langage C.
7. Programmation linéaire (Montassier)
Ce cours est centré sur la programmation linéaire et quelques unes de ses applications classiques: allocation de ressource, ordonnancement, réseaux de transport, flots, etc. La programmation linéaire est un outils fondamental de la recherche opérationnelle. Suivant cette
optique, ce cours peut être vu comme une suite ou un complément du cours d’algorithmes
de graphes du S5. Les (très) grandes lignes du cours sont: l’algorithme du simplexe en deux
phases, interprétation géométrique, le théorème de dualité, introduction de la notion de certificat d’optimalité, interprétation concrète du programme dual, applications à des problèmes
de graphes.
8. Algorithmique du texte (Bérard,Chateau)
Cette UE balaie un éventail de technique de manipulation des mots dans un texte, sous l’angle
algorithmique. Après une première partie définissant les principales notions et propriétés
d’algorithmique du texte, nous aborderons des algorithmes d’alignement de séquences, de
recherche de motifs et d’assemblage de génomes. L’idée est de comprendre les algorithmes
qui se cachent derrière les traitements de texte, avec pour domaines d’application possibles la
linguistique, la biologie, la bioinformatique. Les algorithmes vus en cours sont implémentés
18
lors des TPs et un projet en groupe permet aux étudiants d’approfondir un des algorithmes
classiques.
9. Connaissance de l’entreprise R et D : Création/Innovation/Propriété Intellectuelle -2,5 ECTS
Spécifique CMI
• Création Entreprise: les différents types de structures, les démarches (juridique, scientifique), business plan, les incubateurs/ accompagnements, place de la R&D, ...
• Innovation : laboratoires de recherche/ ..
• Propriété Intellectuelle : Généralités, démarches pour déposer un brevet .
Validation de l’expérience professionnelle sur le PEC.
19
2
Master CMI Informatique AIGLE
Objectifs et débouchés de la formation Cette formation vise àă former des cadres en informatique dans le domaine du développement logiciel ce qui cible principalement les métiers suivants’ă:
• Architecte logiciel
• Chef de projet logiciel
• Architecte des systèmes d’informations
Par ailleurs, la formation, adossée au LIRMM (Laboratoire d’Informatique, de Micro-électronique et
de Robotique de Montpellier), permet également une poursuite d’étude en doctorat dans l’optique
de devenir enseignant-chercheur ou chercheur, dans l’enseignement supérieur et la recherche, ou
dans la R&D d’entreprise.
Structure envisagée :
Semestre 1
• Anglais. Equipe pédagogique : le SCEL (contact : Anne Heaps).
• 3 UEs obligatoires coeur de parcours:
– Bases de données avancées. Equipe pédagogique : Anne-Muriel Chifolleau.
– Compilation et interprétation. Equipe pédagogique : Roland Ducournau, Mathieu Lafourcade.
– Ingénierie Logicielle. Equipe pédagogique : Christophe Dony et Clémentine Nebut.
• 2 UEs parmi :
– Technologies du web : présentation de données. Equipe pédagogique : Pierre Pompidor.
– Réseau. Equipe pédagogique : Hinde Bouziane.
– ou 1 UE d’ouverture parmi la liste d’UEs suivante :
∗
∗
∗
∗
∗
Algorithmique du texte
Complexité/Algorithmique
Intelligence Artificielle
Interaction Homme Machine
Programmation Orientée Agents
Semestre 2
• Projet annuel CMI -10 ECTS• 3 parmi 4 :
– Architectures n-tiers. Equipe pédagogique : Clémentine Nebut, Djamel Seriai.
– Conduite de projets. Equipe pédagogique : Eric Bourreau, Clémentine Nebut.
20
– Développement logiciel pour mobiles. Equipe pédagogique : Abdelhak-Djamel Seriai.
– Spécifications formelles, vérification, validation. Equipe pédagogique : Clémentine Nebut,
Marianne Huchard, intervenants extérieurs.
• 2 UE d’ouverture parmi une liste d’UEs parmi la liste d’UEs suivante :
–
–
–
–
–
–
–
–
–
2.1
une UE coeur AIGLE
Administration de bases de données
Algorithmique d’exploration et de mouvement
Algorithmique distribuée
Extraction de Connaissances dans les Données
Graphes et structures
Ingénierie des connaissances
Technologies de la langue
Web sémantique et social
Semestre 3
• 5 parmi 8 :
– Composants et réutilisation. Equipe pédagogique : Christophe Dony, Chouki Tibermacine.
– Développement logiciel pour l’embarqué. Equipe pédagogique : Abdelhak-Djamel Seriai.
– E-applications. Equipe pédagogique : Anna-Sophie Fiston.
– Evolution et restructuration. Equipe pédagogique : Djamel Seriai, Marianne Huchard,
Chouki Tibermacine.
– Ingénierie des modèles. Equipe pédagogique : Clémentine Nebut, Marianne Huchard.
– Métaprogrammation et réflexivité. Equipe pédagogique : Roland Ducournau, Christophe
Dony.
– Modélisations formelles pour le génie logiciel. Equipe pédagogique : Marianne Huchard,
Thomas Lambolais, Clémentine Nebut.
– Spécification et implémentation des langages àă objets et àă composants. Equipe pédagogique : Christophe Dony, Roland Ducournau, Djamel Seriai, Chouki Tibermacine.
• 1 UE d’ouverture parmi une liste d’UEs parmi la liste d’UEs suivante :
–
–
–
–
–
–
–
–
une UE coeur AIGLE
Epistémologie
Extraction de Connaissances Avancées
Gestion des connaissances pour l’aide àă la décision
Jeux sérieux
Nouvelles approches pour la persistance des données
Partage de données àă grande échelle
Son et Musique
21
2.2
Semestre 4
• Vie d entreprise (Transversale)
• Projet Annuel CMI (Transversale)
• Stage Pro ou Recherche (Transversale)
2.3
2.3.1
Contenu des UEs proposées par AIGLE
Semestre 1
Compilation et interprétation. Cette UE étudie de façon pratique les divers procédés qui peuvent être appliqués àă un programme informatique pour le rendre exécutable sur une machine.
Seront particulièrement étudiés : la compilation (transformation d’un langage de haut-niveau
dans un langage de bas niveau), l’interprétation (exécution dynamique d’un programme) et
les machines virtuelles. Les étudiants réaliseront en TP et projet la construction progressive
d’un compilateur ou interprète complet du langage Scheme ou Lisp.
Ingénierie Logicielle. Ce module étudie d’une part les schémas de réutilisation par spécialisation,
par composition et par fonctions d’ordre supérieur en programmation par objet. Sont abordées
également les notions de framework, et de schéma de conception (étude des principaux schémas). Ce module aborde d’autre part la conception complète d’un logiciel, des spécifications
(avec plusieurs vues) au test, en passant par la cristallisation de l’architecture par applications
de patrons de conception. Ce module introduit de plus les contrats en programmation.
Bases de données avancées-Commun DECOL L’objectif du module est d’aborder les différents
modèles existant en BD, autre que le modèle relationnel (déjà vu en Licence), notamment
les modèles objet, objet-relationnel et multidimensionnel, ainsi que les notions de base des
BD distribuées. Programme: - Extensions du modèle relationnel: Modèle objet et Modèle
relationnel-objet (conception relationnel-objet, types d’objets, tables d’objets, vues objets,
requêtes de création et de manipulation) - Entrepôts de données et bases de données multidimensionnelles : architectures des entrepôts de données, modèles conceptuels, logiques et
physiques des données, construction des cubes de données, OLAP. - Bases de données distribuées : principes des BD réparties, intégration de schémas (local-as-view, global-as-view),
fragmentation et allocation de données (horizontale, verticale et hybride). Prérequis : Modèle
relationnel (niv. L) Fourni les bases pour : ECD, Nouvelle approche pour la persistance des
données.
Technologies du web : présentation de données . Ce module aborde le tiers présentation sous
différents angles :
• XML (schémas...) et transformations XSL (pré-requis du module Web sémantique et
social) ;
• fonctionnalités/librairies avancées de HTML5 (stockage de données sur le client, web
sockets ...) ;
22
• médiatisation de données avec HTML5 (2D et 3D) (en aval d’importat. de fichiers
XML/JSON). (cette dernière partie se fera en coordination avec l’enseignement dispensé
en IHM).
2.3.2
Semestre 2
Architectures n-tiers. Les applications actuelles deviennent de plus en plus complexes, et intégrent souvent plusieurs parties communicantes. Les architectures n-tiers ont pour but de
gérer ce type d’application (communication et échange de données entre les systèmes, persistance et partage des données, ...). Ce module donne les principes des architectures n-tiers, et
différentes technologies sous-jacentes, en Java et en .NET :
• objets distribués et intergiciels àă objets (RMI, .NET remoting, Corba)
• services web (SOAP, WSDL)
Conduite de projets. Ce module aborde différents enjeux et techniques de gestion de projet. Ce
module aborde également la vision qualité appliquée au monde logiciel et insiste sur la diversité
de la fonction de tests, et sur la gestion des exigences. Une introduction de CMMI est donnée.
Les méthodes agiles sont présentées.
Développement logiciel pour mobile. L’objectif de ce cours est de présenter les bases permettant de comprendre et de maitriser le développement logiciel sur des plateformes mobiles
(téléphone, tablette, etc.) de manière générale, et ceux liés aux systèmes Android en particulier. Parmi les aspects abordés : Les propriétés et catégories des systèmes embarqués,
principes et architectures des OS mobiles, les grands principes des langages de programmation pour mobile, l’architecture et les principaux composants des applications mobiles, les
modèles de structuration des interfaces utilisateurs sur mobiles, la gestion des événements, la
gestion des ressources embarquées, la gestion des processus et du multi-tàćches, la gestion de
la connectivité, la gestion des capteurs, la gestion de la persistances des données sur mobile,
etc. En plus du cours magistral et des travaux pratiques, et dans la cadre d’un mini-projet
par équipe, il est demandé aux étudiants de développer une application mobile permettant de
répondre àă un besoin réel.
Spécifications formelles, vérification, validation. L’objectif de ce module est de fournir des
bases théoriques pour le génie logiciel : spécifications formelles, techniques de vérification,
fondements du test de logiciels.
2.3.3
Semestre 3
e-applications Ce module aborde les aspects liés au e-commerce et e-business. Sont abordés
notamment :
• Architecture d’un site marchand
• Paiement électronique
• Conception d’un site vendeur
• Marketing électronique
• Intelligence économique et veille
23
• Conception d’applications vocales
• Intégration de contenu (mashup)
Composants et réutilisation Compétences : Comprendre et mettre en ÅŞuvre les principes de
réutilisation et d’assemblage de composants. Connaissances :
• Frameworks , Schémas de Conception, Aspects
• Composants assemblables (Java Beans)
• Composants Distribués EJB (Architecture J2EE) ’ĂŞ Grid Services
• Intégration rapide de Composants.
Développement Logiciel pour l’embarqué. Ce cours constitue une suite du cours "Développement Logiciel pour Mobile" (du Master 1). C’est un cours pro/recherche divisé en deux parties. La première partie présente quelques problématiques recherche liées au développement
de logiciels sur mobiles telles que les systèmes sensibles au contexte et le besoin de l’adaptation
dynamique, la programmation multi-plateformes pour mobiles et les solutions proposées telles
que la programmation àă base de scripts, IDM/DSL, ligne de produits, etc. La seconde partie
est constituée d’un projet.
Evolution et restructuration. Cette UE aborde les aspects techniques et gestionnaires essentiels de la maintenance et de l’évolution des logiciels. Une vue d’ensemble sera présentée des
principes, des techniques, des outils et des meilleures pratiques pour l’évolution de logiciel. A
titre d’exemples seront abordés les systèmes patrimoniaux et leur migration, la rétro-ingénierie
et la compréhension des programmes, la réingénierie des logiciels, l’évolution transformationnelle, la refactorisation et la restructuration, la propagation des changements et l’analyse des
impacts, etc.
Ingénierie des modèles. L’Ingénierie dirigée par les Modèles (IDM) est une approche de développement logiciel qui consiste àă mettre les modèles et leurs métamodèles au centre du processus.
Dans ce module, nous montrons les enjeux liés àă l’Ingénierie des modèles (capitalisation
du métier, indépendance vis àă vis des technologies, définition de transformations de modèles). Nous positionnons l’IDM par rapport àă l’initiative MDA (Model Driven Architecture)
de l’OMG. Ces concepts sont mis en oeuvre au travers de l’étude du métamodèle UML,
de l’utilisation du langage de contraintes OCL pour la spécification de métamodèles, et de
l’implémentation de transformations de modèles avec des langages spécifiques. Les compétences acquises lors de ce modules sont :
• maàőtrise des différents niveaux de modélisation et métamodélisation,
• capacité àă comprendre un métamodèle existant et en concevoir un nouveau,
• capacité àă développer des transformations de modèles.
Métaprogrammation et réflexivité. Le module donne les bases de la méta-modélisation objet
qui est àă la base d’UML et de l’Ingénierie Dirigée par les Modèles. Application aux classes
et propriétés pour l’analyse de l’héritage multiple. Introduction aux méta-classes et àă la
méta-programmation dans différent contextes : Smalltalk, CLOS, Python, Java (OpenJava,
Javassist), C++ (OpenC++), Scala.
24
Modélisations formelles pour le génie logiciel. Une partie de ce module s’intéresse aux spécifications des systèmes réactifs. Les systèmes logiciels ou àă composante logicielle intègrent
des aspects comportementaux. Ce sont souvent des systèmes réactifs (en interaction constante
avec leur environnement, àă une vitesse imposée par l’environnement) et parallèles. Ils doivent
accepter certaines opérations dans certaines circonstances (vivacité), mais, pour des raisons de
sûreté, en refuser àă d’autres moments. Ce module s’intéresse àă la modélisation de tels systèmes, en phases de spécification puis de conception. Il s’intéresse également àă la vérification
des modèles obtenus. La seconde partie de ce module variera en fonction des intervenants extérieurs et abordera des thèmes comme la vérification de l’assemblage de composants, l’usage
de l’Analyse Formelle de Concepts en génie logiciel, etc (àă définir plus précisément).
Spécification et implémentation des langages àă objets et àă composants Ce module se
compose de deux parties, l’une concerne les objets, et l’autre les composants.La partie Objets
de ce module a pour objet de dresser un panorama des techniques utilisées pour implémenter
les langages àă objets en typage statique, ainsi que d’étudier certains mécanismes spécifiques
— comme l’héritage multiple et les modules — pour en faire des spécifications correctes et en
examiner l’implémentation. Le module s’intéresse autant àă des langages classiques (C++,
JAVA, EIFFEL) qu’àă des langages de laboratoires comme SCALA développé àă l’EPFL ou
PRM développé au LIRMM.
2.3.4
Semestre 4
• Projet annuel CMI (5 ECTS),
• Stage de recherche (25 ECTS) et
• vie professionnelle (5 ECTS).
25
3
Master CMI Informatique DECOL
Objectifs et débouchés de la formation Formation Professionnelle et Recherche orientée
"Donnée, Information, Connaissance" : de la gestion (organisation, stockage, accès) de données
(textuelles, semi-structurées, structurées) en grande quantité à l’aide à la décision. Nous visons
des données et modèles de données symboliques (pas numériques). On souhaite de plus prendre en
compte la problématique de la distribution (environnements distribués).
Mots clés : Semantics, Big Data, Web
Métiers professionnel visé : - aspects transactionnels : - architecte de BD - architecte de SI - aspects décisionnel : - Data Scientist - Data Engineer - cf. aussi le spécialiste des données, l’architecte
des médias sociaux, l’architecte cloud (http://www.lemondeinformatique.fr/actualites/lire-les-6-metiersinformatiques-les-plus-en-vue-1ere-partie-47249.html)
Adossement Recherche (et poursuite en thèse) : - LIRMM : Graphik, Tatoo, Texte, Zenith ESPACE-DEV (IRD) : SIC (Système d Information et de connaissances) - IATE (INRA) : Ingénierie
des connaissances - TETIS (IRSTEA) : SISO (Système d’information spatialisée : modélisation,
extraction et diffusion des données et connaissances)
Structure envisagée :
• Semestre 1 :
– 5 UE obligatoires :
∗
∗
∗
∗
∗
Bases de données avancée (éventuellement en pp SIBD du S1 IPS)
Intelligence Artificielle
Technologies du web : présentation des données (AIGLE)
Anglais (Transversale)
Ingénierie Logicielle (AIGLE)
– 1 UE complémentaire à choisir parmi (si compatibilité d edt) :
∗
∗
∗
∗
∗
Réseau et Communication (AIGLE)
IHM (IMAGINA)
Complexité/Algorithmique (MIT)
Méthodes et algorithmes probabilistes (MIT)
Programmation Orientée Agents (IMAGINA)
• Semestre 2:
– Projet Annuel CMI
– 4 UE à choisir parmi 5 :
∗
∗
∗
∗
∗
Administration bases de données
Web sémantique et social
Ingénierie des connaissances
Extraction de Connaissances dans les Données
Technologies de la langue
– Projet annuel CMI
26
– 1 UE Informatique à choisir parmi (si compatibilité edt):
∗
∗
∗
∗
∗
∗
5ème UE coeur DECOL
Archi n-tiers (AIGLE)
Logiciel Nomade 1 (AIGLE)
Conduite de projets (AIGLE)
Bases de données spatiales (Géomatique)
Programmation 3D (IMAGINA)
• Semestre 3 :
– 4 UE à choisir parmi 6 :
∗
∗
∗
∗
∗
∗
Nouvelles approches pour la persistance des données (prérequis BDA)
Partage de données à grande échelle (prérequis BDA)
Théorie des bases de connaissances (prérequis Ingénierie des connaissances)
Gestion des connaissances pour l’aide à la décision (prérequis IA)
Extraction de Connaissances Avancées (prérequis ECD)
Intelligence Artificielle pour le Langage Naturel
– 2 UE à choisir parmi (si compatibilité edt):
∗
∗
∗
∗
∗
∗
2 autres UE coeur DECOL
Epistémologie (Transversale)
Technologies avancées du Web : RIA (AIGLE)
Composant et Réutilisation (AIGLE)
Logiciel Nomade 2 (AIGLE)
Son et Musique (IMAGINA)
• Semestre 4 :
– Vie d entreprise (Transversale)
– Projet Annuel CMI (Transversale)
– Stage Pro ou Recherche (Transversale)
3.1
Offre d ’UE DECOL
3.1.1
Semestre 1
BDA : Bases de Données Avancées, A.M. Chifolleau
L’objectif du module est d’aborder les différents modèles existant en BD, autre que le modèle relationnel (déjà vu en Licence), notamment les modèles objet, objet-relationnel et multidimensionnel,
ainsi que les notions de base des BD distribuées. Programme: - Extensions du modèle relationnel: Modèle objet et Modèle relationnel-objet (conception relationnel-objet, types d’objets, tables
d’objets, vues objets, requêtes de création et de manipulation) - Entrepôts de données et bases
de données multidimensionnelles : architectures des entrepôts de données, modèles conceptuels,
logiques et physiques des données, construction des cubes de données, OLAP. - Bases de données
distribuées : principes des BD réparties, intégration de schémas (local-as-view, global-as-view),
27
fragmentation et allocation de données (horizontale, verticale et hybride). Prérequis : Modèle relationnel (niv. L) Fourni les bases pour : ECD, Nouvelle approche pour la persistance des données.
IA : Intelligence Artificielle, M.L. Mugnier
Ce module introduit des notions fondamentales d’intelligence artificielle, qui serviront de socle pour
l’acquisition de techniques plus poussées dans des modules spécialisés (en représentation de connaissances, ingénierie des connaissances, théorie des bases de données/connaissances, algorithmique
de l’intelligence artificielle, etc.). Sont en particulier traités les sujets suivants :
- notion d’espace de recherche, parcours d’un espace de recherche, algorithme de backtrack,
application de cet algorithme à différents problèmes : calcul des solutions d’un réseau de contraintes,
test de la satisfiabilité d’une formule propositionnelle (problème SAT), calcul des solutions à une
requête conjonctive dans une base de faits, application d’une règle du premier ordre, ...
- systèmes à base de règles : règles en logique des propositions et en logique du premier ordre, mécanismes de chaînage avant et chaînage arrière, quelques techniques d’optimisation de ces
mécanismes, modélisation de connaissances avec des règles.
Ces différents aspects sont mis en pratique en séances de TP.
Prérequis : bases de la logique des propositions et de la logique du premier ordre)
3.1.2
Semestre 2
Administration bases de données - I. Mougenot
Le module est centré sur l’apprentissage du métier d’administrateur de base de données. L’importance
est donnée à la performance des accès et à la sécurité des données dans des environnements transactionnels concurents. Les SGBD relationnels sont abordés en priorité. Différentes notions seront
enseignées : - sécurité : déclencheurs (programmation évènementielle) et surcouche procédurale
(PL/SQL Oracle), quelques pratiques malveillantes : sql injection, rootkit - optimisation : organisation physique des fichiers, index et mécanismes facilitateurs d’accès, optimisation des requêtes :
plan de requête, optimiseur de coût - mécanismes transactionnels : propriétés d’une transaction,
mécanismes de verrouillage et de journalisation - supervision, contrôle : vues du méta-schéma :
statiques et dynamiques, définition de fonctions de contrôle et de supervision à partir des métadonnées - gestion des espaces de stockage, archivage Exercices pratiques SE Linux, Windows et SGBD
Oracle, Postgres, Mysql Prérequis : Modèle relationnel (niv. L)
Web sémantique, K. Todorov
Ce module vise à présenter les bases de la vision du Web Sémantique en extension du Web classique
ainsi que les technologies qui permettent la mise en uvre de cette vision. En premier temps, le
rôle de la sémantique pour une compréhension et utilisation plus intelligentes des ressources Web
sera introduit. Les concepts clés abordés seront ceux de la structuration de données, d’ontologies
et de leurs applications avec un accent sur les langages qui permettent de spécifier et représenter
la connaissance (RDFS, OWL), ainsi que des éditeurs d’ontologies (e.g., Protégé). Par la suite,
des techniques pour la mise en correspondance (alignement) d’ontologies hétérogènes seront présentées abordant les notions d’hétérogénéité et d’interopérabilité sémantiques. Sur ces bases, le cours
présentera la notion du Web de Données : l’ensemble de pratiques et principes pour la publication et
l’interconnexion de données, ainsi que l interrogation de ces données. Les technologies sous-jacentes
28
(RDF, SPARQL) seront introduites. Prérequis : Galaxie XML, IA Fourni les bases pour : nouvelle
approches pour la persistance des données
Ingénierie des connaissances, ML. Mugnier et M. Leclère
Ontologie, FCA, Logique description, Annotation sémantique, Graphes conceptuel
Prérequis : IA
Extraction de Connaissances dans les Données, P. Poncelet et K. Todorov
Ce module vise à présenter les concepts, algorithmes et outils pour l’Extraction de Connaissances
dans les Données (ECD). Fouille de Données et Fouille de Textes : Méthodes de fouille de données : Naïve Bayes, K plus proches voisins, K moyennes, arbres de décision, règles d’association,
motifs séquentiels. Différentes étapes d’un processus de fouille de textes : étiquetage grammatical,
extraction de la terminologie, classification conceptuelle. Classification, recherche d’information,
extraction d’information et Langage Naturel Analyse sémantique Sémantique lexicale Approche par
vecteurs conceptuels Approches statistiques Requêtes et calcul de vecteurs (Salton, LSA) Gestion
des contraintes liées au langage naturel (polysémie, anaphores, etc.) Application des diffrentes approches d’extraction de connaissances dans le cadre des challenges nationaux et internationaux Une
partie du module sera destinée à manipuler des outils et algorithmes d’ECD à travers de séances de
travaux pratiques. Prérequis : BDA Fourni les bases pour : ECA
Technologies de la langue, M. Lafourcade
Le langage naturel est sans conteste le vecteur de communication le plus puissant et le plus sophistiqué dont nous disposons. Lorsqu’il est véhiculé par un support numérique, son exploitation
requiert la mise en uvre de stratégies spécifiques, tant du point de vue de la représentation des
connaissances, que d’un point de vue algorithmique. Ce module concerne l’étude de ces stratégies,
dites de Traitement Automatique du Langage Naturel (TAL, ou TALN). Le but ultime du TAL, qui
est à l’origine même de l’Intelligence Artificielle, est l’émulation des compétences et performances
langagières humaines, à savoir la compréhension et la génération de langage naturel, que ce soit à
l’écrit ou à l’oral. L’objet de ce module est donc de présenter un panel, le plus représentatif possible,
des technologies mises en uvre de nos jours en la matière. Le cours s’organise autour des grands
chapitres suivants : - buts et objectifs du TAL ; introduction à la notion de langage - compréhension
du langage naturel (morphologie, syntaxe, sémantique) - génération de texte (planification de texte,
réalisation syntaxique) - ingénierie linguistique, outils et applications (architecture, robustesse, traduction automatique, résumé de texte, interfaces en langage naturel) - ressources linguistiques et
gestion de masses de données linguistiques (Big Data, crowdsourcing, jeux sérieux).
3.1.3
Semestre 3
Nouvelles approches pour la persistance des données, I. Mougenot
Les enseignements du module aborderont différents principes actuels et technologies associées permettant la gestion et le traitement de gros volumes de données possiblement complexes et/ou
distribuées. Les SGBDs relationnels proposent des mécanismes notamment transactionnels et de
journalisation qui garantissent la fiabilité et la sécurité des données mais qui pénalisent leurs performances dans des contextes dans lesquels la demande est plutôt sur l’accès quasi instantané à
de gros volumes de données. Dans ce sens, les systèmes NOSQL apportent de nouvelles façons
29
d’envisager la persistance des données. Un des apports porte en particulier sur le partitionnement
des données. De même, le modèle relationnel est un modèle très contraignant qui oblige à définir un
schéma à priori qu’il est difficile ensuite de faire évoluer. L’idée est donc également d’introduire de
la flexibilité dans les modèles en s’appuyant sur des modèles orientés agrégats de données et graphe.
Les mécanismes de construction de modèles à posteriori que l’on peut retrouver notamment dans les
systèmes de gestion de triplets seront étudiés. Les approches New SQL qui ne remettent pas en cause
le choix du relationnel et du SQL en arguant de leur efficacité seront également explorées. L’idée
ici est de s’affranchir autant que possible des effets des mécanismes de verrouillage qui alourdissent
la gestion des données dans des environnements multi-utilisateurs. - SGBDs NO (Not Only) SQL
offrant des alternatives aux SGBDR : système clé/valeur, à accès par colonne ex. HBase, document
ex. MongoDb ou graphe ex. Neo4J - SGBDs NewSQL : ex. VoltDb - TripleStore : ex. SDB, TDB
et Sparql EndPoint : ex. Parliament Prérequis : BDA, Web sémantique et social, TALN1.
Gestion de données distribuées à grande échelle, E. Pacitti, P. Valduriez
L’objectif de ce module est de comprendre les principes et les fondements des systèmes de gestion
de données distribués et parallèles à grande échelle, notamment pour le big data. . Big data:
définition, applications scientifiques, web 2.0, etc., problèmes. . Gestion de données parallèles:
partitionnement des données, traitement de requêtes parallèles, équilibrage de charge, réplication et
failover. . Gestion de données P2P: réseaux non structurés, réseaux structurés, réseaux hybrides, requêtes, réplication, recommandation. . Recherche d’informations distribuées par contenu . Gestion
de données GRID: middlewares, l’architecture OGSA, le service de gestion de données OGSA DAI,
workflows scientifiques . Gestion de données dans le cloud: gestion de fichiers distribuées (HDFS),
le framework MapReduce, les systèmes NoSQL parallèles. . Recherche d’informations parallèle par
contenu: Hachage sensible à la localité, Construction de graphes de similarité avec MapReduce.
TP: P2P, GRID, requêtes parallèles / Mapreduce, recherche d’informations /MapReduce.
Théorie des bases de connaissances, ML Mugnier et JF Baget
Ce module est consacré aux formalismes permettant de représenter une base de connaissances et
d’effectuer des raisonnements sur ces connaissances, en se focalisant sur le problème d’interrogation
de la base. Il s’intéresse aux aspects théoriques essentiellement. Il n’aborde pas les problèmes
de modélisation, c’est-à-dire le passage d’un problème concret à une formalisation de ce problème. Le principal problème étudié est l interrogation de bases de connaissances en présence d
ontologie (OBDA) : Présentation du problème (adéquation/complétude, OWA/CWA ) complexité/expressivité de différents fragments de FOL (Datalog, DL ) Etude de l extension de ces fragments à diverses sémantiques pour l interrogation en présence d incohérences (ASP ) Prérequis :
Bonnes bases en logique des prédicats ou IA.
Gestion des connaissances pour l’aide à la décision, S. Kaci
L objectif de cette UE est d acquérir des compétences pour la prise de décision en présence d informations contradictoires et/ou avec priorités. La prise de décision repose souvent sur des informations
imparfaites. L imperfection peut être due à la présence d incohérences et/ou d incertitude/priorité
associée aux informations. Le problème de décision se décline alors en (1) un problème de gestion
des incohérences où seuls les mondes préférés sont calculés ou (2) un problème d ordonnancement où
les mondes sont ordonnés selon leur degré de plausibilité/satisfaction. Ce problème a été largement
étudié en intelligence artificielle. Dans la première partie de cette UE, nous présentons et com-
30
parons plusieurs méthodes de gestion des incohérences. Dans la deuxième partie, nous présentons
et comparons plusieurs formalismes (logiques non-classiques, graphes) qui permettent d ordonner
(de manière complète ou partielle) l ensemble des mondes. Dans la troisième partie de cette UE,
nous approfondissons le problème de gestion des incohérences en étudiant la révision des croyances
et la fusion d informations. L incohérence dans la révision des croyances est due à la considération
d une nouvelle croyance qui contredit, souvent, les anciennes croyances. Il s agit donc de déterminer
un ensemble minimal d anciennes croyances à supprimer pour rétablir la cohérence. Dans le cas
de la fusion d informations, l incohérence peut être due à la multiplicité des sources fournissant les
informations. Il s agit alors de définir des opérateurs d agrégation pour construire un point de vue
global de l ensemble des sources. Nous présentons plusieurs méthodes de gestion des incohérences
et de fusion d informations. Dans la dernière partie de cette UE, nous présentons des applications
des méthodes théoriques vues précédemment. Prérequis : logique propositionnelle (niv. Licence).
Extraction de Connaissances Avancées : M. Teisseire et J. Azé
L’extraction de connaissances est un processus complexe qui permet à partir d’un grand ensemble
de données d’extraire des connaissances qui s’avèrent utiles pour le décideur. L’objectif de ce
cours est de dresser un panorama des nouvelles approches de fouilles de données qui s’intéressent
également à la complexité des données. En effet, aujourd’hui de nouvelles données sont disponibles
et possèdent une complexité inhérente (données semi structurées, multi-dimensionnelles, disponibles
à différents niveaux de granularité, incomplètes, disponibles de manière continue, de plus en plus
volumineuses,réparties..) et il est indispensable de proposer de nouvelles approches adaptées. Ces
dernières seront présentées lors du cours. En outre, l’extraction de connaissances est un élément
indispensable pour faire de l’aide à la décision. Dans ce module, nous nous focaliserons sur les
différences entre les systèmes transactionnels et les systèmes décisionnels, et nous présenterons les
méthodes associées à ces derniers pour mettre en valeur les connaissances cachées utiles à la décision.
Les différentes présentations seront illustrées sur des jeux de données réelles et notamment sur des
données médicales et environnementales.
Prérequis : ECD.
Intelligence Artificielle pour le langage naturel, J.P. Prost
Le langage naturel est sans conteste le vecteur de communication le plus puissant et le plus sophistiqué dont nous disposons. Lorsqu’il est véhiculé par un support numérique, son exploitation
requiert la mise en uvre de stratégies spécifiques, tant du point de vue de la représentation des connaissances, que d’un point de vue algorithmique. Ce module concerne l’étude de ces stratégies, dites
de Traitement Automatique du Langage Naturel (TAL, ou TALN). Le but ultime du TAL, qui est à
l’origine même de l’Intelligence Artificielle, est l’émulation des compétences et performances langagières humaines, à savoir la compréhension et la génération de langage naturel, que ce soit à l’écrit ou
à l’oral. L’objet de ce module est donc d’introduire certaines des thématiques de recherche actuelles
pour le TAL. Il s’intéresse notamment à des questions relatives au raisonnement, à l’apprentissage, à
la gestion de la complexité algorithmique à l’aide de méta-heuristiques, etc. Il aborde également des
sujets d’actualité, tels que recherche d’information textuelle, analyse de sentiments et d’opinions,
etc. Le cours s’organise autour des grands chapitres suivants : - buts et objectifs de la recherche en
TAL - méthodologies et évaluation en linguistique computationnelle - analyse de texte et systèmes
multi-agents - acquisition et inférence dans les grands réseaux lexico-sémantiques
31
3.1.4
Semestre 4
• Projet annuel CMI (5 ECTS),
• Stage de recherche (25 ECTS) et
• vie professionnelle (5 ECTS).
32
4
Master CMI Informatique Géomatique
Objectifs et débouchés de la formation Le master " Géomatique ż a pour objectif de former des étudiants à la maîtrise des méthodes et outils (notamment numériques: SIG, CAO, DAO,
Webmapping, MNT, Télédétection, Analyse spatiale, etc.) nécessaires à l’élaboration d’un projet
territorial qui mobilise les acteurs de l’aménagement et du développement, tant dans le cadre des
collectivités territoriales et des politiques publiques que dans le secteur privé (grands groupes à
activité territorialisée, bureaux d’études). Les systèmes d’information (S.I.) et l’information géographique (I.G.), par leur capacité à représenter et modéliser le territoire, à intégrer et permettre
d’analyser des données de diverses disciplines, prennent une place de plus en plus importante au
sein des projets de territoire et servent les acteurs dans le cadre de leur réflexion et de leur action
au sein de ces territoires et ce à différents niveaux géographiques.
La formation est structurée selon trois axes : - Sens et interprétation de l’information géographique, compréhension des structures et dynamiques spatiales, des demandes des acteurs de
l’aménagement, des enjeux territoriaux de l’action publique ; - Conception, mise en oeuvre et
exploitation des systèmes d’information mobilisant l’information géographique ; - Applications :
usages de l’information géographique dans différents domaines de la gestion et de la gouvernance
des territoires.
4.1
Offre d ’UE Géométrique
4.1.1
Semestre 1
Architectures Systèmes et Réseaux- Pompidor
Découverte du système d’exploitation Linux (notamment des principales commandes systèmes).
Initiation au scripting système via le langage Python : - reporting de commandes (utilisation
d’expressions régulières et de structures de données à plusieurs dimensions) - exploration de systèmes de fichiers Développement en projet d’un SIG " artisanal ż à partir de données formatées en
XML et médiatisée grâce au langage SVG (Scalable vector graphics) via une interface web
Systèmes d ’information et Bases de données Mougenot Introduction aux Systèmes
d’Information et aux méthodologies de conception (Merise / Objet) - Introduction aux bases de
données : historique et définition ; - Modèles des données : Modèle entité association, Modèle relationnel, Passage du modèle entité-association au modèle relationnel, contraintes d’intégrité, normalisation ; - Modèles des traitements : Opérations algébriques et requêtes en algèbre relationnel,
Langage SQL : LDD et LMD, Notion de contrôle de concurrence et de transaction ; - Les TP seront
effectués sur le SGBD Oracle.
Sémiologie graphique, Cartographie, Théories sur les données géographiquesBord
Cet enseignement se partagera en 4 temps parmi les choix à faire pour comprendre et donner à comprendre l’espace des Hommes: la réflexion en amont (connaissances, étude des concepts, problématisation, choix du fond de carte et des données), la construction au centre (analyse de l’information
géographique, choix dans la panoplie des cartes, sémiologie graphique) et l’interprétation/communication
en aval (relation texte/image, oral/écrit). Sera mis en place également un apprentissage de logiciels
de DAO/CAO. Apprendre à " faire ż une carte en tenant compte des moments et choix pertinents
pour une réalisation " utile ż. Cet apprentissage combinera les aspects techniques, scientifiques et
33
artistiques.
De l ’aménagement à la gestion des territoires : problématiques et méthodes Bord
Le cours se propose d’analyser et d’approfondir les relations entre données/information, territoires et
acteurs. Il abordera plusieurs questionnements. Qu’est-ce qu’un concept, une problématique? Les
concepts fondamentaux de la mention seront étudiés (aménagement/gestion, territoires) ainsi que
celui d’information géographique qui abordera la méthodologie. Outre les enseignements théoriques,
seront développés des projets d’aménagement avec l’invitation de professionnels du privé et du public.
Analyse de données - Enquêtes/Statistiques/SIG- Evrard -Bouhet
Cet enseignement consiste à proposer aux étudiants un ensemble de compléments méthodologiques
reposant sur 3 thématiques : (1) l’enquête : élaborer une méthodologie d’enquête, construire un
questionnaire d’enquête, utilisation de logiciels spécifiques d’enquête (élaboration d’un questionnaire, saisies des réponses, traitement et analyse) ; (2) Analyses Multivariées : donner les moyens
de passer de statistiques bivariées aux statistiques multivariées, dans un contexte de profusions
d’informations statistiques, donner les outils pour un traitement global des données ; (3) SIG :
reprendre les bases et approfondir l’utilisation des principaux logiciels de SIG, de type Mapinfo,
ArcGis ou de logiciel libre.
4.1.2
Semestre 2
Analyse spatiale-Bouhet
Cette UE est constituée de 4 parties : - Fondements de l’analyse spatiale en géographie et applications en aménagement de l’espace : concepts et théories. - Analyse de réseaux : apports de la
théorie des graphes, de la recherche opérationnelle et de la géométrie fractale, propriétés des réseaux
(ubiquité, connexité, connectivité, immédiateté, instantanéité), problèmes de cheminements, formes
et fonctions de réseaux (invariance d’échelle, arborescence, maillage). - Effets de localisation et
accessibilité : distances, potentiels, centralité, hiérarchie, localisations optimales. - Interactions
spatiales, échanges et mobilités : modèle gravitaire, simulations multi-agents?
Traitement d’images et télédétection (APT)-Labbé-Cherel
L’imagerie satellite, et aérienne, constitue une partie intégrante des SIG. La présence de la Maison
de la Télédétection à Montpellier et la mise en place du projet Equipex GEOSUD (infrastructure
nationale d’imagerie satellitaire pour la recherche sur l’environnement et les territoires) confirment
cette importance grandissante. Le module présente dans un premier temps les principes fondamentaux du traitement d’images (rayonnement, résolutions signatures, ?), l’offre en imagerie satellite
et les prétraitement requis. Les exposés et les TD permettent ensuite d’appréhender les principaux
traitements utilisés (composition colorées, classifications, filtres, MNT, ..). Enfin, des exemples illustrent l’intérêt de la télédétection dans différents domaines (environnement, agronomie, foresterie?).
Base de données spatiales-Bringay
Introduction à l’information géographique (spatiale, temporelle et thématique), aux systèmes de
référence spatiale (géodésiques, ellipsoïde?), aux modèles de représentation des informations géographiques (e.g. OGC, ISO). Notion d’analyse spatiale : opérateurs, thématiques (arithmétiques
et logiques), spatiaux (métriques, topologiques?). Bases de données spatiales : création de bases
34
avec des fonctionnalités géographiques, requêtes avec opérateurs spatiaux, optimisation de l’analyse
géographique. Visualisation avancée d’informations spatialisées. Panorama des logiciels (outils SIG
et SGBD spatiaux) et TP réalisés avec Postgis, Oracle, MapInfo, ArcView Introduction aux infrastructures de données spatiales et aux architectures associées.
4.1.3
Semestre 3
Ingénierie des projets d’aménagement-Pioch
Le but de l’UE est de dresser le bilan des politiques d’aménagement-gestion des territoires, les
expériences menées dans différents pays - développés comme en développement. Trois moments aménagement du territoire, ménagement de l’espace, management des territoires seront analysés.
Les pratiques d’intervention en matière de planification spatiale ont généralement été, d’abord, à
l’initiative des Etats et se sont traduites par des aménagements afin de conforter une dynamique
économique. Une autre phase s’est juxtaposée-surimposée à celle-ci avec une préoccupation plus
grande de ménager l’espace, de prendre en compte sa durabilité et sa vulnérabilité. L’intervention
de structures supra nationales (Union européenne, différents marchés subcontinentaux etc.) et internationales (Banque Mondiale, PNUD etc.) vient encore complexifier la donne.
La géométrique dans la recherche et l’entreprise -Bord
Il s’agira ici, avec l’intervention de responsables d’entreprises et de chercheurs notamment, de sensibiliser et de mettre en contact les étudiants avec le monde entrepreneurial et de la recherche. Outre
des responsables privés et publics d’entreprises, des chercheurs, interviendront également d’anciens
étudiants du master en poste aujourd’hui ou en thèse afin de relater leur expérience.
Analyse spatialeavancée -Bouhet
Les apports théoriques de la géostatistique, de la morphologie mathématique, de la logique floue ou
des graphes deviennent de plus en plus disponibles dans les logiciels Systèmes d’Information Géographique (SIG) Comment tirer partie de ces nouvelles techniques de traitements dans des problématiques d’aménagement de l’espace ? Objectif : S’initier à la pratique d’algorithmes avancés
d’analyse spatiale dans les SIG
Acteurs, Territoires, gouvernance-Chéry Cet enseignement aborde quatre aspects du système territorial : - Territoire, système territorial et méthode d’analyse - Gouvernance des territoires
et logiques d’acteurs - Dimension du droit dans les projets de territoire - Indicateurs spatialisés et
paysage A partir d’introductions conceptuelles et méthodologiques, et en interaction avec l’UE "
: Imagerie spatiale et gestion des ressources renouvelables ż, les étudiants effectuent un diagnostic
territorial ciblé sur une problématique particulière, à partir de cas concrets en France ou sur des
territoires "Sud".
Algorithmique, programmation par objets -Huchard
Ce cours présente les bases de l’algorithmique impérative et introduit successivement les notions de types, variables, expressions, structures de contrôle, procédures et fonctions, récursivité. Il
s’accompagne d’une initiation à la notion de complexité algorithmique. En parallèle, les fondements
de la programmation par objets sont étudiés, notamment les notions de classe, d’attribut, de méthode, d’instanciation, d’héritage et de liaison dynamique. Les langages support de l’apprentissage
peuvent être Java ou Python. Les exemples seront déclinés selon les domaines scientifiques visés
35
(géographie, aménagement, environnement?).
Imagerie spatiale et gestion des ressources renouvelables-Bouhet
Ce module vise à renforcer ou mettre à niveau les connaissances des étudiants en matière de traitement d’images d’observation de la Terre. Cet enseignement se structure autour de trois axes : un renforcement des connaissances et compétences en télédétection et traitement d’images ; - des
applications thématiques de la télédétection ; - l’utilisation de logiciels de télédétection (libres et
commerciaux) avec une mise en perspective des fonctionnalités offertes. L’équipe d’intervenants
est constituée principalement d’ingénieurs et chercheur de l’UMR Espace-Dev à la Maison de la
Télédétection.
Information, cartographie et web -Desconnets
Après des apports théoriques sur les architectures web sur lesquelles sont déployées les applications
cartographiques sur le web, des connaissances sont apportées concernant les initiatives de normalisation de services web. Ces connaissances théoriques sont complétées par un large panorama
des solutions (logiciels, librairies) existantes dans le monde du logiciel libre. Une grande part des
enseignements est orientée vers la mise en ?uvre de solutions open source. La réalisation d’une
application cartographique est demandée aux étudiants pour valider cette UE.
Géomatique appliquée aux transports-Chapelon
Cette UE porte sur la collecte, le traitement et la représentation des données spatialisées dans le
cadre des politiques de transport. Elle accorde une large place aux expertises de terrain, en partenariat avec des collectivités territoriales, aux études de cas, en lien avec des projets d’infrastructures,
et aux travaux sur machine à partir d’applications SIG (ArcGIS et Mapinfo).
SIG en collectivités territoriales Chéry, Amara
Il s’agira ici, d’approfondir la connaissance des collectivités territoriales qui demeurent un des
débouchés majeurs de la géomatique en France. Une attention particulière sera portée sur le concours de la fonction publique territoriale avec notamment la mise en pratique de la note de synthèse
et de l’oral. Enfin, l’élaboration de recommandations techniques sur des projets de SIG en collectivité territoriale sera développée sous la forme de travail en groupe.
4.1.4
Semestre 4
• Projet annuel CMI (5 ECTS),
• Stage de recherche (25 ECTS) et
• vie professionnelle (5 ECTS).
36
5
Master CMI Informatique IMAGINA
Objectifs et débouchés de la formation Cette spécialité est essentiellement destinée aux
industries et à la recherche dans les domaines de l’image, des jeux vidéo, et des simulateurs. Il
s’agit donc d’un recentrage vers des métiers relativement précis, associé à une étude de marché dans
notre région. Les objectifs de cette spécialité sont de former des ingénieurs et chercheurs dans les
industries de l’image, des jeux vidéo, et simulateurs, susceptibles de maitriser les théories, modèles,
algorithmes et architectures informatiques au service de ces industries. Les activités visées par
le diplôme sont l’imagerie, la conception 3D, le développement de jeux vidéo, et la réalisation de
simulateurs.
Métiers professionnel visé : chef de projet imagerie / ingénieur / lead progammer jeux vidéo /
ingénieur de recherche dans les simulateurs. Dans des sociétés multimédia spécialisées dans la 3D
/ sociétés de développement spécialisées dansl’imagerie numérisée / studios de production de jeux
vidéo / studios de production spécialisés dans les effets spéciaux / sociétés de développement de
simulateurs / sociétés de montage et traitement vidéo (ex : vidéo-surveillance
Structure envisagée :
1. Semestre 1 :
• Anglais
• 3 UES obligatoires parmi 4 de la spécialité IMAGINA
–
–
–
–
Programmation orienté agents
Traitement du signal
Intelligence Artificielle
Interaction Homme Machine
• 2 UE Informatique parmi soit la spécialité IMAGINA, soit parmi :
–
–
–
–
–
Théorie de l’information
Ingénierie logicielle
Réseaux
Algorithmique/Complexité
Bases de données avancées.
2. Semestre 2 :
• Projet Annuel CMI
• 3 UES parmi 4 de la spécialité IMAGINA
–
–
–
–
Analyse et traitement des images
Modélisation et Programmation 3D
Algorithmes d’Exploration et de Mouvement
Géométrie algorithmique et discrète
• 2 UE Informatique parmi soit la spécialité IMAGINA, soit parmi :
– Conduite de Projets
37
– Architecure N-tiers
– Graphes et STructures
– Méthodes approchées
3. Semestre 3:
• 5 UES parmi 8 de la spécialité IMAGINA
–
–
–
–
–
–
–
–
Son et Musique
Moteurs de Jeux
Imagerie Médicale et 3D
Vision, Réalités Virtuelles et Augmentée
Jeux Sérieus
Codage et Compression Multimédia
Informatique Graphique
Société Virtuelle
• Semestre 4 :
– Vie d entreprise (Transversale)
– Projet Annuel CMI (Transversale)
– Stage Pro ou Recherche (Transversale)
5.1
Offre d ’UE IMAGINA
5.1.1
Semestre 1
Traitement du Signal Transmission des signaux Codage de l’information Calcul de capacité
Sécurisation del’information Optimisation et compression
Signaux continus, signaux discrets, signaux numériques. Représentation fréquentielle des signaux : transformations de Fourier et Laplace. Notion de systèmes linéaires et fonctions
de transfert. Représentation numérique des signaux continus (réels). Synthèse des filtres
numériques.
Corrélation des signaux. Filtrage linéaire et filtrage médian : suppression du bruit. Histogramme et statistique d’un signal.
Intelligence ARtificielle Ce module introduit des notions fondamentales d’intelligence artificielle,
qui serviront de socle pour l’acquisition de techniques plus poussées dans des modules spécialisés (en représentation de connaissances, ingénierie des connaissances, théorie des bases de
données/connaissances, algorithmique de l’intelligence artificielle, etc.). Sont en particulier
traités les sujets suivants : - notion d’espace de recherche, parcours d’un espace de recherche,
algorithme de backtrack, application de cet algorithme à différents problèmes : calcul des
solutions d’un réseau de contraintes, test de la satisfiabilité d’une formule propositionnelle
(problème SAT), calcul des solutions à une requête conjonctive dans une base de faits, application d’une règle du premier ordre, ... - systèmes à base de règles : règles en logique
des propositions et en logique du premier ordre, mécanismes de chaînage avant et chaînage
arrière, quelques techniques d’optimisation de ces mécanismes, modélisation de connaissances
avec des règles.
38
Ces différents aspects sont mis en pratique en séance de TP
Interaction homme -Machine- Cet UE a un double objectif: d’une part l’UE a pour but la
présentation d’un panorama aussi large et représentatif que possible du domaine de l’interaction
homme-machine en s’appuyant sur l’étude des réalisations, modèles, concepts et outils de base
utiles à l’interaction homme-machine. D’autre part, cette UE vise à former les étudiants à la
pratique des concepts étudiés par des études de cas concrets et des exercices de développement. Compétences à acquérir 1) Méthodologies et principes de conception et d’évaluation
pour l’IHM : approches ergonomiques, cognitives, participatives; (2) Stratégies de visualisation de l’information : éléments de codage graphique, coloration, composition, placement; (3)
Principes, styles et techniques d’interaction et d’animation; (4) Programmation évènementielle. Programmation graphique 2D.
Programmations orientée Agents Concepts de base de la programmation par acteurs et agents
: asynchronisme, parallélisme, distribution massive - Usage des continuations locales vs gestion des tâches en cours - Architectures classiques d’agents (réactives, BDI, subsomption) Langages de programmation d’agents - Protocoles classiques de coordination et de négociation
- Utilisation de rôles et de groupes pour la réalisation d’applications - Gestion de la distribution d’applications multi-agents - Utilisation des techniques multi-agents pour faciliter la
programmation d’applications ouvertes, évolutives et distribuées
5.1.2
Semestre 2
Analyse et Traitement d’images Introduction Image : représentations mathématiques Acquisition et formation del’image Le système visuel humain Colorimétrie Traitement sur les histogrammes Filtrage et segmentation des images Reconstruction et restauration
Modélisation et Programmation 3D Introduction, rappel sur les vecteurs, projections, transformation ... Courbes Surfaces paramétriques Représentation surfacique Modèles volumiques
Maillages Maillages : propriétés et caractéristiques de base Segmentation de maillage Modélisation avancée Simplification et subdivision de maillage
Algorithmes d’Exploration et de Mouvement Dans ce module, nous explorons différentes méthodes d’exploration des connaissances dans des représentations différentes des données. Le
contenu se décline en trois parties : - Exploration de graphes représentant des données incertaines (arbres de décision, réseaux bayésiens probabilistes) - Modèles et algorithmes pour la
résolution pratique des problèmes difficiles (CSP, SAT, méta-heuristiques) - Algorithmes de
mouvements d’entités spatiales
Géométries algorithmique et discrète Le sujet du cours est l’étude algorithmique et combinatoire d’objet géométrique (principalement du plan). Les chapitres principaux sont : calcul de
l’enveloppe convexe d’un ensemble de points, manipulation de polygones, graphes planaires,
triangulations, triangulation de Delaunay et diagramme de Voronoï. Ces notions seront appliquées/illustrés sur les problèmes suivants: encodage compact des graphes planaires, localisation dans une carte planaire, reconnaissance de formes (alpha-shape et alpha-complexe),
intersections de polygones (sommes de Minkowski), visualisation de scène (algorithme du
peintre), arbre euclidien minimum, plus courts chemins dans un polygone...
39
5.1.3
Semestre 3
Son et Musique L’objectif de cette UE est l’acquisition de compétences théoriques et pratiques
sur la conception et la réalisation de sons et musiques, ainsi que sur leur intégration dans des
projets multimédia, en particulier dans le domaine des jeux. Musique assistée par ordinateur
Théorie : bases sur la perception auditive et la musique Pratique : séquenceur multipistes
et outils périphériques Design sonore Théorie : algorithmes de synthèse et de traitement
sonore, cas d’utilisation des traitements sonores Pratique : programmation bas-niveau de synthèses sonores, transformations sonores usuelles, paramétrage sonore de haut-niveau Intégration Théorie : concepts relatifs à l’intégration Pratique : programmation de bas-niveau, API
de gestion de sons paramétrés en haut-niveau, intégration dans un moteur de jeu L’évaluation
de l’UE se fait au travers de contrôles continus, de rendus de TP et d’un projet d’intégration
sonore dans un jeu.
Moteurs de Jeux Introduction et notion de math Rappels pratiques Game Engine Gestion de
mémoire et de scène GPU : du rendu au calcul Optimisations hardware Animation IA pour
le jeu
Imagerie Médicale et 3D Ce module a pour but de : ů Découvrir et approfondir l’ensemble des
techniques de traitement des images numériques 3D. ů Appliquer concrètement ces techniques
dans des cas pratiques, en particulier dans le domaine médical, mais aussi industriel ou du
patrimoine culturel. ů Découvrir le rôle de l’ingénieur et del’informaticien en imagerie 3D.
Le module abordera les points suivants : ů Systèmes d’acquisition 3D et modalités d’imagerie
3D ů Visualisation ů Segmentation ů Recalage ů Applications cliniques et industrielles
Vision, Réalités Virtuelle et Augmentée - Principes de base de la vision artificielle. - Techniques de reconstruction 3D (stereovision, vision en lumière structurée, vision par silhouette,
...) - Estimation du mouvement apparent, systemes de suivit de mouvement. - Ancrage des
objets virtuels dans le monde réel. - Rendu des objets : cohérence géométrique, cohérence
photométrique, cohérence spatio-temporelle - Les dispositifs d’affichage et interaction pour la
RA
Jeux Sérieux Introduction aux serious games : Définitions et typologie des serious games Présentation des enjeux sociétaux et économiques Conception de serious games : Conception de jeux
Concilier jeux et objectifs finalisés. Développement des serious games : Méthodologies de
développement de jeux Méthodologies de développement de serious game Le joueur au coeur
de l’interaction : Cas d?études L’enseignement s’appuiera sur des TP pour mettre en oeuvre
des réalisations concrètes de serious games.
Codage et Compression Multimédia - Format des images et colorimétrie - Théorie del’information
- Compression sans perte - Compression avec pertes - Compression des vidéos - Chiffrement Insertion de données cachées - Stéganographie - Tatouage robuste - Vidéo et TV 3D
Informatique Graphique - Modélisation géométrique avancé - Maillages, Cartes combinatoires Courbes et surfaces paramétriques - Courbes et surfaces de subdivision - Surfaces implicites Animation - Modélisation procédurale - Modélisation physique - Rendu
40
Société Virtuelle Modes de cognition individuelle et collective d’agents plongés dans un environnement social. Comportements collectifs: mécanismes de coopération, collaboration, compétition. Modélisation orientée agent de systèmes sociaux pour les jeux videos (ludiques et
sérieux) et la simulation sociale. Comportement collectif: nature et implémentation. Mouvements de groupes. Organisations sociales. Représentation individuelle et collective. Mémétique, diffusion des idées, implémentation de modèles culturels. Problématique des sociétés
humains/agents artificiels. Evolution de sociétés virtuelles. Application aux films d’animation,
jeux videos, systèmes de sécurités, gestion de flux de trafic, simulation sociale et environnementale, éthologie, développement durable, gestion de ressources, aide à la prise de décision, etc.
5.1.4
Semestre 4
• Projet annuel CMI (5 ECTS),
• Stage de recherche (25 ECTS) et
• vie professionnelle (5 ECTS).
41
6
Master CMI Informatique MIT
Objectifs et débouchés de la formation
Contenus de la formation. La formation se déroule sur quatre semestres (S1-S4). Vous trouverez ci-après une présentation des contenus des thématiques abordées ainsi qu’une proposition
d’équipe pédagogique pour chacune des thématiques. L’objectif est ici de présenter une vue
d’ensemble de ce que pourrait être le parcours ; les contenus ne sont pas définitifs et seront
amenés àă évoluer. De plus les équipes pédagogiques ne sont pas figées et pourront alterner. Au
niveau organisationnel, (1) il serait souhaitable qu’un enseignant n’intervienne qu’au plus une fois
au cours du cursus ; (2) au niveau des modules de recherche, les enseignants n’interviendront qu’au
plus deux ans de suite (le terme enseignant désigne tout intervenant dans le parcours quel que soit
son statut).
Parcours Math-Info. Certaines des unités d’enseignement sont communes avec le parcours
Math-Info ; celles-ci sont estampillées MI dans la suite du document.
Semestre 1.
S2.
S3.
Complexité/Algorithmique
MI
Théorie de l’information
Algorithmique du texte (BCD)
MI
Méthodes et algorithmique probabilistes
MI
Anglais
1 option (AIGLE / DECOL / IMAGINA / AUTRE)
Calculabilité
MI
Méthodes approchées
MI
Graphes et structures
MI
TER
2 options (Algo. distribuée (MIT) / AIGLE / DECOL / IMAGINA / AUTRE)
6 modules àă choisir parmi les 7 suivants :
Module Recherche AlGCo
Graphes, Algorithmique et Complexité
Module Recherche ARITH/ESCAPE
Théorie des langages et pavages
Module Recherche COCONUT
Contraintes
Module Recherche ECO
Algorithmes arithmétiques pour la cryptographie et les codes correcteurs
Module Recherche GraphIK
Théorie des bases de connaissances (DECOL)
Module Recherche MAB
Algorithmique pour la bioinformatique (BCD)
Module Recherche MAORE
Optimisation combinatoire
42
MI
MI
MI
MI
MI
MI
MI
S4.
Projet annuel CMI
Stage CMI
Vie professionnelle
1. Semestre 1
• Complexité/Algorithmique (5 ECTS).
équipe pédagogique : Bruno Durand, Grégory Lafitte.
Mutualisation : AIGLE, DECOL.
Complexité de base couplée àă de l’algorithmique dans le cadre d’une remise àă niveau
mutualisable. Complexité pire des cas et cas moyen, en espace et en temps. NPcomplétude. Exemples de problèmes en graphes, en pavages, en algorithmique fondamentale. Jeux algorithmiques de type arthur-merlin...
• Théorie de l’information](5 ECTS).
équipe pédagogique : Plusieurs équipes possibles.
Mutualisation : IMAGINA.
Ce module contient trois thèmes principaux qui s’entremêlent tout au long du module et
qui présentent trois approches complémentaires et intimement liés de l’idée de quantifier
le contenu en information d’un message ou d’un ensemble de messages. Le premier est
la théorie de Shannon, avec les notions d’entropie, de codage de l’information et de
modèles de communication. En particulier cette partie couvre tous les codes classiques
et théorèmes associés, tels les différents codes de Huffman, Shannon-Fano, le théorème
de l’inégalité de Kraft-McMillan et l’algorithme de Sardinas-Patterson. Le second thème
est la théorie et la pratique des algorithmes et techniques de compression. Le troisième
thème est une introduction àă la théorie algorithmique de l’information de Kolmogorov.
Ces deux derniers thèmes sont présentés en étant mis en relation avec la théorie de
Shannon, ce qui nous permet d’étudier les limites de chacune des approches.
• Algorithmique du texte(5 ECTS).
équipe pédagogique : Sèverine Bérard, Annie Chateau.
Mutualisation : AIGLE, DECOL.
Gràćce aux ordinateurs, nous traitons, stockons, consultons des quantités de plus en
plus grande de textes, qu’ils soient en langue naturelle ou sous forme de séquences (par
exemple, des génomes - séquence de l’ADN d’une espèce). Sur internet des millions de
documents textuels sont accessibles et interrogeables selon des critères simples. Le besoin
de méthodes efficaces de manipulation (au sens large) du texte va croissant. L’indexation
des pages web sur un moteur de recherche est un exemple d’application àă très grande
échelle. Ce module d’algorithmique traite des méthodes informatiques (par exemple,
techniques de programmation dynamique) qui permettent ces manipulations de texte.
On s’intéresse aux algorithmes de recherche d’un ou plusieurs mots dans un texte (KnuthMorris-Pratt ou Aho-Corasick), mais aussi aux structures d’indexation des textes (par
43
exemple, l’arbre des suffixes ou la table des suffixes) qui permettent, une fois calculées,
des recherches àă la volée de mots ou d’expressions plus complexes. D’autres questions
concernent la détection de répétition dans les textes ou la comparaison de textes, qui
permet de calculer des distances (telles que la distance d’édition) ou mesures de similarités, pour ensuite pouvoir les classifier. Les applications dans des domaines variés seront
abordées, principalement en bioinformatique et en linguistique.
• Méthodes et algorithmique probabilistes(5 ECTS).
équipe pédagogique : Anne-Elisabeth Baert.
Mutualisation : AIGLE, DECOL.
Cette U.E. s’oriente autour de trois axes : Aspects probabilistes de l’informatique, Analyse probabilistes d’algorithmes et graphes aléatoires, Algorithmique probabiliste. Le
cours se décompose en quatre parties :
– Socle / Fondements de l’analyse en moyenne (12-15h). Généralités sur les modèles
probabilistes discrets: moyennes, variances, lois de probabilité discrètes. Liens entre dénombrements, analyse asymptotique, et analyse d’algorithmes. Inégalités de
Chebyshev. Exemple élémentaire: sélection des k premiers, tables d’inversion, nombre de Stirling, comparaison de deux stratégies de sélection. Dénombrements exacts
par séries génératrices ordinaires et exponentielles (Modèles de base pour les mots
et langages, familles d’arbres, permutations, graphes contraints, allocations (modèles d’urnes). Pour les modèles rationnels: liens entre automates, séries rationnelles,
systèmes linéaires, et matrices de transfert. Pour les modèles algébriques et leurs
variantes: inversion de Lagrange, théorème de Cayley (arbres étiquetés), applications
aux fonctions finies (mappings)). Notions sur les fonctions génératrices àă plusieurs
variables: calculs explicites de moments et de lois de probabilité. Dénombrements
asymptotiques. Utilisation des propriétés analytiques des séries génératrices: pàťles
des fractions rationnelles, bornes sur les rayons de convergence (bornes de col), les
singularités et leur influence sur les coefficients de séries (bases de l’analyse de singularité). Tri rapide (Quicksort); Sélection rapide (Quickfind); Variantes avec médiane; Tris (Bubble-sort, etc); Caractéristiques principales des arbres binaires de
recherche (longueur de cheminement, pagination). Hachage avec chainage séparé
et allocations aléatoires: paradoxe des anniversaires, collectionneur de coupons, loi
de Poisson des remplissages, linéarité en moyenne. Mots et motifs: linéarité en
moyenne de la recherche naàŕve de motifs. Arbres de Catalan, objets "bijectivement reliés "(chemins de Dyck, triangulations), et leurs principales caractéristiques
probabilistes. Arbres de Cayley et application aux générateurs aléatoires.
– Processus Markovien (6h). Les processus de naissance et de Mort / Processus Poissonnien. Chaines de Markov àă temps discret. Temps continu .
– Algorithmes randomisés / Méthode Monte Carlo (3-6h). Introduction/définition.
Randomisé vs approximation. Extraction des mots fréquents, extraction des contenus communs àă des corpus distincts. Applications àă l’optimisation combinatoire
ou aux structures de données (skip lists) .
– Graphes aléatoires (12-15h). La méthode probabiliste/Bollobas, définition propriétés.
Graphes àă la Erdos Rényi : définition, propriétés, phénomènes de transition de
44
phases, composantes géantes. Arbres / Marches aléatoires et processus de branchement en Informatique. Graphes aléatoires géométriques, graphes petits mondes (application aux réseaux P2P / sans fils et sociaux).
• Anglais (5 ECTS).
• + 1 module au choix.]Un module àă choisir parmi l’offre des autres parcours AIGLE
/ DECOL / IMAGINA / AUTRE.
2. Semestre 2.
• Calculabilité (5 ECTS).
équipe pédagogique : Bruno Durand, Grégory Lafitte, Victor Poupet.
Mutualisation : DECOL.
La théorie de la calculabilité tourne autour de deux notions phares : les modèles de
calcul et les réductions entre problèmes. Le cours commence par une présentation et
des rappels sur différents modèles de calcul ayant diverses puissances de calcul, allant
des automates finis aux machines de Turing en passant par la récursion primitive. Nous
étudions alors différentes notions de réductions d’un problème àă un autre pour ensuite
présenter différents ensembles canoniques et les théorèmes principaux de la calculabilité
naàŕve, tels l’ensemble diagonal, les ensembles d’indices de fonctions, les théorèmes de
point-fixe de Kleene, le théorème de Rice, l’isomorphisme de Rogers, etc. Le cours
se termine par un aperàğu de la structure induite par les réductions sur les ensembles
d’entiers quelconques et les ensembles récursivement énumérables. En particulier nous
construisons différentes solutions au problème de Post.
• Méthodes approchées(5 ECTS).
équipe pédagogique : Rodolphe Giroudeau, Jean-Claude Konig.
Mutualisation : IMAGINA.
Maitriser les techniques pour résoudre au mieux (méthodes exactes, méthodes approchées)
des problèmes classés comme difficile au sens de la théorie de la complexité. Branch and
bound (algorithme A*), branch and cut, algorithmes approchés avec garantie de performance, programmation dynamique, PTAS, FPTAS, Recherche locale,...
• Graphes et structures(5 ECTS).
équipe pédagogique : Stéphane Bessy, Mickael Montassier.
Mutualisation : IMAGINA
Nous présenterons àă travers ce cours des résultats classiques de la théorie des graphes.
Notre objectif sera d’appréhender des preuves parfois complexes manipulant des objets
non triviaux. Nous reviendrons sur les raisonnements par l’absurde, par récurrence, par
réduction, ... Entre autres, nous nous intéresserons aux :
– problème du couplage dans les graphes bipartis (théorème de Hall), dans les graphes
en général (théorème de Tutte),...
45
– problèmes de colorations de graphes avec notamment le problème des quatre couleurs
et plus précisément le théorème des 5 couleurs (argument de Kempe (preuve par
l’absurde), Lovász (preuve par réduction), Thomassen (preuve par induction))...
– problèmes sur les graphes orientés avec les théorèmes de Gallai-Roy, Gallai-Milgram,
d’Edmonds.
àégalement seront abordées les problématiques de connectivité, de décompositions, d’hypergraphes,...
• Projet annuel CMI de Master
• + 2 modules au choix. Deux modules àă choisir parmi l’offre des autres parcours
AIGLE / DECOL / IMAGINA / AUTRE.
3. Semestre 3 Ce semestre est constitué de six modules «recherche» àă choisir parmi sept.
Chaque module est placé sous la responsabilité de la (ou les) équipe(s) de recherche correspondante(s) : le programme et les intervenants sont choisis par les équipes en fonction de
leurs besoins et projets. Le volume d’un module est de 20 ou 40 heures selon l’équipe. Le
département informatique demande une alternance des intervenants ; de ce fait, un enseignant
n’interviendra qu’au plus deux ans de suite dans le module de recherche correspondant.
• équipe AlGCo
«Graphes, Algorithmique et Complexité» (5 ECTS).
équipe pédagogique : Stéphane Bessy, toute l’équipe AlGCo.
Ce module se situe àă l’interface de la combinatoire des structures discrètes, de l’algorithmique
et de la théorie de la complexité. Il comportera donc plusieurs volets complémentaires
tels que :
– Théorie des graphes. L’objectif est ici de présenter les développements récents et
les techniques émergentes pour les problèmes classiques (e.g. coloration, dominationâĂę) mais aussi les théories des décompositions de graphes et des mineurs ou
encore des graphes géométriques / topologiques.
– Algorithmes combinatoires. Les propriétés structurelles des graphes (décomposition,
plongement dans les surfaces) permettent souvent, sur des classes de graphes particulières, soit de prouver l’existence d’algorithmes efficaces ou de concevoir de tels
algorithmes. Nous étudierons essentiellement les méthodes algorithmiques (polynomiales, paramètrées, exponentielles) permettant de calculer des solutions exactes àă
des problèmes d’optimisation combinatoire.
– Algorithmique paramétrée. Au delàă de la théorie de la complexité classique, nous
nous intéresserons en particulier àă la complexité paramétrée et aux méthodes de
pré-processing polynomial (kernelization) en lien avec la logique (model checking) et
les automates.
46
• équipes ARITH et ESCAPE
«Théorie des langages et pavages» (5 ECTS).
équipe pédagogique : Bruno Durand, Thierry Monteil, Pascal Ochem, Victor Poupet,
Gwenaël Richomme, Andrei Romashchenko, Patrice Séébold.
Les thèmes abordés dans ce cours sont amenés àă varier chaque année.
– Pavages. Une tuile est un carré unité àă bords colorés; dans la suite, les ensembles
de tuiles considérés sont supposés être finis. Ces tuiles jouent le ràťle de “modèles de
tuiles” : on en place des copies dans les cases du plan. Ainsi, on obtient la notion
de configuration : des tuiles posées dans le plan. On dit alors quâĂŹune zone est
bien pavée si on y observe partout que deux càťtés de tuiles en contact ont la même
couleur. Ainsi, pour certains ensembles de tuiles, on peut former des pavages du plan,
pour dâĂŹautres on ne peut pas ; certains peuvent paver le plan périodiquement
(avec 2 vecteurs de périodicité indépendants), dâĂŹautres ne le peuvent pas. Si les
pavages intéressent diverses communautés, les logiciens ont les premiers développé
des théories générales, notamment sur les problèmes de pavabilité. Curieusement,
ces résultats et techniques sont liés àă la notion même de calcul : un pavage a l’air
d’être un objet géométrique dévolu aux mathématiques ou àă la physique des cristaux
mais en fait leur structure éventuellement compliquée vient de ce qu’ils expriment
naturellement de l’algorithmique.
Les pavages peuvent aussi être vus comme des mots en dimension 2 vérifiant des
contraintes locales, mais la théorie des langages habituelle en dimension 1 ne se
généralise pas aisément àă la dimension 2.
– Langages. Dans de nombreux domaines de l’informatique (algorithmique du texte,
compression, langages formels et automates, codage, gestion de files dâĂŹattente,
. . . ) ou dâĂŹautres disciplines (placement de robots, algorithmique du génome,
théorie des nombres, systèmes dynamiques, . . . ), une compréhension combinatoire
de mots ou de langages (ensembles de mots) définis par des contraintes particulières
ou par des mécanismes engendrant est nécessaire. La première partie du cours est
consacrée àă l’étude des outils, techniques, objets et problématiques de base en combinatoire des mots (équations entre mots, complexités de mots, mots sturmiens, mots
sans répétition, motifs évitable, mots de Lyndon, palindromes, décompositions, morphismes, . . . ). La deuxième partie sera consacrée àă l’exploration de problématiques
en cours d’étude dans l’équipe. àĂ titre d’exemple, voilàă des centres d’intérêts
actuels pouvant être abordés : mots et géométrie discrète ; propriétés abéliennes des
mots ; graphes et répétitions ; mots et algorithmique du texte, . . .
• équipe COCONUT
«Contraintes» (5 ECTS).
équipe pédagogique : Christian Bessiere, Rémi Coletta, Gilles Trombettoni.
Le raisonnement par contraintes permet de résoudre de nombreux problèmes combinatoires (emplois du temps, affectation de personnel, etc.). Une solution àă un problème
de satisfaction de contraintes (ou CSP) est une affectation de valeurs àă des variables
soumises àă des restrictions (= contraintes) sur les combinaisons de valeurs qu’elles peuvent prendre. Nous aborderons rapidement la modélisation de problèmes en CSP et
47
décrirons les principales techniques pour résoudre un CSP. Nous insisterons sur la propagation de contraintes et nous étudierons le concept de contrainte globale, utilisé dans
tous les logiciels de résolution de contraintes. Ensuite nous présenterons différentes extensions apportées au modèle CSP pour répondre àă des questions plus complexes comme
la recherche de la "meilleure" solution selon certains critères. Une partie du cours sur la
programmation par contraintes sur intervalles montrera comment ces techniques peuvent
s’appliquer dans le monde continu pour résoudre des systèmes de contraintes d’égalités et
d’inégalités sur les nombres réels et effectuer de l’optimisation globale sous contraintes.
• équipe ECO]
«Algorithmes arithmétiques pour la cryptographie et les codes correcteurs»
(5 ECTS).
équipe pédagogique : Pascal Giorgi, Eleonora Guerrini, Laurent Imbert.
L’objectif de ce module est de présenter les concepts et outils mathématiques de la
théorie de l’information, notamment la cryptographie et la théorie des codes correcteurs.
Dans un monde de plus en plus interconnecté, la cryptographie est devenu un ingrédient
indispensable àă la sécurisation des données et des communications. Elle s’attache àă
protéger des messages pour assurer confidentialité, authenticité et intégrité. La théorie
des codes permet de reconstruire des messages en cas de modifications (erreurs) pendant
la transmission sur un canal bruité (par ex. communications par satellites). Ces deux
disciplines de la théorie de l’information s’appuient fortement sur des notions et outils
de la théorie des nombres.
La première partie du cours est consacrée àă une introduction àă ces outils fondamentaux d’arithmétique et de calcul formel. Nous présentons les notions de divisibilité, les
algorithmes de multiplication rapide et de pgcd, les anneaux et corps finis, ainsi que
quelques notions d’algèbre linéaire. La seconde partie est dédiée aux applications de ces
concepts àă la cryptographie asymétrique moderne et aux codes correcteurs d’erreurs.
Nous présentons aussi les méthodes permettant d’attaquer les problèmes difficiles sousjacents comme la factorisation entière et le calcul de logarithme discret. Pour l’ensemble
du module, des applications sont proposées permettant de mettre en œuvre les concepts
vus en cours.
• équipe GraphIK]
«Théorie des bases de connaissances» (5 ECTS).
équipe pédagogique : Marie-Laure Mugnier, Jean-François Baget, et autres membres
de GraphIK.
Mutualisation : DECOL.
Ce module est consacré aux formalismes permettant de représenter une base de connaissances et d’effectuer des raisonnements sur ces connaissances. Le formalisme de référence
est la logique du premier ordre. On s’intéresse àă deux problèmes fondamentaux : la
satisfiabilité (ou cohérence) d’une base de connaissances et l’interrogation d’une base
de connaissances, problème aussi connu sous le nom Ontology-Based Data Access : il
s’agit d’interroger une base de faits / données, en tenant compte des inférences permises
par une "ontologie", c’est-àă-dire un ensemble de connaissances générales sur le domaine
modélisé. On traitera des points suivants :
48
– notions fondamentales : adéquation et complétude logiques, hypothèses du monde
ouvert et du monde clos, réductions entre problèmes, expressivité, etc ;
– problèmes sur les requêtes conjonctives, quelques problèmes équivalents, prises en
compte de hiérarchies de classes/concepts et relations ;
– datalog, règles existentielles, Datalog +/- ;
– logiques de description, avec focus sur les logiques orientées interrogation ;
– négation du monde clos et sémantique des modèles stables, Answer Set Programming
;
– sémantiques tolérantes aux incohérences.
• équipe MAB
«Algorithmique pour la bioinformatique» (5 ECTS).
équipe pédagogique : Sèverine Bérard, Annie Chateau.
Mutualisation : BCD.
L’U.E. donne un panorama des algorithmes utilisés en bioinformatique ou en biologie pour la comparaison de séquences moléculaires et la phylogénie. Partant des concepts et méthodes essentielles pour accéder àă la connaissance apportée par le génome
(traitement des données de séquenàğage haut débit, algorithmes et problèmes liés àă
l’assemblage génomique), nous introduisons ensuite les méthodes et algorithmes permettant d’exploiter cette connaissance, au niveau de la séquence génomique, àă travers les
concepts d’alignement et autres notions de similarités entre séquences (Plus Longue SousSéquence Commune, distance d’édition, etc.). Ce module se poursuit par l’exploitation
des données génomiques pour la reconstruction de l’arbre du vivant (reconstruction phylogénétique). Il s’agit de reconstruire l’évolution des objets biologiques, de la molécule
àă la population, en passant par les gènes, les génomes et les espèces. Cette évolution est représentée par des arbres ou des réseaux. Les modèles sont combinatoires ou
probabilistes. Les approches algorithmiques portent sur l’inférence d’arbres (àă partir
de sous-arbres par exemple, ou de séquences), la comparaison d’arbres, la combinaison
d’arbres au sein de réseaux, l’optimisation dans un espace d’arbres (ou de réseaux) de
fonctions continues, notamment de type vraisemblance. àĂ travers chacune de ces thématiques, l’U.E. présente des méthodes algorithmiques et mathématiques originales, avec
leurs complexités en temps et en espace. Elle sensibilise les étudiants àă leurs applications pratiques et donne un aperàğu des problèmes ouverts en recherche dans ce domaine.
Le module se décompose en deux parties : un socle de base présentant les concepts et
formalismes fondamentaux, ainsi que les algorithmes et outils classiques, et une série de
cours-séminaires avancés présentant des recherches de pointes en bioinformatique.
Prérequis : les prérequis en informatique concerne une connaissance de base en algorithmique et structures de données et des notions de complexité, les prérequis en biologie sont
minimes et relèvent essentiellement de l’intérêt et de la curiosité pour la discipline.
• équipe MAORE
«Optimisation combinatoire» (5 ECTS).
équipe pédagogique : Marin Bougeret, Sylvain Durand, Rodolphe Giroudeau, JeanClaude Konig, Miklós Molnár
49
Nous approfondirons tout d’abord les techniques classiques de conception d’algorithmes/schémas
d’approximation (analyse d’algorithmes gloutons, programmation linéaire et arrondis,
recherche locale, approximation duale, techniques de "guess",..), ainsi que des résultats
de base sur l’inapproximabilité (typiquement introduction / transfert de gap). Nous
nous intéresserons ensuite au cas de l’analyse on-line (les données ne sont pas connues àă
l’avance), de l’analyse multicritère (plusieurs critères antagonistes sont considérés). Enfin, nous présenterons quelques résultats d’approximation polynomiale liés àă l’utilisation
du rapport différentielle, alternative àă la mesure classique. Ces techniques seront dans
un premier temps introduites sur les problèmes de base du domaine, (vertex cover and set
cover, independent set, sac àă dos, problèmes de packing,...). Puis, nous verrons comment
les utiliser sur des problèmes plus spécifiques dans les réseaux et dans l’ordonnancement.
Entre autres, nous étudierons certains problèmes de recouvrement sous contraintes (recouvrement des graphes, problème de Steiner sous contraintes de degré des sommets,
multiples contraintes dans l’optimisation, ...).
4. Semestre 4
• Projet annuel CMI (5 ECTS),
• Stage de recherche (25 ECTS) et
• vie professionnelle (5 ECTS).
50

Documents pareils