Ce cours a pour objectif de présenter les outils de bases pour l'analyse et le traitement statistique de l'information. Il propose un rappel conséquent des méthodes statistiques et de représentation et modélisation des données. Il aborde aussi les problèmes théoriques liés aux espaces de grandes dimensions. Ce cours forme une base pour Recherche d'Information, Imagerie Numérique Avancée Multimedia Security and Privacy et tous les cours liés à la gestion des données.

Descriptif
Ce cours met l'accent sur l'étude et la modélisation formelle de l'information. Il contient :
Des rappels sur les bases théoriques des probabilités et statistiques ;
Une étude des espaces de représentations des données et les phénomènes liés aux hautes dimensions ;
Des rappels sur les bases de la Théorie de l'Information ;
L'étude de Tests d'Hypothèses, et de la Théorie de l'Estimation ;
La présentation de méthodes de Modélisation et d'Analyse statistique des Données (PCA, LDA, RP) ;
Cet enseignement sera complété par des sessions de travaux pratiques (programmation Matlab), mettant en 'uvre les techniques vues lors des cours théoriques.

Ce cours a pour but d'initier les étudiants à une méthodologie formelle à travers la modélisation d'un panorama de structures de données complexes. 

Aujourd’hui la plupart des systèmes informatiques industriels sont de très grande taille, leur développement et maintenance ne tolèrent plus les méthodes artisanales.  Le développement de logiciel doit en conséquence suivre un processus bien établi et adopter une systématique. Ainsi le cours est construit autour de trois axes : le processus de développement et la gestion de projet, l’architecture du logiciel et les tests. Le cours démarre avec la présentation de processus de développement et en particulier deux approches : le processus itératif-incrémental et le processus agile. Ces notions permettent ensuite d’aborder la gestion de projet basé sur les risques et la « Business value » des développements. Dans un second temps nous abordons l’architecture des logiciels. Pour cela nous présentons les spécifications non fonctionnelles ainsi qu’une technique d’expression de ces spécifications. Ensuite nous abordons les patterns d’architecture globale puis nous présentons les « design patterns » qui constituent l’architecture de bas niveau. Nous abordons finalement les principes des applications distribuées reposant sur les « web services ». Dans un troisième temps le cours aborde la notion de test de logiciel, notion qui sera approfondie dans le cadre d’un cours spécifique

Ce cours sert d'introduction aux langages de programmation importants par les concepts qu'ils mettent en oeuvre et aux principes de la sémantique des langages.

Ce cours a pour but de mettre en oeuvre les techniques vues durant le cours de Génie
Logiciel tout en familiarisant les étudiants avec la conduite du développement d'une
application informatique de taille importante. Cette application dont le thème varie d'une année
à l'autre peut être originale ou former une partie d'un plus large projet.

On met l'accent sur l'importance de l'organisation et la nécessité d'un protocole de
communication normalisé entre les groupes de travail pour la réussite du projet.

Durant ce cours, les étudiants testent aussi leur capacité à présenter leurs résultats devant un
groupe et à écrire un rapport de projet et une documentation claire.