Optionnelle : OUI Formation: MASTER mention informatique Parcours : Général
Place de l’UE dans le parcours : M1 Semestre : S2
Modalités d’accès à l’UE (pré-requis conseillés) : NON Lesquels :
Programme – contenu de l’UE
0) Outils mathématiques.
Calcul modulaire et cyclicité. Ordre d'un élément dans un groupe. Corps fini. Algèbre des registres en longueur fixe.
1) Test de primalité: Fermat, Euler.
Optionnelle : OUI Formation: MASTER mention informatique Parcours : Général
Place de l’UE dans le parcours : M1 Semestre : S2
Modalités d’accès à l’UE (pré-requis conseillés) : NON Lesquels :
Programme – contenu de l’UE
Le but de ce module est d'introduire la spécificité de la généricité dans le développement logiciel de librairies. Les librairies génériques doivent permettre le développement d'applications efficaces et robustes, dans des domaines multiples et variés. Pour mettre en œuvre de telles librairies, le langage C++ offre un certain nombre d'outils comme les templates, dont le mécanisme sera expliqué en détail. Le C++ offre également une bibliothèque standard, la Standard Template Library (STL) qui offre un certain nombre de patrons (classes conteneurs, algorithmes, itérateurs) correspondant aux structures de données et aux algorithmes classiquement utilisés en Informatique. Nous étudierons comment utiliser une telle librairie, mais aussi comment mettre en place une librairie s'appuyant sur le même paradigme de programmation générique. La STL a d'ores et déjà influencé le développement de librairies arithmétiques (LEDA) et de manipulation de graphes (BOOST). Un panorama de ces bibliothèques pourra être présenté, si le temps le permet.
Compétences acquises Méthodologiques :
Généricité dans le développement logiciel Notion de concept et de pré-requis en développement logiciel "Concept checking"
Techniques :
Programmation avancée en C++
Secteur d’activité concerné et compétences métier acquises :
Tous les métiers de l’industrie et de la recherche informatique, et plus spécifiquement le domaine de l’image et du calcul numérique.