bandeau illustrant

Master 1 Informatique

Description

.

La première année du Master mention « Informatique », constitue le tronc commun de trois parcours proposés en 2ème année du Master.

L’objectif de cette première année est l’approfondissement des fondements et des outils de l’informatique. Elle forme des cadres tant au niveau théorique que pratique, capables d'assurer des fonctions de chef de projet informatique.

Les étudiants ayant acquis à la fin de la 1ère année du Master Informatique des connaissances approfondies théoriques et pratiques dans divers domaines informatiques peuvent être recrutés en tant que responsables ou chargés d’études et développement dans tous les domaines des entreprises qui utilisent l’informatique.

La poursuite d’études est recommandée ; la 2ème année du Master constitue la véritable année de spécialisation, avec le choix entre deux parcours  en informatique. Le premier est : Bases de données - Intelligence artificielle ; le second est : Image et Intelligence artificielle.

L’objectif du Master Informatique est de former des spécialistes de l’informatique, capables de prendre en charge la conception et la mise en œuvre d’études originales et d’applications nouvelles dans tous les domaines où l’informatique participe au développement de l’entreprise.

A l’issue de leur formation, les étudiants auront acquis les compétences nécessaires pour maîtriser :

  • Les concepts théoriques avancés de l’informatique pour un spectre large intégrant des compétences en programmation et algorithmique, en systèmes de gestion de bases de données, en développement Web, en traitement et synthèse d’images, en systèmes et réseaux, systèmes distribués, génie logiciel, etc.
  • Les outils de conception et de développement afférant à ces différents domaines.
Programme
Les  cinq UE au premier semestre sont :

- Algorithmique et complexité

- SGBD

- Systèmes distribués

- Systèmes de Gestion de documents, Génie Logiciel et Environnement  professionnel 1ère partie

 - Synthèse d’images.

Les cinq UE au second semestre sont :

- Réseaux

- Anglais, Génie Logiciel et Environnement professionnel 2ème partie

 - Codage et cryptographie

 - Systèmes d’information répartis, Conception Web avancée

 - Traitement d’images

Une UE optionnelle de stage d'une durée de 4 à 16 semaines peut remplacer l'UE Génie Logiciel et Environnement professionnel 2ème partie.



 

Modalités d'accès et calendrier

Le Master 1 Informatique  s’adresse  à des étudiants titulaires d’un diplôme de premier cycle.

Sont admis de plein droit en première année du master Informatique, les étudiants ayant validé une licence académique en informatique fondamentale.

Pour les étudiants qui ne sont pas issus d'une licence académique en Informatique, le recrutement se fait sur dossier. Le dossier doit être complété par diverses pièces (relevés de notes, recommandations d’enseignants, programmes des enseignements suivis). Une commission pédagogique étudie les dossiers hors parcours classique, y compris dans le cadre de la validation d’acquis ou d’études. Elle peut demander au candidat de suivre des modules extérieurs au Master 1ère année (par exemple des modules de L3) considérés comme pré-requis pour la formation.

Sont recrutés essentiellement des étudiants issus d'une licence académique en informatique fondamentale avec un programme proche de la licence d'informatique de Dijon.

Calendrier :

Réception des dossiers papier jusqu’au 22 juin 2018

Jury de sélection début juillet - Auditions éventuelles la semaine suivante

Réponse début juillet
Programmes des modules


Programme du module d' Algorithmique et complexité

Les cours théoriques. Les limitations de l'informatique : tout n'est pas calculable. Les problèmes indécidables. Les problèmes difficiles. La notion de complexité.  La réduction en temps polynomial entre  problèmes. Introduction à la reconnaissance des formes. Introduction à l'analyse numérique (Newton, Levenberg-Marquardt, BFGS).

Les cours pratiques et les TD. Problèmes d'arithmétiques : pgcd, algorithme d'Euclide généralisé, forme matricielle, racine carrée dans un corps fini, factorisation rho de Pollard, réduction par la méthode de Gauss de bases de réseaux Euclidiens en 2D. Méthodes optimales de tris. Plus courts chemins dans les graphes. Chemin le plus probable. Chemin le plus sûr. Flot maximum dans les graphes. Flots de coût minimum. Couplages dans les graphes bipartis. Lien entre déterminant, couplage, flot, programmation linéaire. Décomposition de Dulmage et Mendelsohn d'un graphe biparti.  Programmation linéaire: algorithme du simplexe de Dantzig, algorithme de l'ellipsoïde. Transformée de Fourier rapide. Recherche arborescente ("backtrack"). Programmation dynamique : séquence monotone croissante la plus longue; séquence commune la plus longue; sac à dos ; parenthésage optimal d'un produit de matrices de tailles différentes.

En TP. Les TP sont réalisés en Ocaml, en programmation fonctionnelle pure. Algorithmes de tri. Problème des reines. Dérivation symbolique, arithmétique d'intervalles, dessin de courbes données par leur équation. Calcul des racines réelles d'un polynome en utilisant la base de Bernstein, avec comme application un mini lancer de rayons. Dessin des bassins d'attraction de la méthode de Newton, amortie ou non. Transformée de Fourier rapide. Planification de trajectoire d'un robot en 2D, avec méthode de Dijkstra et kd-arbre (kd-tree), dessin de l'arbre des chemins les plus courts. Programmation dynamique. Dessins de fractales. Foncteurs en Ocaml, mémo-fonctions avec tables de hachage. Le combinateur Y.

Projet. Un projet est à réaliser en Ocaml. Plusieurs dizaines de sujets sont proposés.



Programme du demi-module de Génie Logiciel du premier semestre

Ce cours de Génie Logiciel rappelle tout d’abord les méthodes et outils englobés par le terme "Génie Logiciel" : il est apparu dans les années 70, suite à ce qu'on a appelé "la crise du logiciel". Il s’agit par la suite de réfléchir à leur utilisation durant les grandes étapes du cycle de développement logiciel, en prenant conscience de son évolution. Nous sommes en effet passé des modèles séquentiels (en cascade ou en V) aux récents modèles dit agiles (itératifs incrémentaux). Ces derniers prônent un développement dirigé par les tests et portent un grand intérêt à la qualité du logiciel. Ainsi l’accent est principalement mis dans ce cours sur les tests en programmation orientée objet (quels sont-ils, comment sont-ils conçus, organisés, réutilisés, simulés, …), sans oublier la qualité logicielle, qui est présentée et illustrée par un intervenant extérieur.

Ce cours évoque également les outils, méthodologies et concepts les plus utilisés actuellement en entreprise (au travers du langage Java) et propose une mise en pratique en TP (au moyen de l’IDE Netbeans) et durant le projet (par groupe de 4-5 étudiants). Il s’agit :

  • de commencer par bien rappeler les bonnes pratiques de conception (grâce aux Design Patterns) et de développement en programmation orientée objet (avec Java),
  • de présenter quelques outils et méthodes pour planifier, estimer (les charges, coûts, délais), gérer et suivre un projet de développement logiciel,
  • de mettre l’accent sur une des méthodes agiles les plus utilisées actuellement (SCRUM), en détaillant son fonctionnement et en l’appliquant sur un exemple simple,

de s’accoutumer aux outils de debuggage, de travail collaboratif (SVN, Git), d’automatisation des tâches et des tests via l’intégration continue (maven, Jenkins, GitLab).



Programme du module Réseaux



Cet enseignement propose un découverte des réseaux centrée sur l’internet par approche descendante afin d'obtenir des bases fondamentales et une vue structurée du fonctionnement des réseaux; de comprendre les grands principes et les problématiques associées; et d'être capable d'effectuer des opérations simples de maintenance sur un (petit) réseau.

Contenu :

  • Les réseaux et l’internet : une introduction
  • La couche Application : principes, protocoles HTTP, DNS
  • La couche Transport : mécanismes de contrôle et protocoles TCP,UDP
  • La couche Réseaux : adressage, routage, IPv4, IPv6
  • La couche Liaison : gestion du canal, détection/correction d'erreurs, réseaux locaux
  • Réseaux sans fil : caractéristiques, normes 802.11, 802.15, réseaux cellulaires
  • Réseaux pour le multimédia : caractéristiques des données multimédia, streaming, CDN, protocoles pour le temps réel.



Programme du module de Traitement d'images         


Le module de Traitement d'images est décomposé en deux parties qui se suivent et dont les contenus sont précisés ci-dessous :

Partie 1 (rappel des bases avec quelques approfondissements) :

Percevoir les enjeux du Traitement d'Images (TI) au travers d'applications phares. Rappel de l'enchaînement des différentes étapes mises en jeu : acquisition, pré-traitements et analyse (l'étape d'interprétation n'étant pas traitée dans ce module), sachant qu'elles reposent sur une compréhension des mécanismes de perception lumineuse. Chacune des 3 étapes est ensuite développée avec quelques approfondissements :

  • principes des systèmes d'acquisition (rappels d'optique, principes des lentilles, capteurs numériques et leurs défauts),
  • pré-traitements pour l'amélioration du contraste à l'aide de l'histogramme, de tables de correspondance (LUT) telles que l'étirement, l'égalisation ou la spécification d'histogramme. Application à la réduction du phénomène de "papillonnage" (ou flicker) dans les vidéos,
  • pré-traitements pour le débruitage : après une étude des modèles de bruit et une présentation des critères de qualité pour une image, les filtres spatial et fréquentiel les plus courants sont présentés. Implantation d'un filtre spatial plus évolué et étude de son comportement sur plusieurs bruits,
  • analyse : détection, codage et fermeture des contours, segmentation basée contours et régions (de la simple binarisation à quelques méthodes très simples), compression avec pertes basée sur l'évaluation de la qualité de reconstruction d'une image (au travers des grandes étapes de la compression JPEG, qui sont décortiquées).

Partie  2 (analyse d’images) :

Permettre d'isoler certaines caractéristiques structurelles et d'obtenir certains traitements élémentaires du traitement d'images (estimation des contours, segmentation, rehaussement de contraste, ...) à partir de transformations morphologiques sur des ensembles puis des fonctions. Introduire les opérations de base, ainsi que la squeletisation et les distances géodésiques. Construire un modèle de reconnaissance à partir d'images en introduisant le modèle descripteur (sur les contours, la texture) / classifieur (supervisé ou non).

TP en Matlab et OpenCV (C++), projet par groupe de 4-5 étudiants.



Candidater
CANDIDATER
Chiffres clés

Promotion de 40 étudiants

Contact

Responsable pédagogique

Dominique MICHELUCCI

03 80 39 38 85

dominique.michelucci@u-bourgogne.fr

Secrétariat

Christelle CAILLOT

03 80 39 58 87

christelle.caillot@u-bourgogne.fr