Niveau d'étude visé
Bac +5
ECTS
120 crédits
Durée
2 ans
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées), Grenoble INP - Ensimag (Informatique, mathématiques appliquées et télécommunications), UGA
Langue(s) d'enseignement
Français, Anglais
Bi-langue
Partiellement en anglais
Présentation
Formation co-accréditée entre l'Université Grenoble Alpes et l'Institut polytechnique de Grenoble
Elle offre les parcours suivants :
- Génie Informatique (GI) : format alternance et classique
- Master of Science In Informatics at Grenoble (MoSIG) : en anglais, ouvert à l’international
- Operations Resarch, Combinatories and Optimization (ORCO) : commun avec la mention Mathématiques et applications
- Cybersecurity (CS) : en anglais, ouvert à l’international, commun avec la mention Mathématiques et applications
- Compétences Complémentaires en Informatique (CCI) : s’adresse à des étudiants issus d’un master 1re année d’une autre discipline scientifique que l’informatique, double compétences
- Réseaux informatiques d'entreprise (RIE) accessible en alternance (apprentissage) ou formation continue (ce parcours est proposé par Grenoble INP)
- Communications engineering and data science 1re année
Cette formation s’inscrit dans la dynamique régionale de recherche à travers les ARC (Communautés de Recherche Académique) de la région Rhône-Alpes : les étudiants de master obtiennent des financements pour leurs poursuites d’études en thèse.
Il existe une très forte interaction entre le master et les équipes de recherche : des plateformes pour la recherche et l’enseignement permettent de conduire des projets d’enseignement sur des formes avancées de l’informatique. Les chercheurs bénéficient du matériel disponible dans les salles dédiées de l’UFR et les équipes de recherche prêtent ponctuellement du matériel pour certains enseignements. L’atelier de prototypage rapide du LIG (FabMSTIC) est aussi à disposition des étudiants et des enseignants dans le cadre de projets. Seul le parcours Génie Informatique est également proposé en format d'alternance. Les parcours Mosig (première et deuxième année), CS et ROCO sont co-acrédités avec Grenoble INP. Les étudiants sont inscrits dans l’un ou l’autre des établissements en fonction de leur origine. Ces parcours sont également proposés aux étudiants de l’ENSIMAG en deuxième ou troisième année pour valider leur école d’ingénieur.
Les parcours CS et ROCO sont également proposés dans la mention Mathématiques et applications. En effet, ces parcours se situent à l’interface Mathématiques et Informatique et les étudiants peuvent être issus de la 1ʳᵉ année de master de ces deux mentions. Le parcours ROCO contient un cours de l’école de Génie Industrielle de Grenoble INP. Le cours de Cryptographie de 1ʳᵉ année de master est commun aux mentions mathématiques et Applications et Informatique. Un certain nombre d’UE de deuxième année sont proposées sur demi-journées pour faciliter la mutualisation.
Site du master : https://master-informatique.univ-grenoble-alpes.fr
L’objectif de la mention est de réaliser une formation de haut niveau en informatique pour des métiers de l’ingénierie logicielle et matérielle et de la recherche en informatique. La formation couvre un large spectre qui va de l’ingénierie logicielle et matérielle à l’informatique théorique en passant par plusieurs domaines, à l’interface des mathématiques et de l’informatique comme la sécurité informatique ou l’optimisation.
La formation s’appuie sur un tissu riche (industrie / experts / laboratoires du site et chercheurs) et répond à une demande forte et importante du monde socio-économique. Les principaux secteurs d’activité sont les sociétés de service en Informatique, les éditeurs de logiciel, les constructeurs informatiques, les centres R&D des entreprises, les services informatiques des entreprises, et les laboratoires de recherche publics ou privés.
Responsables relations avec les entreprises :
IM2AG : Carole Durand 04 57 42 24 82
ENSIMAG : Oarda Cesarano 04 76 82 72 40
Référentiel ROME
Etudes et développement informatique
Compétences
Les compétences communes sont l’acquisition d’une culture générale et d’un socle de base solide en informatique : langages de programmation, systèmes d’exploitation, bases de données, réseaux, génie logiciel, logiciels interactifs, conception / programmation orientées objet, complexité et algorithmique. Ces cours fondamentaux sont proposés en français et en anglais en première année de Master. Ils représentent 30 ECTS auxquels viennent s’ajouter un projet informatique d’un mois et un projet d’initiation à la recherche de 39 jours (en immersion dans une équipe de recherche).
Une découverte du monde socio-économique en informatique est proposée à tous les étudiants à travers des modules spécifiques d’initiation à l’entreprise, le forum des entreprises (présentation d’une quarantaine d’entreprises, entretiens, tables rondes) et des séminaires thématiques donnés par des industriels.
Tous les étudiants ont également accès à des cours de langue (anglais ou français langue étrangère en fonction de leur niveau).
Formation internationale
- Doubles diplômes, diplômes conjoints, Erasmus Mundus
- Formation tournée vers l’international
Dimension internationale
Afin d’accueillir des publics internationaux, deux parcours sont intégralement dispensés en anglais (MoSIG et Cybersecurity). De plus, ces formations accueillent des étudiants dans le cadre des masters Erasmus Mundus (AREAS+ et India 4 EU). Le passage au recrutement international au niveau du M1 a donc comme cible les étudiants ayant obtenu leur licence dans une université européenne.
Organisation
Stage à l'étranger
En France ou à l'étranger
Période du stage
Deuxième semestre universitaire
Programme
Sélectionnez un programme
Parcours Informatique classique 1re année
La première année propose un parcours en français et un parcours en anglais (première année de MOSIG) avec des mutualisations. Elle offre un large choix d'enseignement de base (tronc commun) et avancé (en options) en informatique. Les unités d’enseignement des deux langues sont accessibles aux étudiants ayant au moins le niveau B2 dans la langue d'enseignement. Les étudiants choisissent la langue d’enseignement (parcours classique ou MOSIG) ce qui définit complètement les cours de tronc commun. Les options peuvent être choisies dans les deux langues sans conflit d’emploi du temps et en respectant une cohérence pédagogique.
UE Sémantique des langages de programmation
6 créditsUE Génie logiciel
3 créditsUE Conception et programmation par objets
3 créditsUE Conception des systèmes d'exploitation et programmation concurrente
6 créditsUE Base de données
3 créditsUE Introduction aux réseaux
3 créditsUE Technique des logiciels interactifs
3 créditsUE Introduction à l'intelligence artificielle et la science des données
3 crédits
UE Projet
3 créditsUE Complexité algorithmique de problèmes
3 créditsAu choix : 7 à 18 parmi 19
UE Introduction to distributed systems
3 créditsUE Planification automatique et techniques d'intelligence artificielle
3 créditsUE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Synthèses d'images
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Ergonomie des interfaces homme-machine
3 créditsUE DevOps : méthodes et outils
3 créditsUE Géométrie numérique
3 créditsUE Introduction à l'administration des réseaux
3 créditsUE Traitement d'images
3 créditsUE Introduction to cryptology
3 créditsUE Introduction to mobile robotics
3 créditsUE Histoire de l'informatique
3 créditsUE Anglais S8
3 créditsUE Operations Research
3 créditsUE Introduction à la cybersécurité
3 créditsUE Embodying the shift: digital in the age of low-tech
3 créditsUE Algebraic Algorithms for Cryptology
3 crédits
Au choix : 1 à 2 parmi 2
UE Sémantique des langages de programmation
6 créditsUE Génie logiciel
3 créditsUE Conception et programmation par objets
3 créditsUE Conception des systèmes d'exploitation et programmation concurrente
6 créditsUE Base de données
3 créditsUE Introduction aux réseaux
3 créditsUE Technique des logiciels interactifs
3 créditsUE Introduction à l'intelligence artificielle et la science des données
3 crédits
UE Projet
3 créditsUE Complexité algorithmique de problèmes
3 créditsUE Introduction to cryptology
3 créditsUE Introduction à la cybersécurité
3 créditsAu choix : 5 à 16 parmi 16
UE Introduction to distributed systems
3 créditsUE Planification automatique et techniques d'intelligence artificielle
3 créditsUE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Synthèses d'images
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Ergonomie des interfaces homme-machine
3 créditsUE DevOps : méthodes et outils
3 créditsUE Géométrie numérique
3 créditsUE Introduction à l'administration des réseaux
3 créditsUE Traitement d'images
3 créditsUE Introduction to mobile robotics
3 créditsUE Histoire de l'informatique
3 créditsUE Anglais S8
3 créditsUE Operations Research
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
Au choix : 1 à 2 parmi 2
UE Sémantique des langages de programmation
6 créditsUE Génie logiciel
3 créditsUE Conception et programmation par objets
3 créditsUE Conception des systèmes d'exploitation et programmation concurrente
6 créditsUE Base de données
3 créditsUE Introduction aux réseaux
3 créditsUE Technique des logiciels interactifs
3 créditsUE Introduction à l'intelligence artificielle et la science des données
3 crédits
UE Projet
3 créditsUE Complexité algorithmique de problèmes
3 créditsUE Introduction to cryptology
3 créditsUE Introduction à la cybersécurité
3 créditsAu choix : 5 à 16 parmi 16
UE Introduction to distributed systems
3 créditsUE Planification automatique et techniques d'intelligence artificielle
3 créditsUE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Synthèses d'images
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Ergonomie des interfaces homme-machine
3 créditsUE DevOps : méthodes et outils
3 créditsUE Géométrie numérique
3 créditsUE Introduction à l'administration des réseaux
3 créditsUE Traitement d'images
3 créditsUE Introduction to mobile robotics
3 créditsUE Histoire de l'informatique
3 créditsUE Anglais S8
3 créditsUE Operations Research
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
Au choix : 1 à 2 parmi 2
UE Sémantique des langages de programmation
6 créditsUE Génie logiciel
3 créditsUE Conception et programmation par objets
3 créditsUE Conception des systèmes d'exploitation et programmation concurrente
6 créditsUE Base de données
3 créditsUE Introduction aux réseaux
3 créditsUE Technique des logiciels interactifs
3 créditsUE Introduction à l'intelligence artificielle et la science des données
3 crédits
UE Projet
3 créditsUE Complexité algorithmique de problèmes
3 créditsUE Operations Research
3 créditsAu choix : 6 à 17 parmi 17
UE Introduction to distributed systems
3 créditsUE Planification automatique et techniques d'intelligence artificielle
3 créditsUE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Synthèses d'images
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Ergonomie des interfaces homme-machine
3 créditsUE DevOps : méthodes et outils
3 créditsUE Géométrie numérique
3 créditsUE Introduction à l'administration des réseaux
3 créditsUE Traitement d'images
3 créditsUE Introduction to cryptology
3 créditsUE Introduction to mobile robotics
3 créditsUE Histoire de l'informatique
3 créditsUE Anglais S8
3 créditsUE Introduction à la cybersécurité
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
Au choix : 1 à 2 parmi 2
UE Sémantique des langages de programmation
6 créditsUE Génie logiciel
3 créditsUE Conception et programmation par objets
3 créditsUE Conception des systèmes d'exploitation et programmation concurrente
6 créditsUE Base de données
3 créditsUE Introduction aux réseaux
3 créditsUE Technique des logiciels interactifs
3 créditsUE Introduction à l'intelligence artificielle et la science des données
3 crédits
UE Projet
3 créditsUE Complexité algorithmique de problèmes
3 créditsUE DevOps : méthodes et outils
3 créditsUE Introduction to distributed systems
3 créditsAu choix : 5 à 16 parmi 16
UE Planification automatique et techniques d'intelligence artificielle
3 créditsUE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Synthèses d'images
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Ergonomie des interfaces homme-machine
3 créditsUE Géométrie numérique
3 créditsUE Introduction à l'administration des réseaux
3 créditsUE Introduction to cryptology
3 créditsUE Traitement d'images
3 créditsUE Introduction to mobile robotics
3 créditsUE Histoire de l'informatique
3 créditsUE Anglais S8
3 créditsUE Operations Research
3 créditsUE Introduction à la cybersécurité
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
Au choix : 1 à 2 parmi 2
Parcours Communications engineering and data science (CODAS)
The CODAS master's programme is co-accredited with ENSIMAG and it's an international joint master’s degree programme offered by five European universities:
- Aalto University, Finland
- Grenoble INP Graduate schools of Engineering and Management, France
- Technical University of Lisbon, Portugal
- Technische Universität Braunschweig, Germany
- Universitat Politècnica de Catalunya, Spain
In this two-year master’s programme, you will study at least in two of partner universities and two countries, one year at both.
CoDaS is an Erasmus Mundus Joint Masters (EMJM) programme, funded by Erasmus+ Programme of the European Union.
Objectives :
The objectives of the joint CoDaS M.Sc. are the following:
- to strengthen student education in the key area of Communications Engineering and Data Science with foreseen major future impact,
- to contribute to the graduation of engineers in the already much needed area of the degree, putting together the competences of telecommunications and data analysis,
- to offer a variety of courses on complementary specializations at the Partners: 5G and Automation at Aalto U., Data Science and 5G at U. Lisboa, and CyberSecurity at Grenoble INP,
- to address current and future challenges related to Information and Communication Technologies and sustainable development,
- contribution to the goals of the European Union Digital Strategy.
UE Elective course
4 créditsUE Algorithmic Problem Solving
3 créditsUE Technical writing and speaking
3 créditsUE Introduction to Cybersecurity
10 créditsUE Principle of Internet
8 créditsUE French as a foreign language
3 crédits
UE Project
6 créditsUE Statistical analysis and document mining
6 créditsUE Research methodology
3 créditsUE Data base foundations
3 créditsUE Digital Transmission from Técnico Lisboa
5 créditsUE Foundations of Data Science
3 crédits
UE Mobile communication systems
4 créditsUE Learning, Probabilities and Causality
6 créditsUE Mathematical Foundations of Machine Learning
6 créditsUE Advanced Machine Learning: Applications to Vision, Audio and Text
6 créditsUE Advanced Data Networks
5 créditsUE Network Security
9 créditsUE Wireless Networks
3 crédits
UE Research Project
30 crédits
Parcours Master of Science in Informatics at Grenoble (MoSIG)
La formation couvre un large spectre au niveau du master 1re année et permet de former des diplômés avec une culture générale et un socle de bases solide en informatique (en terme de langages de programmation, bases de données, réseaux, génie logiciel, conception/programmation par objet, complexité et logiciels interactifs ) et permet par son master 2e année d’acquérir des compétences organisationnelles liées au travail du métier de chercheur et de devenir spécialiste d’un domaine de l’informatique en lien avec les nombreuses options offertes (systèmes d’information et ingénierie avancée des logiciels, informatique centrée humain - conception de systèmes embarqués et cyberphysiques hautement fiables, intelligence artificielle et Web - graphiques, vision et robotiques, systèmes interactifs et ubiquitaires et systèmes embarqués, parallèles et distribués).
L’objectif du parcours est de réaliser une formation de haut niveau en informatique pour des métiers de l’enseignement, de la recherche, de l’ingénierie et du développement et de donner les bases nécessaires pour occuper un emploi en recherche et développement aussi bien que pour entreprendre une thèse en Informatique dans les domaines couverts par les laboratoires académiques et industriels.
Le premier semestre (Master1 - S7) est composé de cours fondamentaux.
Le second semestre (Master1 - S8) combine des cours fondamentaux avec des cours de spécialisation optionnels.
Pour le semestre S9 de 30 ECTS, les étudiants doivent choisir des cours d'une valeur de 24 ECTS dans le thème qu'ils ont choisi (en fonction de leur formation initiale) et 6 ECTS de cours d'un autre thème, si les horaires sont cohérents et si des restrictions d'inscription s'appliquent.
Le dernier semestre (Master2 - S10) est consacré à un projet de recherche (ou professionnel) de fin d'études.
Le parcours est labellisé "Core AI" par MIAI.
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Introduction to Artificial Intelligence
3 créditsAu choix : 1 à 2 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE Research project (TER)
3 créditsUE Research methodology
3 créditsAu choix : 8 à 14 parmi 14
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Operations Research
3 créditsUE Data base foundations
3 créditsUE Introduction to distributed systems
3 créditsUE Human computer interaction
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Introduction to cryptology
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 créditsUE Algebraic Algorithms for Cryptology
3 crédits
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Technical writing and speaking
3 créditsAu choix : 1 à 2 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE Research project (TER)
3 créditsUE Research methodology
3 créditsUE Introduction to cryptology
3 créditsAu choix : 7 à 13 parmi 13
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Operations Research
3 créditsUE Data base foundations
3 créditsUE Introduction to distributed systems
3 créditsUE Human computer interaction
3 créditsUE Intelligent systems: reasoning and recognition
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Technical writing and speaking
3 créditsAu choix : 1 à 2 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE Research project (TER)
3 créditsUE Research methodology
3 créditsUE Introduction to cryptology
3 créditsAu choix : 7 à 13 parmi 13
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Operations Research
3 créditsUE Data base foundations
3 créditsUE Introduction to distributed systems
3 créditsUE Human computer interaction
3 créditsUE Intelligent systems: reasoning and recognition
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Technical writing and speaking
3 créditsAu choix : 1 à 2 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE Research project (TER)
3 créditsUE Research methodology
3 créditsUE Operations Research
3 créditsAu choix : 7 à 13 parmi 13
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Data base foundations
3 créditsUE Introduction to distributed systems
3 créditsUE Human computer interaction
3 créditsUE Intelligent systems: reasoning and recognition
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Introduction to cryptology
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Technical writing and speaking
3 créditsAu choix : 1 à 2 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE Research project (TER)
3 créditsUE Research methodology
3 créditsUE Introduction to distributed systems
3 créditsAu choix : 7 à 13 parmi 13
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Operations Research
3 créditsUE Data base foundations
3 créditsUE Human computer interaction
3 créditsUE Intelligent systems: reasoning and recognition
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Introduction to cryptology
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 crédits
UE Programming language and compiler design
6 créditsUE Software engineering
3 créditsUE Principles of operating systems
6 créditsUE Algorithmic Problem Solving
3 créditsUE Mathematics for computer science
3 créditsUE Introduction to Visual Computing
3 créditsUE Introduction to Artificial Intelligence
3 créditsAu choix : 1 parmi 2
UE Programming project (OS)
3 créditsUE Programming project (Compiler design)
3 crédits
UE GS_MSTIC_Démarche Scientifique
6 créditsUE Technical writing and speaking
3 créditsAu choix : 8 parmi 14
UE Introduction to Modeling and Verification of Digital Systems
3 créditsUE Operations Research
3 créditsUE Data base foundations
3 créditsUE Introduction to distributed systems
3 créditsUE Human computer interaction
3 créditsUE Computer networks principles
3 créditsUE 3D Graphics
3 créditsUE Introduction to mobile robotics
3 créditsUE Introduction to cryptology
3 créditsUE Parallel Algorithms and Programming
3 créditsUE Fundamental Computer Science
3 créditsUE Foundations of Data Science
3 créditsUE Embodying the shift: digital in the age of low-tech
3 créditsUE Algebraic Algorithms for Cryptology
3 crédits
UE Process Engineering
6 créditsUE Advanced networking
6 créditsUE Advanced parallel system
6 créditsUE Fundamentals of Data Processing and Distributed Knowledge
6 créditsUE Scientific methodology regulatory and ethical data usage
6 créditsUE Robotics
6 créditsUE Computer Graphics
6 créditsUE Multi-agent systems
3 créditsUE Information vizualisation
3 créditsUE Computer vision
6 créditsUE Cloud Computing, from infrastructure to applications
6 créditsUE Large-scale data management and distributed systems
6 créditsUE GPU Computing
6 créditsUE From Basic Machine Learning models to Advanced Kernel Learning
6 créditsUE Advanced Machine Learning: Applications to Vision, Audio and Text
6 créditsUE Natural Language Processing & Information Retrieval
6 créditsUE Information Security
6 créditsUE Mathematical Foundations of Machine Learning
6 créditsUE Statistical learning: from parametric to nonparametric models
6 créditsUE Refresh courses
0 créditsUE Human Computer Interaction
6 créditsUE Next Generation Software Development
6 créditsUE Safety Critical Systems: from design to verification
6 crédits
UE Research project
30 crédits
UE GS_MSTIC_Ethique de la recherche
6 créditsUE Process Engineering
6 créditsUE Advanced networking
6 créditsUE Advanced parallel system
6 créditsUE Fundamentals of Data Processing and Distributed Knowledge
6 créditsUE Scientific methodology regulatory and ethical data usage
6 créditsUE Robotics
6 créditsUE Computer Graphics
6 créditsUE Multi-agent systems
3 créditsUE Information vizualisation
3 créditsUE Computer vision
6 créditsUE Cloud Computing, from infrastructure to applications
6 créditsUE Large-scale data management and distributed systems
6 créditsUE GPU Computing
6 créditsUE From Basic Machine Learning models to Advanced Kernel Learning
6 créditsUE Advanced Machine Learning: Applications to Vision, Audio and Text
6 créditsUE Natural Language Processing & Information Retrieval
6 créditsUE Information Security
6 créditsUE Mathematical Foundations of Machine Learning
6 créditsUE Statistical learning: from parametric to nonparametric models
6 créditsUE Refresh courses
0 créditsUE Human Computer Interaction
6 créditsUE Next Generation Software Development
6 créditsUE Safety Critical Systems: from design to verification
6 crédits
UE Research project
30 crédits
Parcours Génie informatique 2e année
Le M2GI est une formation de niveau bac+5 formant des ingénieurs logiciel généralistes. Cette formation comporte un tronc commun d’enseignements axés sur le développement d’applications full-stack Web / Mobiles, et sur l’apprentissage de techniques de Génie Logiciel (validation, tests) et plus largement DevOps (intégration continue/GitLab, containers, Kubernetes, ..).
En sus de ce tronc commun, chaque étudiant choisit un ensemble d’enseignements plus spécifiques pris dans les domaines suivants:
- IoT et systèmes embarqués/répartis/pervasifs,
- Données large échelle: manipulation (MapReduce) et analyse pour l’extraction de connaissances et l’aide à la décision (techniques IA/ML),
- Données multi-média: techniques d’indexation
- Interface Homme-Machine multi-modales: modélisation et conception
- Techniques d’ingénierie dirigée par les modèles (IDM) et dirigée par les tests (TDD)
Tous les enseignements incluent des expérimentations pratiques basées sur la réalisation de projets individuels ou en équipe. Ces projets sont pilotés par des équipes pédagogiques mixtes, composées d’enseignants-chercheurs et d’industriels travaillant dans la discipline.
La formation existe sous deux formes mais avec les mêmes enseignements mis en commun:
- L’une en statut étudiant classique (statut de stagiaire lors de sa présence dans l’entreprise)
- L’autre en alternance (en contrat d’apprentissage, contrat de professionnalisation et contrat d’accompagnement de formation professionnalisante)
UE Projet d'intégration ECOM
6 créditsUE Principes des méthodes agiles
3 créditsUE Techniques de communication en anglais
3 créditsAu choix : 6 à 9 parmi 10
UE Expérience Utilisateur (UX) au-delà de la souris, clavier et écran : mobilité et multimodalité
3 créditsUE Introduction à l'intelligence artificielle
3 créditsUE Systèmes et applications répartis
3 créditsUE Données large échelle
3 créditsBase de données
1,5 créditsTraitement des données à grande échelle
1,5 crédits
UE Techniques avancées de validation
3 créditsUE Principes et techniques de l'ingénierie dirigée par les modèles
3 créditsUE Projet développement mobile
3 créditsUE Architecture des systèmes pervasifs
3 créditsUE Informatique embarquée pour les objets connectés
3 créditsUE Analyse des données, web des données et web sémantique
3 crédits
Parcours Génie informatique 2 année / Alternance
Le M2GI est une formation de niveau bac+5 formant des ingénieurs logiciel généralistes. Cette formation comporte un tronc commun d’enseignements axés sur le développement d’applications full-stack Web / Mobiles, et sur l’apprentissage de techniques de Génie Logiciel (validation, tests) et plus largement DevOps (intégration continue/GitLab, containers, Kubernetes, ..).
En sus de ce tronc commun, chaque étudiant choisit un ensemble d’enseignements plus spécifiques pris dans les domaines suivants:
- IoT et systèmes embarqués/répartis/pervasifs,
- Données large échelle: manipulation (MapReduce) et analyse pour l’extraction de connaissances et l’aide à la décision (techniques IA/ML),
- Données multi-média: techniques d’indexation
- Interface Homme-Machine multi-modales: modélisation et conception
- Techniques d’ingénierie dirigée par les modèles (IDM) et dirigée par les tests (TDD)
Tous les enseignements incluent des expérimentations pratiques basées sur la réalisation de projets individuels ou en équipe. Ces projets sont pilotés par des équipes pédagogiques mixtes, composées d’enseignants-chercheurs et d’industriels travaillant dans la discipline.
La formation existe sous deux formes mais avec les mêmes enseignements mis en commun:
- L’une en statut étudiant classique (statut de stagiaire lors de sa présence dans l’entreprise)
- L’autre en alternance (en contrat d’apprentissage, contrat de professionnalisation et contrat d’accompagnement de formation professionnalisante)
UE Projet d'intégration ECOM
6 créditsUE Principes des méthodes agiles
3 créditsUE Techniques de communication en anglais
3 créditsUE Workflow et collecticiels
3 créditsUE Aspects financiers et marketing
3 créditsAu choix : 4 à 10 parmi 10
UE Expérience Utilisateur (UX) au-delà de la souris, clavier et écran : mobilité et multimodalité
3 créditsUE Introduction à l'intelligence artificielle
3 créditsUE Systèmes et applications répartis
3 créditsUE Données large échelle
3 créditsBase de données
1,5 créditsTraitement des données à grande échelle
1,5 crédits
UE Techniques avancées de validation
3 créditsUE Principes et techniques de l'ingénierie dirigée par les modèles
3 créditsUE Projet développement mobile
3 créditsUE Architecture des systèmes pervasifs
3 créditsUE Informatique embarquée pour les objets connectés
3 créditsUE Analyse des données, web des données et web sémantique
3 crédits
Parcours Operations research, combinatorics and optimization (ORCO) 2e année
Le semestre 9 correspond à la formation de spécialisation, le semestre 10 est constitué d'un stage en entreprise ou en laboratoire de 5 à 7 mois qui représente 30 ECTS.
Les objectifs scientifiques affichés sont de former les étudiants aux fondements et méthodes de la recherche opérationnelle (programmation mathématique, théorie des graphes, complexité, programmation stochastique, heuristiques, algorithmes d’approximation etc) et de préparer les étudiants à l’utilisation et au développement de ces méthodes pour résoudre des applications industrielles complexes (supply chain, ordonnancement, transport, revenue management etc) et implémenter les solutions logicielles correspondantes.
Le parcours est labellisé "Core AI" par MIAI.
UE Advanced models and methods in operations research
6 créditsUE Combinatorial optimization and graph theory
6 créditsUE Optimization under uncertainty
6 créditsAu choix : 4 à 9 parmi 27
UE Constraint Programming, applications in scheduling
3 créditsUE Graph and discrete structures
3 créditsUE Advanced heuristic and approximation algorithms
3 créditsUE Advanced mathematical programming methods
3 créditsUE Academic and industrial challenges
3 créditsUE Transport Logistics and Operations Research
6 créditsUE Advanced parallel system
6 créditsUE Multi-agent systems
3 créditsUE Fundamentals of Data Processing and Distributed Knowledge
6 créditsUE Scientific methodology regulatory and ethical data usage
6 créditsUE Large-scale data management and distributed systems
6 créditsUE Cryptographic engineering, protocols and security models, data privacy, coding and applications
6 créditsUE From Basic Machine Learning models to Advanced Kernel Learning
6 créditsUE Mathematical Foundations of Machine Learning
6 créditsUE Learning, Probabilities and Causality
6 créditsUE Statistical learning: from parametric to nonparametric models
6 créditsUE Mathematical optimization
6 créditsUE Safety Critical Systems: from design to verification
6 créditsUE Information vizualisation
3 créditsUE GPU Computing
6 créditsUE Robotics
6 créditsUE Cloud Computing, from infrastructure to applications
6 créditsUE Advanced Machine Learning: Applications to Vision, Audio and Text
6 créditsUE Natural Language Processing & Information Retrieval
6 créditsUE Information Security
6 créditsUE Human Computer Interaction
6 créditsUE Next Generation Software Development
6 crédits
UE Stage
30 crédits
UE GS_MSTIC_Ethique de la recherche
6 créditsUE Advanced models and methods in operations research
6 créditsUE Combinatorial optimization and graph theory
6 créditsUE Optimization under uncertainty
6 créditsUE Constraint Programming, applications in scheduling
3 créditsUE Graph and discrete structures
3 créditsUE Advanced heuristic and approximation algorithms
3 créditsUE Advanced mathematical programming methods
3 créditsUE Academic and industrial challenges
3 créditsUE Transport Logistics and Operations Research
6 crédits
UE Stage
30 crédits
Parcours Cybersecurity 2e année
Cybersecurity is a second year program (semesters 9 and 10) of the Mathematics and Computer science masters. Courses are in English and the program follows a first year master 1 in mathematics or Computer science or equivalent.
The economical impact of losses due to cybercriminality is estimated to several hundreds of billions of euros per year (445 billions of dollars, according to a McAfee/CSIS study in 2014) wih a large increase in attacks, for instance identity and data thefts and malicious attacks.
Vulnerabilities and Protections are covered, with for instance:
- Robustness of critical infrastructures when facing cyberattacks (e.g., stuxnet, wannacry)
- Robustness of security components when facing software vulnerabilities and data leakage (e. g., heartbleed)
- Privacy protection and cloud infrastructure security
- Robust design and evaluation of security components
- Detection of vulnerabilities in protocols for hardware and software components
Topics covered in the training include additional areas of Cybersecurity, such as cryptology, forensics, fuzzing or anonymization, especially for embedded systems and distributed architectures
Train cybersecurity experts (including data privacy aspects) with a bac + 5 degree, able to evolve immediately in an industrial environment and who can also pursue a thesis.
The course is labelled "Core AI" by MIAI.
UE Software security, secure programming and computer forensics
3 créditsUE Security architectures
6 créditsUE Cryptographic engineering, protocols and security models, data privacy, coding and applications
6 créditsUE Threat and risk analysis, IT security audit and norms
3 créditsUE Physical Security : Embedded, Smart Card, Quantum & Biometrics
6 créditsAu choix : 1 à 2 parmi 2
UE Advanced Security
6 créditsUE Advanced Cryptology
6 crédits
UE Stage Cybersecurité
30 crédits
UE GS_MSTIC_Ethique de la recherche
6 créditsUE Software security, secure programming and computer forensics
3 créditsUE Security architectures
6 créditsUE Cryptographic engineering, protocols and security models, data privacy, coding and applications
6 créditsUE Threat and risk analysis, IT security audit and norms
3 créditsUE Physical Security : Embedded, Smart Card, Quantum & Biometrics
6 créditsAu choix : 1 parmi 2
UE Advanced Security
6 créditsUE Advanced Cryptology
6 crédits
UE Stage Cybersecurité
30 crédits
Parcours Compétences complémentaires en informatique (CCI) 2e année
La formation Compétences complémentaires en informatique (CCI) vise à former, sur une base générale de culture informatique, des professionnels aptes à répondre à la demande actuelle des entreprises en matière d’intégration des méthodes et techniques informatiques dans tous les secteurs de la vie professionnelle.
Suivre la formation en 2e année Compétences complémentaires en informatique c'est :
- Se préparer à l’intégration des méthodes et techniques de l’informatique dans d’autres domaines scientifiques
- Comprendre avec précision les fonctions des systèmes informatiques et des réseaux sous leurs aspects matériels et logiciels
- Acquérir des compétences méthodologiques et techniques dans le domaine du logiciel
- Se préparer à une bonne immersion dans la vie professionnelle par de nombreuses activités pratiques de programmation dans divers environnements informatiques, par un stage en entreprise, choisi par l’étudiant, selon ses propres motivations et ses projets
Le parcours CCI n'est proposé qu'en deuxième année. L’année comprend 1000 h sur 7 mois de septembre à fin mars. La formation débute par une semaine intensive de mise à niveau en algorithmique et en programmation, suivie de 8 semaines d’enseignement puis de quatre semaines de projet d’intégration (programmation de logiciel). Le second semestre est consacré à un stage d'une durée minimale de 5 mois.
Le programme des enseignements est le suivant :
- Algorithmique : méthodes d'analyse de problèmes et de constructions de programmes, structures de données
- Programmation et langage : connaissance et pratique de C, programmation par objets en Java, langage Machine, composition matérielle des ordinateurs, langage machine, assembleur, réseaux et Systèmes, fonctionnement des ordinateurs et de leur système d'exploitation
- Bases de données : modèle relationnel de données, langage relationnel, SQL, SGBD, conception et mise en œuvre d'une base d'une application
- Génie logiciel : introduction à la mise en œuvre de développement de logiciels
- Systèmes (SYS) et Réseaux (RES)
- Programmation et Applications Internet : technologies du Web et programmation orientée objets
- Applications web avancées : architecture des applications web, Frameworks, containers et déploiement d'application
UE Algorithmique
6 créditsUE Bases de données
3 créditsUE Génie logiciel
3 créditsUE Programmation et langages
6 créditsUE Programmation, Langages et Technologies du Web
6 créditsProgrammation Objet-Java
3 créditsTechnologie du Web
3 crédits
UE Réseau et systèmes
3 créditsUE Applications web Avancées
3 crédits
UE Projet d'intégration
6 créditsUE Stage CCI
24 crédits
Parcours Cybersécurité et informatique légale 2e année
Le parcours CyberSécurité et informatique légale est un parcours de la mention Informatique du master Sciences, technologies et santé de l'Université Grenoble Alpes. Il est exclusivement proposé en apprentissage et alternance.
Cette formation permet aux étudiants issus d'un niveau master 1re année ou équivalent, avec une majeur Informatique ou Mathématiques, de se former lors de leur deuxième année de master aux métiers de la cybersécurité (sécurité des systèmes et des réseaux, l'audit, analyse de risques, sécurités logiciel et matériel) et de l'informatique légale (forensic, investigation numérique) avec une spécialisation sur la lutte contre la cybercriminalité et la sécurité des composants et des logiciels, incluant aussi une formation sur les aspects juridiques de la cybersécurité.
Les étudiants sont formés à l'utilisation des techniques mathématiques et informatique de la cryptologie et de la sécurité des systèmes d'information, ainsi que des concepts et techniques d'informatique légale (forensic), de sécurité réseau, sécurités logiciel et matériel. L'accent de la formation est mis sur la lutte contre la cybercriminalité, la conception et l'analyse d'architectures de sécurité et la protection des composants matériels et logiciels.
Programme :
1. Ingénierie cryptographiques et protocoles
2. Architectures de sécurité. Incluant l'administration de réseaux sécurisés et les infrastructures à clefs publiques
3. Audit et analyse de risques incluant les méthodologies d'audit (par ex. ISO 27001) et les outils permettant de traiter les menaces (intrusions, logiciels malveillants, virus, botnet…)
4. Sécurité des composants et des logiciels et applications multimédias : sécurités des OS, des systèmes embarqués, des smartphones
5. Informatique légale et aspects législatifs et politiques de la cybersécurité : techniques de l'investigation numérique, cadre juridique, géopolitique d'internet, intelligence économique et sûreté numérique, protection de la vie privée
6. Apprentissage et projet en entreprise
A l'issue de cette formation, les diplômés seront des spécialistes des questions de cybersécurité et d'informatique légale qui occuperont des fonctions d'ingénieur ou de consultant dans les secteurs de l'industrie informatique ou des services.
Parcours Réseaux informatiques d'entreprise
Ce master offre une compréhension globale des technologies des réseaux de télécommunications avec un approfondissement sur les couches hautes des réseaux, sur la sécurité et la gestion de réseaux d'entreprise. Son but est de former des spécialistes en informatique capables de concevoir l’architecture d’un réseau informatique d’entreprise, d'assurer la sécurité, l'administration des systèmes et la maintenance d'applications en réseaux.
Cette formation accessible par apprentissage et en formation continue permet d'accéder aux métiers des télécommunications (mobilité et solutions Cloud), de la cyber sécurité, de l’architecture réseaux et systèmes, ainsi que d’administrateur d'infrastructures.
La formation peut être suivie en apprentissage ou en formation continue. Elle est organisée en alternance sur la base de 2 jours de formation par semaine. C'est à dire que l'auditeur, qu'il soit apprenti ou non, est en formation dans l'établissement de formation deux jours par semaine, et le reste du temps dans son entreprise.
Parcours Artificial Intelligence 2e année
UE Sémantique des langages de programmation
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Ce module présente les différents concepts mis en oeuvre dans les langages de programmation en vue d'exécuter un programme sur une machine. L'objectif de cet enseignement est la maîtrise des méthodes de définition formelle de la syntaxe d'un langage, de sa sémantique et des différentes phases de transformation d'un programme tout au long de son traitement par un compilateur.
UE Génie logiciel
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Compréhension des diverses activités de GL
Connaissances de base en gestion des exigences
Connaissances de base en UML
Connaissances de base en Architecture Logicielle
Introduction au test
UE Conception et programmation par objets
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction des concepts fondamentaux de l'Approche Orientée Objet et de leur mise en œuvre en JAVA (classe, héritage, polymorphisme, généricité, contrat), relations Génie Logiciel / Conception Orientée Objet / Programmation Orientée Objet.
UE Conception des systèmes d'exploitation et programmation concurrente
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE permet de comprendre le fonctionnement interne des systèmes d'exploitation (processus, fichiers, mémoire, etc.) La programmation parallèle par processus légers est également étudiée.
UE Base de données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les objectifs sont de :
- Présenter les notions de bases de données et de Systèmes de Gestion de Bases de Données (SGBD).
- Décrire les principes de fonctionnement des SGBD, les fonctions d'administration des bases de données en insistant sur la gestion et la manipulation
Plan :
- Introduction
- Ecriture ensembliste / Sets
- Algèbre relationnelle / Relationnal algebra
- SQL pour manipuler des données / SQL for querying data
- SQL pour définir des données / SQL for managing data
UE Introduction aux réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans le réseau Internet, il permet de comprendre les notions suivantes: supports et codage physique, mise en paquet de l'information, accès multiple au support, détection et correction d'erreurs, récupération d'erreur par re-émission, contrôle de flux, adressage et routage.
UE Technique des logiciels interactifs
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction à l'Interaction Homme-Machine et à la programmation par évènements
UE Introduction à l'intelligence artificielle et la science des données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Deux projets au choix sont proposés dans le cadre de cette UE : un projet "Compilateur" ; un projet "Système"
Projets Compilation:
--------------------
Le projet consiste à développer un compilateur qui traduit un langage fonctionnel simple inspiré de OCaml vers de l’assembleur ARM. Les étapes principales du projet sont l’analyse de types, la traduction vers une représentation intermédiaire, et finalement la génération d’assembleur.
Projet Système
--------------
L'objectif est d'étendre les fonctionnalités d'un système d'exploitation. Le système d'exploitation que nous étudierons est NachOS (T. Anderson, Univ. Stanford). La principale difficulté concerne l'analyse et la compréhension de l'architecture du système. Les principales extensions concerneront la gestion des threads, la mise en oeuvre de la multiprogrammation autour d'une mémoire virtuelle, l'extension
du système de fichiers.
UE Complexité algorithmique de problèmes
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Définition et compréhension des classes de complexité de problèmes P, NP et NP-complets
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Planification automatique et techniques d'intelligence artificielle
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif est de présenter les principaux enjeux, domaines et algorithmes de l’Intelligence Artificielle. L'accent est mis sur la résolution « heuristique » des problèmes et la « planification automatique » càd des algorithmes permettant à des agents intelligents ou des robots autonomes de prendre des décisions sur les actions à réaliser pour atteindre un but donné.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Synthèses d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Initiation à la synthèse d'images :
* Transformations matricielles, création d'une caméra
* Pipeline graphique (rastérisation)
* Eclairage local & ombrage
* Placage de textures & manipulation de l'apparence
* Post-processing
* Apprentissage de la bibliothèque OpenGL
* Programmation sur GPU avec GLSL
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Ergonomie des interfaces homme-machine
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Savoir appliquer avec méthode les principes élémentaires d’ergonomie et de génie logiciel à la conception et à la mise en œuvre de logiciels interactifs.
UE DevOps : méthodes et outils
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'industrie du logiciel doit faire face à la complexité croissante des
logiciels que doivent développer les équipes de développement (dev) et
que doivent mettre en production les équipes opérationnelles
(ops). L'équipe "dev" a pour objectif principal d'apporter les
changements nécessaires au moindre coût et le plus vite possible,
alors que l'équipe "ops" doit garantir la stabilité du système et
privilégie donc la qualité. L'approche DevOps (Dev+Ops) cherche à
résoudre cet antagonisme en fluidifiant le passage du développement à
la production. Ce cours présente les méthodes et les principaux outils
de l’approche DevOps
UE Géométrie numérique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Connaissance théorique et pratique des algorithmes de visualisation et de traitement informatique des modèles géométriques.
UE Introduction à l'administration des réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cet enseignement permet de comprendre précisément des notions primordiales pour l'administration des réseaux : adressage et routage (dans IPV4 et IPV6), contrôle de congestion, gestion de qualité de service (QoS), DNS (Domain Name System), VLAN (Virtual Local Area Network), introduction à la sécurité des réseaux, filtrage de paquet et translation d'adresse (NAT).
Cet enseignement de spécialité est une suite naturelle de l'enseignement "Introduction aux réseaux" du tronc commun de M1 Informatique.
UE Traitement d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif de cette UE est de présenter les principales étapes de traitement d'images en niveau
de gris et en couleurs depuis l'acquisition pour préparer ensuite l'extraction d'indices visuels
nécessaire n analyse d'image. Les notions abordées seront l'amélioration d'image par
égalisation ou étalement d'histogramme, le filtrage linéaire et la détection de contours par
filtrage direct et récursif. L'essentiel des notions seront illustrées par des Travaux Pratiques en langage Python dans l'environnement Caseine.
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Histoire de l'informatique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Attention : cette UE ne peut pas être prise en même temps que l'UE Sciences Informatiques et Médiation.
UE Anglais S8
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
Pour un autre choix d'ETC - s'adresser au Service des Enseignements Transversaux (SET), situé au Bâtiment B2e étage du DLST, 480 avenue centrale sur le domaine universitaire :
ou
Pour le FLE et d'autres langues : Service des Langues UGA - La Maison des Langues, bureau 08 - chaineise.ouadah @ univ-grenoble-alpes.fr
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...
Nous nous intéresserons plus particulièrement dans ce cours aux problèmes ayant une structure combinatoire : le nombre de solutions possible est fini mais trop grand pour pouvoir être énuméré. L'étude de ces problèmes comporte une phase de modélisation de problèmes pratiques puis de résolution algorithmique.
A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème de décision ou d'optimisation.
UE Introduction à la cybersécurité
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Sensibiliser aux problématiques de cybersécurité des systèmes d'informations. Présenter un panorama des risques et de la cybercriminalité.
Descriptions de différents types de menaces, méthodologie d'attaques et de contre-mesures. Technologies émergentes. Protection de la vie privée. Prise en main de quelques outils concrets. Exemples pratiques; signature électronique, vulnérabilités logicielles, sécurités web et réseaux.
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Algebraic Algorithms for Cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Introduction à la recherche et Travail d'Etude et de Recherche
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Stage:
• Découvrir le monde de l'ingénierie en informatique
• Pratiquer une activité d'ingénieur en informatique
TER:
• Découvrir le monde de la recherche
• Pratiquer une activité de recherche
Dans les deux cas:
• Prendre du recul sur le domaine de l'informatique
• Avoir une pratique de la communication scientifique
Introduction à la recherche et stage en laboratoire
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Sémantique des langages de programmation
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Ce module présente les différents concepts mis en oeuvre dans les langages de programmation en vue d'exécuter un programme sur une machine. L'objectif de cet enseignement est la maîtrise des méthodes de définition formelle de la syntaxe d'un langage, de sa sémantique et des différentes phases de transformation d'un programme tout au long de son traitement par un compilateur.
UE Génie logiciel
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Compréhension des diverses activités de GL
Connaissances de base en gestion des exigences
Connaissances de base en UML
Connaissances de base en Architecture Logicielle
Introduction au test
UE Conception et programmation par objets
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction des concepts fondamentaux de l'Approche Orientée Objet et de leur mise en œuvre en JAVA (classe, héritage, polymorphisme, généricité, contrat), relations Génie Logiciel / Conception Orientée Objet / Programmation Orientée Objet.
UE Conception des systèmes d'exploitation et programmation concurrente
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE permet de comprendre le fonctionnement interne des systèmes d'exploitation (processus, fichiers, mémoire, etc.) La programmation parallèle par processus légers est également étudiée.
UE Base de données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les objectifs sont de :
- Présenter les notions de bases de données et de Systèmes de Gestion de Bases de Données (SGBD).
- Décrire les principes de fonctionnement des SGBD, les fonctions d'administration des bases de données en insistant sur la gestion et la manipulation
Plan :
- Introduction
- Ecriture ensembliste / Sets
- Algèbre relationnelle / Relationnal algebra
- SQL pour manipuler des données / SQL for querying data
- SQL pour définir des données / SQL for managing data
UE Introduction aux réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans le réseau Internet, il permet de comprendre les notions suivantes: supports et codage physique, mise en paquet de l'information, accès multiple au support, détection et correction d'erreurs, récupération d'erreur par re-émission, contrôle de flux, adressage et routage.
UE Technique des logiciels interactifs
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction à l'Interaction Homme-Machine et à la programmation par évènements
UE Introduction à l'intelligence artificielle et la science des données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Deux projets au choix sont proposés dans le cadre de cette UE : un projet "Compilateur" ; un projet "Système"
Projets Compilation:
--------------------
Le projet consiste à développer un compilateur qui traduit un langage fonctionnel simple inspiré de OCaml vers de l’assembleur ARM. Les étapes principales du projet sont l’analyse de types, la traduction vers une représentation intermédiaire, et finalement la génération d’assembleur.
Projet Système
--------------
L'objectif est d'étendre les fonctionnalités d'un système d'exploitation. Le système d'exploitation que nous étudierons est NachOS (T. Anderson, Univ. Stanford). La principale difficulté concerne l'analyse et la compréhension de l'architecture du système. Les principales extensions concerneront la gestion des threads, la mise en oeuvre de la multiprogrammation autour d'une mémoire virtuelle, l'extension
du système de fichiers.
UE Complexité algorithmique de problèmes
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Définition et compréhension des classes de complexité de problèmes P, NP et NP-complets
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction à la cybersécurité
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Sensibiliser aux problématiques de cybersécurité des systèmes d'informations. Présenter un panorama des risques et de la cybercriminalité.
Descriptions de différents types de menaces, méthodologie d'attaques et de contre-mesures. Technologies émergentes. Protection de la vie privée. Prise en main de quelques outils concrets. Exemples pratiques; signature électronique, vulnérabilités logicielles, sécurités web et réseaux.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Planification automatique et techniques d'intelligence artificielle
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif est de présenter les principaux enjeux, domaines et algorithmes de l’Intelligence Artificielle. L'accent est mis sur la résolution « heuristique » des problèmes et la « planification automatique » càd des algorithmes permettant à des agents intelligents ou des robots autonomes de prendre des décisions sur les actions à réaliser pour atteindre un but donné.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Synthèses d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Initiation à la synthèse d'images :
* Transformations matricielles, création d'une caméra
* Pipeline graphique (rastérisation)
* Eclairage local & ombrage
* Placage de textures & manipulation de l'apparence
* Post-processing
* Apprentissage de la bibliothèque OpenGL
* Programmation sur GPU avec GLSL
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Ergonomie des interfaces homme-machine
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Savoir appliquer avec méthode les principes élémentaires d’ergonomie et de génie logiciel à la conception et à la mise en œuvre de logiciels interactifs.
UE DevOps : méthodes et outils
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'industrie du logiciel doit faire face à la complexité croissante des
logiciels que doivent développer les équipes de développement (dev) et
que doivent mettre en production les équipes opérationnelles
(ops). L'équipe "dev" a pour objectif principal d'apporter les
changements nécessaires au moindre coût et le plus vite possible,
alors que l'équipe "ops" doit garantir la stabilité du système et
privilégie donc la qualité. L'approche DevOps (Dev+Ops) cherche à
résoudre cet antagonisme en fluidifiant le passage du développement à
la production. Ce cours présente les méthodes et les principaux outils
de l’approche DevOps
UE Géométrie numérique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Connaissance théorique et pratique des algorithmes de visualisation et de traitement informatique des modèles géométriques.
UE Introduction à l'administration des réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cet enseignement permet de comprendre précisément des notions primordiales pour l'administration des réseaux : adressage et routage (dans IPV4 et IPV6), contrôle de congestion, gestion de qualité de service (QoS), DNS (Domain Name System), VLAN (Virtual Local Area Network), introduction à la sécurité des réseaux, filtrage de paquet et translation d'adresse (NAT).
Cet enseignement de spécialité est une suite naturelle de l'enseignement "Introduction aux réseaux" du tronc commun de M1 Informatique.
UE Traitement d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif de cette UE est de présenter les principales étapes de traitement d'images en niveau
de gris et en couleurs depuis l'acquisition pour préparer ensuite l'extraction d'indices visuels
nécessaire n analyse d'image. Les notions abordées seront l'amélioration d'image par
égalisation ou étalement d'histogramme, le filtrage linéaire et la détection de contours par
filtrage direct et récursif. L'essentiel des notions seront illustrées par des Travaux Pratiques en langage Python dans l'environnement Caseine.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Histoire de l'informatique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Attention : cette UE ne peut pas être prise en même temps que l'UE Sciences Informatiques et Médiation.
UE Anglais S8
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
Pour un autre choix d'ETC - s'adresser au Service des Enseignements Transversaux (SET), situé au Bâtiment B2e étage du DLST, 480 avenue centrale sur le domaine universitaire :
ou
Pour le FLE et d'autres langues : Service des Langues UGA - La Maison des Langues, bureau 08 - chaineise.ouadah @ univ-grenoble-alpes.fr
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...
Nous nous intéresserons plus particulièrement dans ce cours aux problèmes ayant une structure combinatoire : le nombre de solutions possible est fini mais trop grand pour pouvoir être énuméré. L'étude de ces problèmes comporte une phase de modélisation de problèmes pratiques puis de résolution algorithmique.
A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème de décision ou d'optimisation.
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Introduction à la recherche et Travail d'Etude et de Recherche
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Stage:
• Découvrir le monde de l'ingénierie en informatique
• Pratiquer une activité d'ingénieur en informatique
TER:
• Découvrir le monde de la recherche
• Pratiquer une activité de recherche
Dans les deux cas:
• Prendre du recul sur le domaine de l'informatique
• Avoir une pratique de la communication scientifique
Introduction à la recherche et stage en laboratoire
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Sémantique des langages de programmation
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Ce module présente les différents concepts mis en oeuvre dans les langages de programmation en vue d'exécuter un programme sur une machine. L'objectif de cet enseignement est la maîtrise des méthodes de définition formelle de la syntaxe d'un langage, de sa sémantique et des différentes phases de transformation d'un programme tout au long de son traitement par un compilateur.
UE Génie logiciel
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Compréhension des diverses activités de GL
Connaissances de base en gestion des exigences
Connaissances de base en UML
Connaissances de base en Architecture Logicielle
Introduction au test
UE Conception et programmation par objets
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction des concepts fondamentaux de l'Approche Orientée Objet et de leur mise en œuvre en JAVA (classe, héritage, polymorphisme, généricité, contrat), relations Génie Logiciel / Conception Orientée Objet / Programmation Orientée Objet.
UE Conception des systèmes d'exploitation et programmation concurrente
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE permet de comprendre le fonctionnement interne des systèmes d'exploitation (processus, fichiers, mémoire, etc.) La programmation parallèle par processus légers est également étudiée.
UE Base de données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les objectifs sont de :
- Présenter les notions de bases de données et de Systèmes de Gestion de Bases de Données (SGBD).
- Décrire les principes de fonctionnement des SGBD, les fonctions d'administration des bases de données en insistant sur la gestion et la manipulation
Plan :
- Introduction
- Ecriture ensembliste / Sets
- Algèbre relationnelle / Relationnal algebra
- SQL pour manipuler des données / SQL for querying data
- SQL pour définir des données / SQL for managing data
UE Introduction aux réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans le réseau Internet, il permet de comprendre les notions suivantes: supports et codage physique, mise en paquet de l'information, accès multiple au support, détection et correction d'erreurs, récupération d'erreur par re-émission, contrôle de flux, adressage et routage.
UE Technique des logiciels interactifs
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction à l'Interaction Homme-Machine et à la programmation par évènements
UE Introduction à l'intelligence artificielle et la science des données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Deux projets au choix sont proposés dans le cadre de cette UE : un projet "Compilateur" ; un projet "Système"
Projets Compilation:
--------------------
Le projet consiste à développer un compilateur qui traduit un langage fonctionnel simple inspiré de OCaml vers de l’assembleur ARM. Les étapes principales du projet sont l’analyse de types, la traduction vers une représentation intermédiaire, et finalement la génération d’assembleur.
Projet Système
--------------
L'objectif est d'étendre les fonctionnalités d'un système d'exploitation. Le système d'exploitation que nous étudierons est NachOS (T. Anderson, Univ. Stanford). La principale difficulté concerne l'analyse et la compréhension de l'architecture du système. Les principales extensions concerneront la gestion des threads, la mise en oeuvre de la multiprogrammation autour d'une mémoire virtuelle, l'extension
du système de fichiers.
UE Complexité algorithmique de problèmes
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Définition et compréhension des classes de complexité de problèmes P, NP et NP-complets
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction à la cybersécurité
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Sensibiliser aux problématiques de cybersécurité des systèmes d'informations. Présenter un panorama des risques et de la cybercriminalité.
Descriptions de différents types de menaces, méthodologie d'attaques et de contre-mesures. Technologies émergentes. Protection de la vie privée. Prise en main de quelques outils concrets. Exemples pratiques; signature électronique, vulnérabilités logicielles, sécurités web et réseaux.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Planification automatique et techniques d'intelligence artificielle
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif est de présenter les principaux enjeux, domaines et algorithmes de l’Intelligence Artificielle. L'accent est mis sur la résolution « heuristique » des problèmes et la « planification automatique » càd des algorithmes permettant à des agents intelligents ou des robots autonomes de prendre des décisions sur les actions à réaliser pour atteindre un but donné.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Synthèses d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Initiation à la synthèse d'images :
* Transformations matricielles, création d'une caméra
* Pipeline graphique (rastérisation)
* Eclairage local & ombrage
* Placage de textures & manipulation de l'apparence
* Post-processing
* Apprentissage de la bibliothèque OpenGL
* Programmation sur GPU avec GLSL
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Ergonomie des interfaces homme-machine
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Savoir appliquer avec méthode les principes élémentaires d’ergonomie et de génie logiciel à la conception et à la mise en œuvre de logiciels interactifs.
UE DevOps : méthodes et outils
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'industrie du logiciel doit faire face à la complexité croissante des
logiciels que doivent développer les équipes de développement (dev) et
que doivent mettre en production les équipes opérationnelles
(ops). L'équipe "dev" a pour objectif principal d'apporter les
changements nécessaires au moindre coût et le plus vite possible,
alors que l'équipe "ops" doit garantir la stabilité du système et
privilégie donc la qualité. L'approche DevOps (Dev+Ops) cherche à
résoudre cet antagonisme en fluidifiant le passage du développement à
la production. Ce cours présente les méthodes et les principaux outils
de l’approche DevOps
UE Géométrie numérique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Connaissance théorique et pratique des algorithmes de visualisation et de traitement informatique des modèles géométriques.
UE Introduction à l'administration des réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cet enseignement permet de comprendre précisément des notions primordiales pour l'administration des réseaux : adressage et routage (dans IPV4 et IPV6), contrôle de congestion, gestion de qualité de service (QoS), DNS (Domain Name System), VLAN (Virtual Local Area Network), introduction à la sécurité des réseaux, filtrage de paquet et translation d'adresse (NAT).
Cet enseignement de spécialité est une suite naturelle de l'enseignement "Introduction aux réseaux" du tronc commun de M1 Informatique.
UE Traitement d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif de cette UE est de présenter les principales étapes de traitement d'images en niveau
de gris et en couleurs depuis l'acquisition pour préparer ensuite l'extraction d'indices visuels
nécessaire n analyse d'image. Les notions abordées seront l'amélioration d'image par
égalisation ou étalement d'histogramme, le filtrage linéaire et la détection de contours par
filtrage direct et récursif. L'essentiel des notions seront illustrées par des Travaux Pratiques en langage Python dans l'environnement Caseine.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Histoire de l'informatique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Attention : cette UE ne peut pas être prise en même temps que l'UE Sciences Informatiques et Médiation.
UE Anglais S8
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
Pour un autre choix d'ETC - s'adresser au Service des Enseignements Transversaux (SET), situé au Bâtiment B2e étage du DLST, 480 avenue centrale sur le domaine universitaire :
ou
Pour le FLE et d'autres langues : Service des Langues UGA - La Maison des Langues, bureau 08 - chaineise.ouadah @ univ-grenoble-alpes.fr
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...
Nous nous intéresserons plus particulièrement dans ce cours aux problèmes ayant une structure combinatoire : le nombre de solutions possible est fini mais trop grand pour pouvoir être énuméré. L'étude de ces problèmes comporte une phase de modélisation de problèmes pratiques puis de résolution algorithmique.
A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème de décision ou d'optimisation.
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Introduction à la recherche et Travail d'Etude et de Recherche
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Stage:
• Découvrir le monde de l'ingénierie en informatique
• Pratiquer une activité d'ingénieur en informatique
TER:
• Découvrir le monde de la recherche
• Pratiquer une activité de recherche
Dans les deux cas:
• Prendre du recul sur le domaine de l'informatique
• Avoir une pratique de la communication scientifique
Introduction à la recherche et stage en laboratoire
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Sémantique des langages de programmation
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Ce module présente les différents concepts mis en oeuvre dans les langages de programmation en vue d'exécuter un programme sur une machine. L'objectif de cet enseignement est la maîtrise des méthodes de définition formelle de la syntaxe d'un langage, de sa sémantique et des différentes phases de transformation d'un programme tout au long de son traitement par un compilateur.
UE Génie logiciel
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Compréhension des diverses activités de GL
Connaissances de base en gestion des exigences
Connaissances de base en UML
Connaissances de base en Architecture Logicielle
Introduction au test
UE Conception et programmation par objets
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction des concepts fondamentaux de l'Approche Orientée Objet et de leur mise en œuvre en JAVA (classe, héritage, polymorphisme, généricité, contrat), relations Génie Logiciel / Conception Orientée Objet / Programmation Orientée Objet.
UE Conception des systèmes d'exploitation et programmation concurrente
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE permet de comprendre le fonctionnement interne des systèmes d'exploitation (processus, fichiers, mémoire, etc.) La programmation parallèle par processus légers est également étudiée.
UE Base de données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les objectifs sont de :
- Présenter les notions de bases de données et de Systèmes de Gestion de Bases de Données (SGBD).
- Décrire les principes de fonctionnement des SGBD, les fonctions d'administration des bases de données en insistant sur la gestion et la manipulation
Plan :
- Introduction
- Ecriture ensembliste / Sets
- Algèbre relationnelle / Relationnal algebra
- SQL pour manipuler des données / SQL for querying data
- SQL pour définir des données / SQL for managing data
UE Introduction aux réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans le réseau Internet, il permet de comprendre les notions suivantes: supports et codage physique, mise en paquet de l'information, accès multiple au support, détection et correction d'erreurs, récupération d'erreur par re-émission, contrôle de flux, adressage et routage.
UE Technique des logiciels interactifs
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction à l'Interaction Homme-Machine et à la programmation par évènements
UE Introduction à l'intelligence artificielle et la science des données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Deux projets au choix sont proposés dans le cadre de cette UE : un projet "Compilateur" ; un projet "Système"
Projets Compilation:
--------------------
Le projet consiste à développer un compilateur qui traduit un langage fonctionnel simple inspiré de OCaml vers de l’assembleur ARM. Les étapes principales du projet sont l’analyse de types, la traduction vers une représentation intermédiaire, et finalement la génération d’assembleur.
Projet Système
--------------
L'objectif est d'étendre les fonctionnalités d'un système d'exploitation. Le système d'exploitation que nous étudierons est NachOS (T. Anderson, Univ. Stanford). La principale difficulté concerne l'analyse et la compréhension de l'architecture du système. Les principales extensions concerneront la gestion des threads, la mise en oeuvre de la multiprogrammation autour d'une mémoire virtuelle, l'extension
du système de fichiers.
UE Complexité algorithmique de problèmes
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Définition et compréhension des classes de complexité de problèmes P, NP et NP-complets
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...
Nous nous intéresserons plus particulièrement dans ce cours aux problèmes ayant une structure combinatoire : le nombre de solutions possible est fini mais trop grand pour pouvoir être énuméré. L'étude de ces problèmes comporte une phase de modélisation de problèmes pratiques puis de résolution algorithmique.
A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème de décision ou d'optimisation.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Planification automatique et techniques d'intelligence artificielle
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif est de présenter les principaux enjeux, domaines et algorithmes de l’Intelligence Artificielle. L'accent est mis sur la résolution « heuristique » des problèmes et la « planification automatique » càd des algorithmes permettant à des agents intelligents ou des robots autonomes de prendre des décisions sur les actions à réaliser pour atteindre un but donné.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Synthèses d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Initiation à la synthèse d'images :
* Transformations matricielles, création d'une caméra
* Pipeline graphique (rastérisation)
* Eclairage local & ombrage
* Placage de textures & manipulation de l'apparence
* Post-processing
* Apprentissage de la bibliothèque OpenGL
* Programmation sur GPU avec GLSL
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Ergonomie des interfaces homme-machine
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Savoir appliquer avec méthode les principes élémentaires d’ergonomie et de génie logiciel à la conception et à la mise en œuvre de logiciels interactifs.
UE DevOps : méthodes et outils
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'industrie du logiciel doit faire face à la complexité croissante des
logiciels que doivent développer les équipes de développement (dev) et
que doivent mettre en production les équipes opérationnelles
(ops). L'équipe "dev" a pour objectif principal d'apporter les
changements nécessaires au moindre coût et le plus vite possible,
alors que l'équipe "ops" doit garantir la stabilité du système et
privilégie donc la qualité. L'approche DevOps (Dev+Ops) cherche à
résoudre cet antagonisme en fluidifiant le passage du développement à
la production. Ce cours présente les méthodes et les principaux outils
de l’approche DevOps
UE Géométrie numérique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Connaissance théorique et pratique des algorithmes de visualisation et de traitement informatique des modèles géométriques.
UE Introduction à l'administration des réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cet enseignement permet de comprendre précisément des notions primordiales pour l'administration des réseaux : adressage et routage (dans IPV4 et IPV6), contrôle de congestion, gestion de qualité de service (QoS), DNS (Domain Name System), VLAN (Virtual Local Area Network), introduction à la sécurité des réseaux, filtrage de paquet et translation d'adresse (NAT).
Cet enseignement de spécialité est une suite naturelle de l'enseignement "Introduction aux réseaux" du tronc commun de M1 Informatique.
UE Traitement d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif de cette UE est de présenter les principales étapes de traitement d'images en niveau
de gris et en couleurs depuis l'acquisition pour préparer ensuite l'extraction d'indices visuels
nécessaire n analyse d'image. Les notions abordées seront l'amélioration d'image par
égalisation ou étalement d'histogramme, le filtrage linéaire et la détection de contours par
filtrage direct et récursif. L'essentiel des notions seront illustrées par des Travaux Pratiques en langage Python dans l'environnement Caseine.
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Histoire de l'informatique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Attention : cette UE ne peut pas être prise en même temps que l'UE Sciences Informatiques et Médiation.
UE Anglais S8
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
Pour un autre choix d'ETC - s'adresser au Service des Enseignements Transversaux (SET), situé au Bâtiment B2e étage du DLST, 480 avenue centrale sur le domaine universitaire :
ou
Pour le FLE et d'autres langues : Service des Langues UGA - La Maison des Langues, bureau 08 - chaineise.ouadah @ univ-grenoble-alpes.fr
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
UE Introduction à la cybersécurité
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Sensibiliser aux problématiques de cybersécurité des systèmes d'informations. Présenter un panorama des risques et de la cybercriminalité.
Descriptions de différents types de menaces, méthodologie d'attaques et de contre-mesures. Technologies émergentes. Protection de la vie privée. Prise en main de quelques outils concrets. Exemples pratiques; signature électronique, vulnérabilités logicielles, sécurités web et réseaux.
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Introduction à la recherche et Travail d'Etude et de Recherche
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Stage:
• Découvrir le monde de l'ingénierie en informatique
• Pratiquer une activité d'ingénieur en informatique
TER:
• Découvrir le monde de la recherche
• Pratiquer une activité de recherche
Dans les deux cas:
• Prendre du recul sur le domaine de l'informatique
• Avoir une pratique de la communication scientifique
Introduction à la recherche et stage en laboratoire
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Sémantique des langages de programmation
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Ce module présente les différents concepts mis en oeuvre dans les langages de programmation en vue d'exécuter un programme sur une machine. L'objectif de cet enseignement est la maîtrise des méthodes de définition formelle de la syntaxe d'un langage, de sa sémantique et des différentes phases de transformation d'un programme tout au long de son traitement par un compilateur.
UE Génie logiciel
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Compréhension des diverses activités de GL
Connaissances de base en gestion des exigences
Connaissances de base en UML
Connaissances de base en Architecture Logicielle
Introduction au test
UE Conception et programmation par objets
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction des concepts fondamentaux de l'Approche Orientée Objet et de leur mise en œuvre en JAVA (classe, héritage, polymorphisme, généricité, contrat), relations Génie Logiciel / Conception Orientée Objet / Programmation Orientée Objet.
UE Conception des systèmes d'exploitation et programmation concurrente
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE permet de comprendre le fonctionnement interne des systèmes d'exploitation (processus, fichiers, mémoire, etc.) La programmation parallèle par processus légers est également étudiée.
UE Base de données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les objectifs sont de :
- Présenter les notions de bases de données et de Systèmes de Gestion de Bases de Données (SGBD).
- Décrire les principes de fonctionnement des SGBD, les fonctions d'administration des bases de données en insistant sur la gestion et la manipulation
Plan :
- Introduction
- Ecriture ensembliste / Sets
- Algèbre relationnelle / Relationnal algebra
- SQL pour manipuler des données / SQL for querying data
- SQL pour définir des données / SQL for managing data
UE Introduction aux réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans le réseau Internet, il permet de comprendre les notions suivantes: supports et codage physique, mise en paquet de l'information, accès multiple au support, détection et correction d'erreurs, récupération d'erreur par re-émission, contrôle de flux, adressage et routage.
UE Technique des logiciels interactifs
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduction à l'Interaction Homme-Machine et à la programmation par évènements
UE Introduction à l'intelligence artificielle et la science des données
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Deux projets au choix sont proposés dans le cadre de cette UE : un projet "Compilateur" ; un projet "Système"
Projets Compilation:
--------------------
Le projet consiste à développer un compilateur qui traduit un langage fonctionnel simple inspiré de OCaml vers de l’assembleur ARM. Les étapes principales du projet sont l’analyse de types, la traduction vers une représentation intermédiaire, et finalement la génération d’assembleur.
Projet Système
--------------
L'objectif est d'étendre les fonctionnalités d'un système d'exploitation. Le système d'exploitation que nous étudierons est NachOS (T. Anderson, Univ. Stanford). La principale difficulté concerne l'analyse et la compréhension de l'architecture du système. Les principales extensions concerneront la gestion des threads, la mise en oeuvre de la multiprogrammation autour d'une mémoire virtuelle, l'extension
du système de fichiers.
UE Complexité algorithmique de problèmes
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Définition et compréhension des classes de complexité de problèmes P, NP et NP-complets
UE DevOps : méthodes et outils
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'industrie du logiciel doit faire face à la complexité croissante des
logiciels que doivent développer les équipes de développement (dev) et
que doivent mettre en production les équipes opérationnelles
(ops). L'équipe "dev" a pour objectif principal d'apporter les
changements nécessaires au moindre coût et le plus vite possible,
alors que l'équipe "ops" doit garantir la stabilité du système et
privilégie donc la qualité. L'approche DevOps (Dev+Ops) cherche à
résoudre cet antagonisme en fluidifiant le passage du développement à
la production. Ce cours présente les méthodes et les principaux outils
de l’approche DevOps
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Planification automatique et techniques d'intelligence artificielle
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif est de présenter les principaux enjeux, domaines et algorithmes de l’Intelligence Artificielle. L'accent est mis sur la résolution « heuristique » des problèmes et la « planification automatique » càd des algorithmes permettant à des agents intelligents ou des robots autonomes de prendre des décisions sur les actions à réaliser pour atteindre un but donné.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Synthèses d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Initiation à la synthèse d'images :
* Transformations matricielles, création d'une caméra
* Pipeline graphique (rastérisation)
* Eclairage local & ombrage
* Placage de textures & manipulation de l'apparence
* Post-processing
* Apprentissage de la bibliothèque OpenGL
* Programmation sur GPU avec GLSL
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Ergonomie des interfaces homme-machine
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Savoir appliquer avec méthode les principes élémentaires d’ergonomie et de génie logiciel à la conception et à la mise en œuvre de logiciels interactifs.
UE Géométrie numérique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Connaissance théorique et pratique des algorithmes de visualisation et de traitement informatique des modèles géométriques.
UE Introduction à l'administration des réseaux
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cet enseignement permet de comprendre précisément des notions primordiales pour l'administration des réseaux : adressage et routage (dans IPV4 et IPV6), contrôle de congestion, gestion de qualité de service (QoS), DNS (Domain Name System), VLAN (Virtual Local Area Network), introduction à la sécurité des réseaux, filtrage de paquet et translation d'adresse (NAT).
Cet enseignement de spécialité est une suite naturelle de l'enseignement "Introduction aux réseaux" du tronc commun de M1 Informatique.
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Traitement d'images
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
L'objectif de cette UE est de présenter les principales étapes de traitement d'images en niveau
de gris et en couleurs depuis l'acquisition pour préparer ensuite l'extraction d'indices visuels
nécessaire n analyse d'image. Les notions abordées seront l'amélioration d'image par
égalisation ou étalement d'histogramme, le filtrage linéaire et la détection de contours par
filtrage direct et récursif. L'essentiel des notions seront illustrées par des Travaux Pratiques en langage Python dans l'environnement Caseine.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Histoire de l'informatique
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Attention : cette UE ne peut pas être prise en même temps que l'UE Sciences Informatiques et Médiation.
UE Anglais S8
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
Pour un autre choix d'ETC - s'adresser au Service des Enseignements Transversaux (SET), situé au Bâtiment B2e étage du DLST, 480 avenue centrale sur le domaine universitaire :
ou
Pour le FLE et d'autres langues : Service des Langues UGA - La Maison des Langues, bureau 08 - chaineise.ouadah @ univ-grenoble-alpes.fr
English obligatory, except for students with a B2 CEFR certification or French as a Foreign language (FLE)
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...
Nous nous intéresserons plus particulièrement dans ce cours aux problèmes ayant une structure combinatoire : le nombre de solutions possible est fini mais trop grand pour pouvoir être énuméré. L'étude de ces problèmes comporte une phase de modélisation de problèmes pratiques puis de résolution algorithmique.
A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème de décision ou d'optimisation.
UE Introduction à la cybersécurité
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Sensibiliser aux problématiques de cybersécurité des systèmes d'informations. Présenter un panorama des risques et de la cybercriminalité.
Descriptions de différents types de menaces, méthodologie d'attaques et de contre-mesures. Technologies émergentes. Protection de la vie privée. Prise en main de quelques outils concrets. Exemples pratiques; signature électronique, vulnérabilités logicielles, sécurités web et réseaux.
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche et stage en entreprise
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Introduction à la recherche et Travail d'Etude et de Recherche
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Stage:
• Découvrir le monde de l'ingénierie en informatique
• Pratiquer une activité d'ingénieur en informatique
TER:
• Découvrir le monde de la recherche
• Pratiquer une activité de recherche
Dans les deux cas:
• Prendre du recul sur le domaine de l'informatique
• Avoir une pratique de la communication scientifique
Introduction à la recherche et stage en laboratoire
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Introduction à la recherche
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
UE Elective course
Niveau d'étude
Bac +4
ECTS
4 crédits
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Introduction to Cybersecurity
Niveau d'étude
Bac +4
ECTS
10 crédits
UE Principle of Internet
Niveau d'étude
Bac +4
ECTS
8 crédits
UE French as a foreign language
Niveau d'étude
Bac +4
ECTS
3 crédits
UE Statistical analysis and document mining
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to present the statistical approaches for analysing multivariate data. The information age has resulted in masses of multivariate data in many different field: finance, marketing, economy, biology, environmental sciences,…The theoretical and practical aspects of multivariate data analysis are given equal importance. This balance is achieved through practicals involving actual data analysis using the R software.
Content
- Multiple linear regression. Least squares, Gaussian linear model, test of linear hypotheses, one-way analysis of variance.
- Principal Components Analysis (PCA).
- Classification, linear discriminant analysis, perceptron, Naive Bayes
- Text mining, numeric representation of texts, connexion with graph clustering.
Statistical analysis and document mining
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to present the statistical approaches for analysing multivariate data. The information age has resulted in masses of multivariate data in many different field: finance, marketing, economy, biology, environmental sciences,…The theoretical and practical aspects of multivariate data analysis are given equal importance. This balance is achieved through practicals involving actual data analysis using the R software.
Content :
- Multiple linear regression. Least squares, Gaussian linear model, test of linear hypotheses, one-way analysis of variance.
- Principal Components Analysis (PCA).
- Classification, linear discriminant analysis, perceptron, Naive Bayes
- Text mining, numeric representation of texts, connexion with graph clustering.
Statistical analysis and document mining complementary
Niveau d'étude
Bac +4
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Digital Transmission from Técnico Lisboa
Niveau d'étude
Bac +4
ECTS
5 crédits
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Mobile communication systems
Niveau d'étude
Bac +5
ECTS
4 crédits
UE Learning, Probabilities and Causality
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Causality is at the core of our vision of the world and of the way we reason. It has long been recognized as an important concept and was already mentioned in the ancient Hindu scriptures: “Cause is the effect concealed, effect is the cause revealed”. Even Democritus famously proclaimed that he would rather discover a causal relation than be the king of presumably the wealthiest empire of his time. Nowadays, causality is seen as an ideal way to explain observed phenomena and to provide tools to reason on possible outcomes of interventions and what-if experiments, which are central to counterfactual reasoning, as ‘‘what if this patient had been given this particular treatment?’’
UE Mathematical Foundations of Machine Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Machine Learning is one of the key areas of Artificial Intelligence and it concerns the study and the development of quantitative models that enables a computer to perform tasks without being explicitly programmed to do them. Learning in this context is hence to recognize complex forms and to make intelligent decisions. Given all existing entries, the difficulty of this task lies in the fact that all possible decisions is usually very complex to enumerate. To get around that, machine learning algorithms are designed in order to gain knowledge on the problem to be addressed based on a limited set of observed data extracted from this problem. To illustrate this principle, consider the supervised learning task, where the prediction function, which infers a predicted output for a given input, is learned over a finite set of labeled training examples, where each instance of this set is a pair constituted of a vector characterizing an observation in a given vector space, and an associated desired response for that instance (also called desired output). After the training step, the function returned by the algorithm is sought to give predictions on new examples, which have not been used in the learning process, with the lowest probability of error. The underlying assumption in this case is that the examples are, in general, representative of the prediction problem on which the function will be applied. We expect that the learning algorithm produces a function that will have a good generalization performance and not the one that is able to perfectly reproduce the outputs associated to the training examples. Guarantees of learnability of this process were studied in the theory of machine learning largely initiated by Vladimir Vapnik. These guarantees are dependent on the size of the training set and the complexity of the class of functions where the algorithm searches for the prediction function. Emerging technologies, particularly those related to the development of Internet, reshaped the domain of machine learning with new learning frameworks that have been studied to better tackle the related problems. One of these frameworks concerns the problem of learning with partially labeled data, or semi-supervised learning, which development is motivated by the effort that has to be made to construct labeled training sets for some problems, while large amount of unlabeled data can be gathered easily for these problems. The inherent assumption, in this case, is that unlabeled data contain relevant information about the task that has to be solved, and that it is a natural idea to try to extract this information so as to provide the learning algorithm more evidence. From these facts were born a number of works that intended to use a small amount of labeled data simultaneously with a large amount of unlabeled data to learn a prediction function.
The intent of this course is to propose a broad introduction to the field of Machine Learning, including discussions of each of the major frameworks, supervised, unsupervised, semi-supervised and reinforcement learning.
UE Advanced Machine Learning: Applications to Vision, Audio and Text
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is split into two parts. During the first part, a wide range of machine learning algorithms will be discussed. The second part will focus on deep learning, and presentations more applied to the three data modalities and their combinations. The following is a non-exhaustive list of topics discussed:
- Computing dot products in high dimension & Page Rank
- Matrix completion/factorization (Stochastic Gradient Descent, SVD)
- Monte-carlo, MCMC methods: Metropolis-Hastings and Gibbs Sampling
- Unsupervised classification: Partitionning, Hierarchical, Kernel and Spectral clustering
- Alignment and matching algorithms (local/global, pairwise/multiple), dynamic programming, Hungarian algorithm,…
- Introduction to Deep Learning concepts, including CNN, RNN, Metric learning
- Attention models: Self-attention, Transformers
- Auditory data: Representation, sound source localisation and separation.
- Natural language data: Representation, Seq2Seq, Word2Vec, Machine Translation, Pre-training strategies, Benchmarks and evaluation
- Visual data: image and video representation, recap of traditional features, state-of-the-art neural architectures for feature extraction
- Object detection and recognition, action recognition.
- Multimodal learning: audio-visual data representation, multimedia retrieval.
- Generative Adversarial Networks: Image-image translation, conditional generation
UE Advanced Data Networks
Niveau d'étude
Bac +5
ECTS
5 crédits
UE Network Security
Niveau d'étude
Bac +5
ECTS
9 crédits
UE Wireless Networks
Niveau d'étude
Bac +5
ECTS
3 crédits
UE Research Project
Niveau d'étude
Bac +5
ECTS
30 crédits
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Introduction to Artificial Intelligence
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course aims to introduce to students the basics of and a large overview on Artifical Intelligence, including Machine Learning, Deep Learning and Symbolic AI.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE Research project (TER)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course is the internship conducted in a research lab in Grenoble area. It consists of two parts: a part-time period of 3 months with one day a week followed by a full-time period of 5 weeks. During these periods, the interns are enrolled in research activities in labs. At the end of the period, a report and oral presentation in the forms of a research paper and research talk, respectively, are exptected.
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Algebraic Algorithms for Cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE Research project (TER)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course is the internship conducted in a research lab in Grenoble area. It consists of two parts: a part-time period of 3 months with one day a week followed by a full-time period of 5 weeks. During these periods, the interns are enrolled in research activities in labs. At the end of the period, a report and oral presentation in the forms of a research paper and research talk, respectively, are exptected.
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Intelligent systems: reasoning and recognition
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course brings together programming techniques for recognition and symbolic reasoning. Techniques for symbolic reasoning are provided based on rule based programming and structured knowledge representations using schema. Programming of rules and schema are illustrated with exercises in the CLIPS Expert-System environment (developed by NASA). Techniques for recognition are presented based on Bayesian pattern recognition and machine learning. Linear and quadratic discrimination functions are presented, followed by feature space reduction techniques based on the Fisher discriminant function and principal Components analysis. An introduction to learning theory is provided using the EM algorithm to estimate Gaussian Mixture Models.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE Research project (TER)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course is the internship conducted in a research lab in Grenoble area. It consists of two parts: a part-time period of 3 months with one day a week followed by a full-time period of 5 weeks. During these periods, the interns are enrolled in research activities in labs. At the end of the period, a report and oral presentation in the forms of a research paper and research talk, respectively, are exptected.
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Intelligent systems: reasoning and recognition
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course brings together programming techniques for recognition and symbolic reasoning. Techniques for symbolic reasoning are provided based on rule based programming and structured knowledge representations using schema. Programming of rules and schema are illustrated with exercises in the CLIPS Expert-System environment (developed by NASA). Techniques for recognition are presented based on Bayesian pattern recognition and machine learning. Linear and quadratic discrimination functions are presented, followed by feature space reduction techniques based on the Fisher discriminant function and principal Components analysis. An introduction to learning theory is provided using the EM algorithm to estimate Gaussian Mixture Models.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE Research project (TER)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course is the internship conducted in a research lab in Grenoble area. It consists of two parts: a part-time period of 3 months with one day a week followed by a full-time period of 5 weeks. During these periods, the interns are enrolled in research activities in labs. At the end of the period, a report and oral presentation in the forms of a research paper and research talk, respectively, are exptected.
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Intelligent systems: reasoning and recognition
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course brings together programming techniques for recognition and symbolic reasoning. Techniques for symbolic reasoning are provided based on rule based programming and structured knowledge representations using schema. Programming of rules and schema are illustrated with exercises in the CLIPS Expert-System environment (developed by NASA). Techniques for recognition are presented based on Bayesian pattern recognition and machine learning. Linear and quadratic discrimination functions are presented, followed by feature space reduction techniques based on the Fisher discriminant function and principal Components analysis. An introduction to learning theory is provided using the EM algorithm to estimate Gaussian Mixture Models.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE Research project (TER)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course is the internship conducted in a research lab in Grenoble area. It consists of two parts: a part-time period of 3 months with one day a week followed by a full-time period of 5 weeks. During these periods, the interns are enrolled in research activities in labs. At the end of the period, a report and oral presentation in the forms of a research paper and research talk, respectively, are exptected.
UE Research methodology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The objective is a better understanding of the research world. This course overviews the principles of academic research conducted in research lab. First, it presents Grenoble’s academic landscape and the main research institutions. Moreover, it presents the principles of academic research. Then, it presents method guidelines to a) conduct successful research, b) read and write papers, give research talks.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Intelligent systems: reasoning and recognition
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course brings together programming techniques for recognition and symbolic reasoning. Techniques for symbolic reasoning are provided based on rule based programming and structured knowledge representations using schema. Programming of rules and schema are illustrated with exercises in the CLIPS Expert-System environment (developed by NASA). Techniques for recognition are presented based on Bayesian pattern recognition and machine learning. Linear and quadratic discrimination functions are presented, followed by feature space reduction techniques based on the Fisher discriminant function and principal Components analysis. An introduction to learning theory is provided using the EM algorithm to estimate Gaussian Mixture Models.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Programming language and compiler design
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module introduces the main concepts available in programming languages to execute a program on a machine. Moreover, it presents compilers, the programs used to transform human-readable programs into machine-readable programs.
More specifically, this module aims to provide:
- the formal tools allowing to describe (static and dynamic) program semantics;
- the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.
UE Software engineering
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces some of the main concepts of software engineering (lifecycle/development process, requirements, specification architecture, global and detailed design, test, project supervision and management).
The first part of this course focuses on the Unified Modeling Language and presents the object and class diagrams, use cases, state-transition and sequence diagrams. The second part focuses on the development phases and presents the development process, how to manage requirements, the notion of software architecture, design patterns, tests, and project management.
UE Principles of operating systems
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This class is an introduction to general operating systems concepts that every programmer and computer scientist must know.
The course presents the main roles of an operating system and the challenges associated with the design of an operating system. The main components of an operating system are studied, including: memory management, task management, management of storage devices.
For each component, we present the main design choices in existing operating systems. We study how these design choices are guided by the characteristics of the underlying hardware and how the components interact with the hardware.
Additionally, a special focus is given to concurrent programming. The challenges and pitfalls of concurrent programming are introduced. Using the POSIX thread interface, we study the main programming concepts and methodologies to write correct and efficient concurrent programs.
Organization:
The class is based on an 11-week semester, with 3 hours of lectures and 3 hours of in-class lab sessions per week.
The labs are based on the C language, the Linux operating system and the POSIX programming standard.
Remark : For the interested students wishing to study the detailed design and implementation of an operating system, an optional (1-month) programming project is available at the end of the semester in a separate class (see GBX7MO08 - Programming project/OS).
UE Algorithmic Problem Solving
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course has for objectives to develop proficiencies in algorithms analysis, algorithm writing, and problem solving in general using algorithms.
This course uses Problem Based Learning methods for teaching, so students are expected to work in groups of 5-6 people during class sessions, and will do homework alone between sessions.
Students will solve four big problems during the semester, spanning about 4-6 sessions each. The problems will cover the following topics: advanced data structures (designing data structures to help solving a problem), greedy algorithms, dynamic programming, approximation algorithms, and more importantly the orthogonal notions of algorithm complexity and algorithm quality (in terms of solution produced).
UE Mathematics for computer science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to provide the basis This way, every student can use the adequate mathematical tools for designing well-founded reasoning and prove properties. More precisely, the content is the following: Overview of proving techniques, Induction, Counting, Basics on enumeration and combinatorics , Divisibility, Discrete structures and graphs, Probability, Modeling and classical laws, Random walks.
UE Introduction to Visual Computing
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Visual computing is the computer science discipline that deals with images. The ability to analyse, interpret and create images with computers is an essential part of computer science. This is illustrated with the ever growing set of devices that can display, generate and capture images and with the associated increase of image usage in everyday life. This course introduces some of the basic principles and techniques in this domain that are used in most image related fields such as computer vision, computer graphics and medical imaging.
UE Introduction to Artificial Intelligence
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course aims to introduce to students the basics of and a large overview on Artifical Intelligence, including Machine Learning, Deep Learning and Symbolic AI.
UE Programming project (OS)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This project shows the internals of an operating system. We use an emulated operating system: NachOS. The aim is to put into practice the theoretical knowledge obtained during the OS course. In NachOS the students will have the opportunity to program the thread management system, the memory management system, the file system, as well as the network protocols (these represent different stages of the project). NachOS comes as a fully functioning yet very simple OS. Students need to first understand the software and then are invited to incrementally program additional OS treatments. The more time you spend on it, the more fun it is!
UE Programming project (Compiler design)
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The source language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.
UE GS_MSTIC_Démarche Scientifique
Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Technical writing and speaking
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This module about the English language includes oral and written communication tools. It teaches how to write professional documents: CV, articles, memorandum, e-mail, letter, master’s…
Moreover, it proposes a training specialised in scientific report writing using written communication techniques and tools and provides the skills to publish reviews or scientific reports (for example technicians). That course will enable people to do a work of quality that they can publish further in scientific magazines.
UE Introduction to Modeling and Verification of Digital Systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This course gives an introduction to digital circuits modeling, design, and verification, and to the associated methods and tools (simulation, simulation with formal assertions, ASIC synthesis, FPGA synthesis).
Ce cours fournit une introduction à la modélisation, la conception et la vérification des circuits numériques, ainsi qu’aux méthodes et outils associés (simulation, simulation avec assertions formelles, synthèse ASIC, synthèse FPGA).
UE Operations Research
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Skills
- Recognize a situation where Operations Research is relevant.
- Know the main tools of Operations Research.
- Have the methodological elements to choose the solution methods and the tools the most adapted for a given practical problem.
- Know how to manipulate the software tools to solve a discrete optimization problem.
The course covers various topics:
- Linear Programming (modelling, solving, duality)
- Mixed Integer Linear Programming (modelling techniques, solving with Branch and Bound)
- Dynamic Programming
- Bonus (riddles, elsewhere on the web, OR News)
More details : https://moodle.caseine.org/course/view.php?id=42
UE Data base foundations
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Databases today are essential to every business, corporation and many scientific investigations. They are behind major popular systems as Google or Amazon, they store important data of many kind of companies and they are even key components in research on physics, biology, health and several other fields. Database Management Systems (DBMS) are powerful, but complex, systems for creating and managing large amounts of data efficiently and allowing it to persist over the time. In this course, we shall learn the foundations of DBMS and most important aspects to design and to use relational databases.
Program summary :
The theoretic part covers the following topics: DBMS functionalities, overview of the most common data models, the relational approach (algebra, SQL, normalization, etc.) , transactional support and database design. We study database schema design using the entity-relation model and introduce an algorithm to translate such an abstraction to a normalized relational schema. The pragmatic part of the course is intended to familiarize students with the use of the Standard Query Language, SQL. We also introduce JDBC, the Java API to access
relational databases.
UE Introduction to distributed systems
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
After presenting the major differences between a centralized system and a distributed one, this option shows students both the "user" and the "designer" side of distributed applications. Students get acquainted with existing distributed middleware and see how the latter tackle the problems of distributed system design. Are discussed the principles of distributed communication, including client/server synchronous architectures and publish/subscribe decoupled ones. The students also zoom into distributed middleware implementation and learn the basics of distributed algorithmics. Working with simple distributed topologies, they get to write simple algorithms and reason about their correctness.
UE Human computer interaction
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Target skills :
The goal is to present the core principles of human-centered approaches for analyzing, designing, implementing and evaluating interactive systems. At the end, students must be familiar with utility (good coverage of the needs) and usability (good quality of service), the two key properties in Human-Computer Interaction for both criticizing and developing high quality User Interfaces (UI). The principles are applied to graphical UIs, including web sites.
Students who attend this course should be able to design, implement and evaluate interactive systems following a user centered approach.
Program summary :
The course presents the key steps and models in user centered design. Then it focuses on ergonomic criteria for sustaining both the design and evaluation of user interfaces.
- Analysis: cognitive models, motivations for the system, models of the user, environment, and activity
- Design: tasks, concepts and platform models, ergonomic criteria, abstract and concrete user interfaces, specifications (User Action Notation)
- Implementation: software architecture models, tools (overview of web programming techniques)
- Evaluation: predictive and experimental, qualitative and quantitative approaches.
The course includes 18h of formal lectures and 18h of project. The project lasts during the whole semester. Students have to analyse a need, design and prototype an interactive system, and evaluate it. The theme is chosen by the students. They have to produce two documents (analysis and design), a prototype, and to test it through user experiments.
UE Computer networks principles
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Learn basic concepts of computer networking and acquire practical notions of protocols with an emphasis on TCP/IP.
UE 3D Graphics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Computer Graphics covers the set of techniques enabling the synthesis of animated virtual worlds. The applications range from entertainment (special effects, 3D feature films, video games), to industrial design (modelling and visualizing prototypes) and virtual reality (flight simulator, interactive walk-trough). This course introduces the domain by presenting the bases for the creation of 3D models, their animation, and the rendering of the corresponding 3D scene. Student will be invited to practice through programming exercises in OpenGL.
UE Introduction to mobile robotics
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The aim of this course is to give an introduction to software developments for mobile robotics applications and internet of things. The course is decidedly practical with several labs and a project on real robots. It uses "learning by doing" and "learning by project" approaches.
At first, the basic concepts of mobile robotics (sensors, actuators, perception, decision, action ...) and Internet of Things are presented and directly implemented on real robots to realize a software prototype of "follow me" by a small mobile robot.
In a second step, in a project, the basic concepts are deepened during the realization of a complete application of mobile robotics including Internet of Things, for example: a mobile robot "coffee dispenser", a robot "patroller", a robot "guide visit" ...
Knowledge of C / C ++ or python is essential.
The course outline can be found at :
http://lig-membres.imag.fr/aycard/html/Enseignement/M1/Robotics2/index.html
Course illustrations can be found at :
http://lig-membres.imag.fr/aycard/html/Projects/Robair/robair.html
UE Introduction to cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
To acquire the main theoretical and practical notions of modern cryptography: from notions in algorithmic complexity and information theory, to a general overview on the main algorithms and protocols in symmetric and asymmetric cryptography.
UE Parallel Algorithms and Programming
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.
This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.
The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions OpenMP and MPI.
----------------------
L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).
Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.
Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.
UE Fundamental Computer Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
This module introduces the fundamental aspects of computer science and particularly focuses on the notions of computability and complexity. Regarding computability theory, it presents the basic formal model to reason on the notion of computation, i.e., the Turing machine and its variants. Based on this computational model, the notions of decidable and semi-decidable languages will be defined, while the existence of languages which are undecidable will be shown. Regarding complexity theory, it presents the main classes of time complexity such as P, NP, as well as the notion of NP-completeness. Several problems in the domains of propositional logic, graphs and scheduling are studied with respect to their time complexity by proposing either polynomial-time algorithms to solve them efficiently or polynomial-time reductions to prove their hardness.
Course opened in 2018/2019
UE Foundations of Data Science
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Embodying the shift: digital in the age of low-tech
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Algebraic Algorithms for Cryptology
Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Process Engineering
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. BPM has become a strategic activity in all organizations around the world because of its potential to increase profit margins and reduce operating costs. This course aims at providing an overview of some key existing solutions for modelling and developing processes, while emphasizing and discussing open research problems in this area.
More specifically, this course focuses on three main parts:
- The first part (Process Modelling) introduces the Business Process Model and Notation (BPMN), which is the ISO standard graphical notation used for modelling business processes. This part also shows how to use existing frameworks (such as the bonita studio) to support the development of BPMN processes along with their life-cycle (design, configuration, execution and control).
- The second part (Process Mining) presents a family of techniques that support the analysis of business processes based on event logs. Process mining applies specialized data mining algorithms on event log data in order to identify trends and patterns contained in these event logs. Process mining aims at improving process efficiency and understanding of processes.
- The third part (Process Analysis) introduces formal models for defining the semantics of process executions. These formal models allow the analysis of the processes using simulation and verification techniques for optimizing resource allocation or controlling the evolution of the business processes.
Program:
- Process Modelling (15h)
- Introduction to Business Process Management (BPM)
- Business Process Model and Notation (BPMN)
- Process perspectives (collaborations and choreographies)
- BPM life-cycle
- Process Mining (9h)
- Motivations & positioning of process mining
- Types of process mining (discovery, conformance & enhancement)
- Process mining methods & tools
- Process Analysis (12h)
- Formal models
- Functional and quantitative analysis
- Resource allocation
- Process comparison and evolution
UE Advanced networking
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The purpose of the lecture is to give you more knowledge and skills in the domain of computer networking. Both theoretical and practical knowledge will be acquired.
Content:
- Routing:
- at Layer 2 - Spanning Tree Protocol
- internal routing (RIP, OSPF)
- external routing (BGP)
- Congestion control:
- fairness
- AIMD algorithm
- TCP variants (Reno, Cubic, BBR)
- Quality of Service:
- token bucket, scheduling
- MPLS
- Case study
- Next Generation Data Center Architecture
UE Advanced parallel system
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Today, parallel computing is omnipresent across a large spectrum of computing platforms, from processor cores or GPUs up to Supercomputers and Cloud platforms. The largest Supercomputers gather millions of processing units and are heading towards Exascale (a quintillion or 10^18 flops - http://top500.org). If parallel processing was initially targeting scientific computing, it is now part of many domains like Big Data analytics and Deep Learning. But making an efficient use of these parallel resources requires a deep understanding of architectures, systems, parallel programming models, and parallel algorithms.
Overview:
The class is organized around weekly lectures, discussions and help time. The presented materials that will be available each week on the class web page. To get practical experience and good understanding of the main concepts the students are expected to develop short programs and experiments. Students will also have to prepare a presentation or a written report on research articles. Students will have access to Grid'5000 parallel machines and the SimGrid simulator for experiments.
This class is organized around 2 main blocks:
Overview of parallel systems:
-
- Introduction to parallelism from GPU to supercomputers.
- Hardware and system considerations for parallel processing (multi-core architectures, process and thread handling, cache efficiency, remote data access, atomic instructions)
- Parallel programming: message passing, one-sided communications, task-based programming, work stealing based runtimes (MPI, Cilk, TBB, OpenMP).
- Modeling of parallel programs and platforms. Locality, granularity, memory space, communications.
- Parallel algorithms, collective communications, topology aware algorithms.
- Scheduling: list algorithms; partitioning techniques. Application to resource management (PBS, LSF, SGE, OAR).
- Large scale scientific computing: parallelization of Lagrangian and Eulerian solvers, parallel data analytics and scientific visualization.
- AI and HPC: how parallelism is used at different levels to accelerate machine learning and deep learning using supercomputers.
Functional parallel programming:
We propose to study a clean and modern approach to the design of parallel algorithms: functional programming. Functional languages are known to provide a different and cleaner programming experience by allowing a shift of focus from "how to do" on "what to do".
If you take for example a simple dot product between two vectors. In c language you might end up with:
unsigned int n = length(v1); double s = 0.0; for (unsigned int i = 0 ; i < n ; i++) { s += v1[i] * v2[i]; }
In python however you could write:
return sum(e1*e2 for e1, e2 in zip(v1, v2))
You can easily notice that the c language code displayed here is highly sequential with a data-flow dependence on the i variable. It intrinsically contains an ordering of operations because it tells you how to do things to obtain the final sum. On the other end the python code exhibits no dependencies at all. It does not tell you how to compute the sum but just what to compute: the sum of all products.
In this course we will study how to express parallel operations in a safe and performant way. The main point is to study parallel iterators and their uses but we will also consider classical parallel programming schemes like divide and conquer. We will both study the theoretical complexity of different parallel algorithms and practice programming and performance analysis on real machines.
All applications will be developed in the RUST programming language around the Rayon parallel programming library.
No previous knowledge of the rust language is required as we will introduce it gradually during the course. You need however to be proficient in at least one low level language (typically C or C++)
UE Fundamentals of Data Processing and Distributed Knowledge
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Modern computing increasingly takes advantage of large amounts of distributed data and knowledge. This is grounded on theoretical principles borrowing to several fields of computer science such as programming languages, data bases, structured documentation, logic and artificial intelligence. The goal of this course is to present some of them, the problems that they solve and those that they uncover. The course considers two perspectives on data and knowledge: interpretation (what they mean), analysis (what they reveal) and processing (how can they be traversed efficiently and transformed safely).
The course offers a semantic perspective on distributed knowledge. Distributed knowledge may come from data sources using different ontologies on the semantic web, autonomous software agents learning knowledge or social robots interacting with different interlocutors. The course adopts a synthetic view on these. It first presents principles of the semantics of knowledge representation (RDF, OWL). Ontology alignments are then introduced to reduce the heterogeneity between distributed knowledge and their exploitation for answering federated queries is presented. A practical way for cooperating agents to evolve their knowledge is cultural knowledge evolution that is then illustrated. Finally, the course defines dynamic epistemic logics as a way to model the communication of knowledge and beliefs.
The course also introduces a perspective on programming language foundations, algorithms and tools for processing structured information, and in particular tree-shaped data. It consists in an introduction to relevant theoretical tools with an application to NoSQL (not only SQL) and XML technologies in particular. Theories and algorithmic toolboxes such as fundamentals of tree automata and tree logics are introduced, with applications to practical problems found for extracting information. Applications include efficient query evaluation, memory-efficient validation of document streams, robust type-safe processing of documents, static analysis of expressive queries, and static type-checking of programs manipulating structured information. The course also aims at presenting challenges, important results, and open issues in the area.
UE Scientific methodology regulatory and ethical data usage
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course aims to provide the fundamental basis for a sound scientific methodology of experimental evaluation in computer science. This lecture emphasizes on methodological aspects of measurement and on the statistics needed to analyze computer systems, human-computer interaction systems, and machine learning systems. We first sensibilize the audience to reproducibility issues related to empirical research in computer science as well as to ethical and scientific integrity aspects. Then we present tools that help address the aforementioned issues and we give the audience the basis of probabilities and statistics required to develop sound experiment designs. The content of the lecture is therefore both theoretical and practical, illustrated by a lot of case studies and practical sessions. The goal is not to provide analysis recipes or techniques that researchers can blindly apply but to make students develop critical thinking and understand some simple (and possibly not-so-simple) tools so that they can both readily use and explore later on.
UE Robotics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
A robot is a mechatronic system with perception, decision and action capabilities design to perform in an autonomous way different tasks in the real world. Whatever the robot (e.g. mobile robot, industrial arm, mobile manipulator) and the task that it has been assigned, the robot will have to move (move its whole body or a part of its body, e.g. arm, hand). Accordingly, motion autonomy is an essential skill for a robot. To achieve motion autonomy, it is required to solve a number of challenging problems in areas as diverse as sensor data processing, situation understanding, motion planning, obstacle avoidance and control. The purpose of the course is to present the main concepts, tools and techniques that Roboticists have developed in the past fifty years in order to address these challenges. The course has three parts that focus on different aspects: The first part is about robot state estimation and world modeling. It presents the most popular approaches to perform state estimation. The basic equations of the Bayes filter are derived first. Then, the Extended Kalman Filter is introduced. These methods are then used to explore the following fundamental estimation problems: 1) robot localization, 2) Simultaneous Localization and Mapping (SLAM), 3) cooperative localization, and 4) simultaneous localization and self-calibration. The structural properties of these problems are studied. In particular, it is shown how the computational complexity scales with the size of the state. Finally, more theoretical aspects related to estimation with special focus on state observability are discussed. The second part focuses on the decision-making aspects. Motion planning is addressed first in the seminal configuration space framework, the main configuration space-based motion planning techniques are reviewed. Then, to deal with the uncertainty of the real world and the discrepancy between the world and its model, reactive collision avoidance techniques are presented. Finally, motion safety is formally studied thanks to the Inevitable Collision State concept. The third part is an introduction to control theory for articulated robots. The objectives are to understand basic concepts about the kinematics and dynamics of articulated robots and basic control theory in order to approach classical control methods, as well as a few selected advanced topics. The kinematics of articulated robots is introduced first, covering advanced topics such as singularities, hierarchies of objectives, inequality constraints. A brief reminder about Newton, Euler and Lagrangian equations of motion as well as basic Lyapunov stability theory is also provided before discussing standard motion control schemes such as Proportional-Derivative, Computed Torque, Operational Space and Task Function approaches. Advanced topics such as space robots, biped robots, Viability theory and optimal control are also touched.
UE Computer Graphics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This is an advanced lecture in Computer Graphics. It is divided in the three topics Geometric Modeling, Animation and Rendering. In Geometric Modeling we focus on the theory behind subdivision curves and surfaces. We present the main results for proving the convergence of a subdivision scheme and the smoothness of its limit. We provide practical recipes for applying these theoretical results to subdivision schemes. We illustrate the results in a homework in which students program subdivision curves and visualize their smoothness. The animation part is composed of 12 lessons presented during 4 lectures. Each lesson focuses on one important concept in computer animation, one of the 12 principles of traditional animation, and one research paper. This includes Keyframe animation, Forward and inverse kinematics, Motion planning, Rigging and skinning, and Mass spring systems. The rendering part focus on how to display a picture on the screen, so that it looks pleasing for the viewer. The topics presented include Materials and BRDFs, Shadow and shadow maps, Global illumination techniques, Monte-carlo ray-tracing , Level-of-Detail techniques and Expressive rendering. The main rendering techniques are implemented by the students in three homeworks.
UE Multi-agent systems
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces the field of MAS, various theoretical aspects (agent architectures, reasoning, interactions, game theory, social choice, etc), as well as practical applications from recent research. The focus is mostly on agent-based social simulation, and how to integrate psychological aspects in agents (so-called “human factors”: emotions, biases…) to make them more human-like and realistic. Applications discussed include epidemics modelling, computational economy, crisis management, urban planning, serious games, etc. The practical part of the course comprises several tutorials with various agent-based modelling platforms (in particular GAMA and Netlogo), scientific papers discussions, and analysis and/or extension of existing models.
UE Information vizualisation
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Interactive Information Visualization (InfoVis)
InfoVis is the study of interactive graphical representations of abstract data (e.g. graphs linking people in social networks, series of stock options values evolving over time).
Graphical representations are a powerfull way to leverage the human perceptual capabilities to allow the user to explore and make sense of abstract data, and also to expose findings and convey ideas.
But to be efficient, a visualization has to be designed using knowledge about the human visual perception, the characteristics of the data, the kind of task that will be performed on those data.
The aim of this course is to provide the keys, both theoretical and practical, to build usable and useful interactive visualizations.
program summary:
- foundations: human visual perception, graphical variables, data types, the visualization pipeline.
- linked data: tree and graph visualization
- tabular data: time series and spatial data visualization
- dealing with large data: aggregation, multiple views, interaction
- validating visualization: visualization tasks, evaluation
UE Computer vision
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course provides an introduction to computer vision. It concerns techniques for constructing systems that observe and recognize objects, scenes and activities. It provides training in tools and techniques and models for: the image formation process, color and illumination, image signal processing, multi-scale image description, image analysis, object detection, recognition and tracking, motion capture, modeling and understanding, image matching, multi-camera systems, and 3D reconstruction and modeling.
UE Cloud Computing, from infrastructure to applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course provides an overview of cloud computing principles, building blocks and applications.
Over the past 15 years, the emergence of cloud computing infrastructures has fundamentally impacted the way to design and deploy software, in most application domains. At the core of IT infrastructures, cloud computing is today the main platform for implementing and deploying robust, scalable, potentially geo-distributed, elastic applications. Together with DevOps methods, it allows IT companies to rapidly deliver reliable software.
The course studies :
- The low-level mechanisms enabling the cost-efficiency, performance, scalability and resilience of cloud infrastructures,
- The software design principles involved in the construction of (distributed) cloud applications,
- The cloud services facilitating the implementation of cloud-native applications.
Through lectures, practical sessions, and the study of recent research publications (from academia and industry), students will learn about the core principles and usage of:
- Virtualization technologies (hypervisors, kernels, and containers) enabling flexible, efficient, safe and secure hosting of code and data on a shared hardware and software infrastructure;
- The fundamental aspects of cloud infrastructures, services, and design patterns for the construction of efficient, scalable and resilient distributed applications;
- Microservice architectures, allowing organizations to design, develop and manage complex software services in an extremely modular way.
UE Large-scale data management and distributed systems
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is divided in two complementary parts: distributed systems and data management.
Part 1: Distributed systems
Summary
Distributed systems are omnipresent. They are formed by a set of computing devices, interconnected by a network, that collaborate to perform a task. Distributed systems execute on a wide range of infrastructures: from Cloud datacenters to wireless sensor networks.
The goal of this course is to study the main algorithms used at the core of Distributed systems. These algorithms must be efficient and robust. An algorithm is efficient when it sustains a high level of performance. Performance can be measured using various metrics such as throughput, latency, response time. An algorithm is robust when it is able to operate despite the occurrence of various types of (network and/or machine) and attacks.
Content
During the course, we will cover several topics that are listed below:
- Event-driven formalisms for distributed algorithms
- Basic abstractions: processes, links
- Failure detector algorithms
- Leader election algorithms
- Broadcasting algorithms
- Distributed shared memory algorithms
- Consensus algorithms
- Epidemic algorithms
- Performance models for distributed systems
Part 2: Data management
Summary
The ability to process large amounts of data is key to both industry and research today. As computing systems are getting larger, they generate more data that need to be analyzed to extract knowledge.
Data management infrastructures are growing fast, leading to the creation of large data centers and federations of data centers. Suitable software infrastructures should be used to store and process data in this context. Big Data software systems are built to take advantage of a large set of distributed resources to efficiently process massive amounts of data while being able to cope with failures that are frequent at such a scale.
In addition to the amount of data to be processed, the other main challenge that such Big Data systems need to deal with is time. For some use cases, the earlier the results of a data analysis is obtained, the more valuable the result is. Some Big Data systems especially target stream processing where data are processed in real time.
Through lectures and practical sessions, this course provides an overview of the software systems that are used to store and process data at large scale. The following topics will be covered:
- Map-Reduce programming model
- In-memory data processing
- Stream processing (data movement and processing)
- Large scale distributed data storage (distributed file systems, NoSQL databases)
Throughout the lectures, the challenges associated with performance and fault tolerance will also be discussed.
UE GPU Computing
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. The students will learn to identify the parallel pattern in numerical algorithm. The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using Graphic Processing Unit. In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.
- Introduction to parallelism
- Introduction to general context of parallelism
- Models of parallel programming
- Description of various model of parallelism
- Paradigm of parallelism
- Templates of parallelism
- Parallel architectures
- Programming tools: Cuda
UE From Basic Machine Learning models to Advanced Kernel Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Statistical learning is about the construction and study of systems that can automatically learn from data. With the emergence of massive datasets commonly encountered today, the need for powerful machine learning is of acute importance. Examples of successful applications include effective web search, anti-spam software, computer vision, robotics, practical speech recognition, and a deeper understanding of the human genome. This course gives an introduction to this exciting field. In the first part, we will introduce basic techniques such as logistic regression, multilayer perceptrons, nearest neighbor approaches, both from a theoretical and methodological point of views. In the second part, we will focus on more advanced techniques such as kernel methods, which is a versatile tool to represent data, in combination with (un)supervised learning techniques that are agnostic to the type of data that is learned from. The learning techniques that will be covered include regression, classification, clustering and dimension reduction. We will cover both the theoretical underpinnings of kernels, as well as a series of kernels that are important in practical applications. Finally we will touch upon topics of active research, such as large-scale kernel methods and the use of kernel methods to develop theoretical foundations of deep learning models.
UE Advanced Machine Learning: Applications to Vision, Audio and Text
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is split into two parts. During the first part, a wide range of machine learning algorithms will be discussed. The second part will focus on deep learning, and presentations more applied to the three data modalities and their combinations. The following is a non-exhaustive list of topics discussed:
- Computing dot products in high dimension & Page Rank
- Matrix completion/factorization (Stochastic Gradient Descent, SVD)
- Monte-carlo, MCMC methods: Metropolis-Hastings and Gibbs Sampling
- Unsupervised classification: Partitionning, Hierarchical, Kernel and Spectral clustering
- Alignment and matching algorithms (local/global, pairwise/multiple), dynamic programming, Hungarian algorithm,…
- Introduction to Deep Learning concepts, including CNN, RNN, Metric learning
- Attention models: Self-attention, Transformers
- Auditory data: Representation, sound source localisation and separation.
- Natural language data: Representation, Seq2Seq, Word2Vec, Machine Translation, Pre-training strategies, Benchmarks and evaluation
- Visual data: image and video representation, recap of traditional features, state-of-the-art neural architectures for feature extraction
- Object detection and recognition, action recognition.
- Multimodal learning: audio-visual data representation, multimedia retrieval.
- Generative Adversarial Networks: Image-image translation, conditional generation
UE Natural Language Processing & Information Retrieval
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The automatic processing of languages, whether written or spoken, has always been an essential part of artificial intelligence. This domain has encouraged the emergence of new uses thanks to the arrival in the industrial field of many technologies from research (spell-checkers, speech synthesis, speech recognition, machine translation, …). In this course, we present the most recent advances and challenges for research. We will discuss discourse analysis whether written or spoken, text clarification, automatic speech transcription and automatic translation, in particular recent advances with neural models.
Information access and retrieval is now ubiquitous in everyday life through search engines, recommendation systems, or technological and commercial surveillance, in many application domains either general or specific like health for instance. In this course, we will cover Information retrieval basics, information retrieval evaluation, models for information retrieval, medical information retrieval, and deep learning for multimedia indexing and retrieval
UE Information Security
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Course content
Part 1: Access Control, or how to prevent unauthorized people from entering or accessing a system?
This part deals with:
- Cryptology for authentication and trust;
- security needs : confidentiality, availability, integrity, non-repudiation (CAI/DICP);
- cryptology primitives : private and public key ; trusted infrastructure (PKI and ledgers).
- zero-knowledge protocols; secret sharing and multiparty computation / or Practical work with Open SSL
- Access control mechanisms (MAC, DAC, RBAC, ABAC) and their implementations
- The detection and remediation of security breaches such as intrusions and insider attacks
- The deployment of control filters in applications and proxies.
The presented approach is built on the model-driven security paradigm (MDS). It refers to the process of modeling security requirements at a high level of abstraction, and generating technical security implementations. Security models are transformed into enforceable security rules including the run-time security management (e.g. entitlements/authorisations). Three labs are planned:
- B4MSecure: we will apply a formal language with animation and model-checking facilities to identify security breaches in Access Control policies.
- Snort: in this practical session you will set a local environment to simulate two machines, the target machine and the attacker. You will learn how to create firewall rules, monitor your network and how to react when an attack is detected.
- Metasploit: you will discover technology intelligence for vulnerabilities through a practical session where you will reproduce an exploit to hack and take control over a web-based server.
Part 2: Overview of modern attacks on systems, protocols, and networks and countermeasures
This part is devoted to modern attacks carried out on the Internet scale, in particular attacks on the DNS system (Domain Name System), such as cache or zone poisoning attacks, reflection and amplification of DDoS attacks (Distributed Denial of Service), IP spoofing - the root cause of DDoS attacks, botnets (e.g., Mirai), domain generation algorithms used for command-and-control communications, modern malware (e.g., Emotet trojan, Avalanche), spam, phishing, and business email compromise (BEC) scams.
The module will discuss preventative measures and security protocols to fight modern attacks, such as DDoS protection services, IP source address validation (SAV) known as BCP 38, Sender Policy Framework, and DMARC protocols as the first line of defense against email spoofing and BEC fraud, and DNSSEC to prevent DNS manipulation attacks. It will also discuss large-scale vulnerability measurements (a case study of the zone poisoning attack) and the challenges of deploying current security technologies by the system and network operators.
This part will be concluded with a practical team assignment in which students will be divided into groups and will have to configure a secure system in a real-world environment. The goal is to secure their system against the various types of discussed attacks and exploit other groups' systems.
UE Mathematical Foundations of Machine Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Machine Learning is one of the key areas of Artificial Intelligence and it concerns the study and the development of quantitative models that enables a computer to perform tasks without being explicitly programmed to do them. Learning in this context is hence to recognize complex forms and to make intelligent decisions. Given all existing entries, the difficulty of this task lies in the fact that all possible decisions is usually very complex to enumerate. To get around that, machine learning algorithms are designed in order to gain knowledge on the problem to be addressed based on a limited set of observed data extracted from this problem. To illustrate this principle, consider the supervised learning task, where the prediction function, which infers a predicted output for a given input, is learned over a finite set of labeled training examples, where each instance of this set is a pair constituted of a vector characterizing an observation in a given vector space, and an associated desired response for that instance (also called desired output). After the training step, the function returned by the algorithm is sought to give predictions on new examples, which have not been used in the learning process, with the lowest probability of error. The underlying assumption in this case is that the examples are, in general, representative of the prediction problem on which the function will be applied. We expect that the learning algorithm produces a function that will have a good generalization performance and not the one that is able to perfectly reproduce the outputs associated to the training examples. Guarantees of learnability of this process were studied in the theory of machine learning largely initiated by Vladimir Vapnik. These guarantees are dependent on the size of the training set and the complexity of the class of functions where the algorithm searches for the prediction function. Emerging technologies, particularly those related to the development of Internet, reshaped the domain of machine learning with new learning frameworks that have been studied to better tackle the related problems. One of these frameworks concerns the problem of learning with partially labeled data, or semi-supervised learning, which development is motivated by the effort that has to be made to construct labeled training sets for some problems, while large amount of unlabeled data can be gathered easily for these problems. The inherent assumption, in this case, is that unlabeled data contain relevant information about the task that has to be solved, and that it is a natural idea to try to extract this information so as to provide the learning algorithm more evidence. From these facts were born a number of works that intended to use a small amount of labeled data simultaneously with a large amount of unlabeled data to learn a prediction function.
The intent of this course is to propose a broad introduction to the field of Machine Learning, including discussions of each of the major frameworks, supervised, unsupervised, semi-supervised and reinforcement learning.
UE Statistical learning: from parametric to nonparametric models
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course is related to mathematical and statistical methods which are very used in supervised learning.
It contains two parts.
In the first part, we will focus on parametric modeling. Starting with the classical linear regression, we will describe several families of estimators that work when considering high-dimensional data, where the classical least square estimator does not work. Model selection and model assessment will particularly be described.
In the second part, we shall focus on nonparametric methods. We will present several tools and ingredients to predict the future value of a variable. We shall focus on methods for non parametric regression from independent to correlated training dataset. We shall also study some methods to avoid the overfitting in supervised learning.
This course will be followed by practical sessions with the R software.
UE Refresh courses
Niveau d'étude
Bac +5
ECTS
0 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cours de remise à niveau.
UE Human Computer Interaction
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Next Generation Software Development
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Safety Critical Systems: from design to verification
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Research project
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE GS_MSTIC_Ethique de la recherche
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE est obligatoire pour les étudiant.e.s inscrit.e.s dans le PT MSTIC.
Elle est constituée d'une projet tutoré et d'un MOOC consacré à l'éthique de la Science.
UE Process Engineering
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. BPM has become a strategic activity in all organizations around the world because of its potential to increase profit margins and reduce operating costs. This course aims at providing an overview of some key existing solutions for modelling and developing processes, while emphasizing and discussing open research problems in this area.
More specifically, this course focuses on three main parts:
- The first part (Process Modelling) introduces the Business Process Model and Notation (BPMN), which is the ISO standard graphical notation used for modelling business processes. This part also shows how to use existing frameworks (such as the bonita studio) to support the development of BPMN processes along with their life-cycle (design, configuration, execution and control).
- The second part (Process Mining) presents a family of techniques that support the analysis of business processes based on event logs. Process mining applies specialized data mining algorithms on event log data in order to identify trends and patterns contained in these event logs. Process mining aims at improving process efficiency and understanding of processes.
- The third part (Process Analysis) introduces formal models for defining the semantics of process executions. These formal models allow the analysis of the processes using simulation and verification techniques for optimizing resource allocation or controlling the evolution of the business processes.
Program:
- Process Modelling (15h)
- Introduction to Business Process Management (BPM)
- Business Process Model and Notation (BPMN)
- Process perspectives (collaborations and choreographies)
- BPM life-cycle
- Process Mining (9h)
- Motivations & positioning of process mining
- Types of process mining (discovery, conformance & enhancement)
- Process mining methods & tools
- Process Analysis (12h)
- Formal models
- Functional and quantitative analysis
- Resource allocation
- Process comparison and evolution
UE Advanced networking
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The purpose of the lecture is to give you more knowledge and skills in the domain of computer networking. Both theoretical and practical knowledge will be acquired.
Content:
- Routing:
- at Layer 2 - Spanning Tree Protocol
- internal routing (RIP, OSPF)
- external routing (BGP)
- Congestion control:
- fairness
- AIMD algorithm
- TCP variants (Reno, Cubic, BBR)
- Quality of Service:
- token bucket, scheduling
- MPLS
- Case study
- Next Generation Data Center Architecture
UE Advanced parallel system
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Today, parallel computing is omnipresent across a large spectrum of computing platforms, from processor cores or GPUs up to Supercomputers and Cloud platforms. The largest Supercomputers gather millions of processing units and are heading towards Exascale (a quintillion or 10^18 flops - http://top500.org). If parallel processing was initially targeting scientific computing, it is now part of many domains like Big Data analytics and Deep Learning. But making an efficient use of these parallel resources requires a deep understanding of architectures, systems, parallel programming models, and parallel algorithms.
Overview:
The class is organized around weekly lectures, discussions and help time. The presented materials that will be available each week on the class web page. To get practical experience and good understanding of the main concepts the students are expected to develop short programs and experiments. Students will also have to prepare a presentation or a written report on research articles. Students will have access to Grid'5000 parallel machines and the SimGrid simulator for experiments.
This class is organized around 2 main blocks:
Overview of parallel systems:
-
- Introduction to parallelism from GPU to supercomputers.
- Hardware and system considerations for parallel processing (multi-core architectures, process and thread handling, cache efficiency, remote data access, atomic instructions)
- Parallel programming: message passing, one-sided communications, task-based programming, work stealing based runtimes (MPI, Cilk, TBB, OpenMP).
- Modeling of parallel programs and platforms. Locality, granularity, memory space, communications.
- Parallel algorithms, collective communications, topology aware algorithms.
- Scheduling: list algorithms; partitioning techniques. Application to resource management (PBS, LSF, SGE, OAR).
- Large scale scientific computing: parallelization of Lagrangian and Eulerian solvers, parallel data analytics and scientific visualization.
- AI and HPC: how parallelism is used at different levels to accelerate machine learning and deep learning using supercomputers.
Functional parallel programming:
We propose to study a clean and modern approach to the design of parallel algorithms: functional programming. Functional languages are known to provide a different and cleaner programming experience by allowing a shift of focus from "how to do" on "what to do".
If you take for example a simple dot product between two vectors. In c language you might end up with:
unsigned int n = length(v1); double s = 0.0; for (unsigned int i = 0 ; i < n ; i++) { s += v1[i] * v2[i]; }
In python however you could write:
return sum(e1*e2 for e1, e2 in zip(v1, v2))
You can easily notice that the c language code displayed here is highly sequential with a data-flow dependence on the i variable. It intrinsically contains an ordering of operations because it tells you how to do things to obtain the final sum. On the other end the python code exhibits no dependencies at all. It does not tell you how to compute the sum but just what to compute: the sum of all products.
In this course we will study how to express parallel operations in a safe and performant way. The main point is to study parallel iterators and their uses but we will also consider classical parallel programming schemes like divide and conquer. We will both study the theoretical complexity of different parallel algorithms and practice programming and performance analysis on real machines.
All applications will be developed in the RUST programming language around the Rayon parallel programming library.
No previous knowledge of the rust language is required as we will introduce it gradually during the course. You need however to be proficient in at least one low level language (typically C or C++)
UE Fundamentals of Data Processing and Distributed Knowledge
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Modern computing increasingly takes advantage of large amounts of distributed data and knowledge. This is grounded on theoretical principles borrowing to several fields of computer science such as programming languages, data bases, structured documentation, logic and artificial intelligence. The goal of this course is to present some of them, the problems that they solve and those that they uncover. The course considers two perspectives on data and knowledge: interpretation (what they mean), analysis (what they reveal) and processing (how can they be traversed efficiently and transformed safely).
The course offers a semantic perspective on distributed knowledge. Distributed knowledge may come from data sources using different ontologies on the semantic web, autonomous software agents learning knowledge or social robots interacting with different interlocutors. The course adopts a synthetic view on these. It first presents principles of the semantics of knowledge representation (RDF, OWL). Ontology alignments are then introduced to reduce the heterogeneity between distributed knowledge and their exploitation for answering federated queries is presented. A practical way for cooperating agents to evolve their knowledge is cultural knowledge evolution that is then illustrated. Finally, the course defines dynamic epistemic logics as a way to model the communication of knowledge and beliefs.
The course also introduces a perspective on programming language foundations, algorithms and tools for processing structured information, and in particular tree-shaped data. It consists in an introduction to relevant theoretical tools with an application to NoSQL (not only SQL) and XML technologies in particular. Theories and algorithmic toolboxes such as fundamentals of tree automata and tree logics are introduced, with applications to practical problems found for extracting information. Applications include efficient query evaluation, memory-efficient validation of document streams, robust type-safe processing of documents, static analysis of expressive queries, and static type-checking of programs manipulating structured information. The course also aims at presenting challenges, important results, and open issues in the area.
UE Scientific methodology regulatory and ethical data usage
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course aims to provide the fundamental basis for a sound scientific methodology of experimental evaluation in computer science. This lecture emphasizes on methodological aspects of measurement and on the statistics needed to analyze computer systems, human-computer interaction systems, and machine learning systems. We first sensibilize the audience to reproducibility issues related to empirical research in computer science as well as to ethical and scientific integrity aspects. Then we present tools that help address the aforementioned issues and we give the audience the basis of probabilities and statistics required to develop sound experiment designs. The content of the lecture is therefore both theoretical and practical, illustrated by a lot of case studies and practical sessions. The goal is not to provide analysis recipes or techniques that researchers can blindly apply but to make students develop critical thinking and understand some simple (and possibly not-so-simple) tools so that they can both readily use and explore later on.
UE Robotics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
A robot is a mechatronic system with perception, decision and action capabilities design to perform in an autonomous way different tasks in the real world. Whatever the robot (e.g. mobile robot, industrial arm, mobile manipulator) and the task that it has been assigned, the robot will have to move (move its whole body or a part of its body, e.g. arm, hand). Accordingly, motion autonomy is an essential skill for a robot. To achieve motion autonomy, it is required to solve a number of challenging problems in areas as diverse as sensor data processing, situation understanding, motion planning, obstacle avoidance and control. The purpose of the course is to present the main concepts, tools and techniques that Roboticists have developed in the past fifty years in order to address these challenges. The course has three parts that focus on different aspects: The first part is about robot state estimation and world modeling. It presents the most popular approaches to perform state estimation. The basic equations of the Bayes filter are derived first. Then, the Extended Kalman Filter is introduced. These methods are then used to explore the following fundamental estimation problems: 1) robot localization, 2) Simultaneous Localization and Mapping (SLAM), 3) cooperative localization, and 4) simultaneous localization and self-calibration. The structural properties of these problems are studied. In particular, it is shown how the computational complexity scales with the size of the state. Finally, more theoretical aspects related to estimation with special focus on state observability are discussed. The second part focuses on the decision-making aspects. Motion planning is addressed first in the seminal configuration space framework, the main configuration space-based motion planning techniques are reviewed. Then, to deal with the uncertainty of the real world and the discrepancy between the world and its model, reactive collision avoidance techniques are presented. Finally, motion safety is formally studied thanks to the Inevitable Collision State concept. The third part is an introduction to control theory for articulated robots. The objectives are to understand basic concepts about the kinematics and dynamics of articulated robots and basic control theory in order to approach classical control methods, as well as a few selected advanced topics. The kinematics of articulated robots is introduced first, covering advanced topics such as singularities, hierarchies of objectives, inequality constraints. A brief reminder about Newton, Euler and Lagrangian equations of motion as well as basic Lyapunov stability theory is also provided before discussing standard motion control schemes such as Proportional-Derivative, Computed Torque, Operational Space and Task Function approaches. Advanced topics such as space robots, biped robots, Viability theory and optimal control are also touched.
UE Computer Graphics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This is an advanced lecture in Computer Graphics. It is divided in the three topics Geometric Modeling, Animation and Rendering. In Geometric Modeling we focus on the theory behind subdivision curves and surfaces. We present the main results for proving the convergence of a subdivision scheme and the smoothness of its limit. We provide practical recipes for applying these theoretical results to subdivision schemes. We illustrate the results in a homework in which students program subdivision curves and visualize their smoothness. The animation part is composed of 12 lessons presented during 4 lectures. Each lesson focuses on one important concept in computer animation, one of the 12 principles of traditional animation, and one research paper. This includes Keyframe animation, Forward and inverse kinematics, Motion planning, Rigging and skinning, and Mass spring systems. The rendering part focus on how to display a picture on the screen, so that it looks pleasing for the viewer. The topics presented include Materials and BRDFs, Shadow and shadow maps, Global illumination techniques, Monte-carlo ray-tracing , Level-of-Detail techniques and Expressive rendering. The main rendering techniques are implemented by the students in three homeworks.
UE Multi-agent systems
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces the field of MAS, various theoretical aspects (agent architectures, reasoning, interactions, game theory, social choice, etc), as well as practical applications from recent research. The focus is mostly on agent-based social simulation, and how to integrate psychological aspects in agents (so-called “human factors”: emotions, biases…) to make them more human-like and realistic. Applications discussed include epidemics modelling, computational economy, crisis management, urban planning, serious games, etc. The practical part of the course comprises several tutorials with various agent-based modelling platforms (in particular GAMA and Netlogo), scientific papers discussions, and analysis and/or extension of existing models.
UE Information vizualisation
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Interactive Information Visualization (InfoVis)
InfoVis is the study of interactive graphical representations of abstract data (e.g. graphs linking people in social networks, series of stock options values evolving over time).
Graphical representations are a powerfull way to leverage the human perceptual capabilities to allow the user to explore and make sense of abstract data, and also to expose findings and convey ideas.
But to be efficient, a visualization has to be designed using knowledge about the human visual perception, the characteristics of the data, the kind of task that will be performed on those data.
The aim of this course is to provide the keys, both theoretical and practical, to build usable and useful interactive visualizations.
program summary:
- foundations: human visual perception, graphical variables, data types, the visualization pipeline.
- linked data: tree and graph visualization
- tabular data: time series and spatial data visualization
- dealing with large data: aggregation, multiple views, interaction
- validating visualization: visualization tasks, evaluation
UE Computer vision
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course provides an introduction to computer vision. It concerns techniques for constructing systems that observe and recognize objects, scenes and activities. It provides training in tools and techniques and models for: the image formation process, color and illumination, image signal processing, multi-scale image description, image analysis, object detection, recognition and tracking, motion capture, modeling and understanding, image matching, multi-camera systems, and 3D reconstruction and modeling.
UE Cloud Computing, from infrastructure to applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course provides an overview of cloud computing principles, building blocks and applications.
Over the past 15 years, the emergence of cloud computing infrastructures has fundamentally impacted the way to design and deploy software, in most application domains. At the core of IT infrastructures, cloud computing is today the main platform for implementing and deploying robust, scalable, potentially geo-distributed, elastic applications. Together with DevOps methods, it allows IT companies to rapidly deliver reliable software.
The course studies :
- The low-level mechanisms enabling the cost-efficiency, performance, scalability and resilience of cloud infrastructures,
- The software design principles involved in the construction of (distributed) cloud applications,
- The cloud services facilitating the implementation of cloud-native applications.
Through lectures, practical sessions, and the study of recent research publications (from academia and industry), students will learn about the core principles and usage of:
- Virtualization technologies (hypervisors, kernels, and containers) enabling flexible, efficient, safe and secure hosting of code and data on a shared hardware and software infrastructure;
- The fundamental aspects of cloud infrastructures, services, and design patterns for the construction of efficient, scalable and resilient distributed applications;
- Microservice architectures, allowing organizations to design, develop and manage complex software services in an extremely modular way.
UE Large-scale data management and distributed systems
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is divided in two complementary parts: distributed systems and data management.
Part 1: Distributed systems
Summary
Distributed systems are omnipresent. They are formed by a set of computing devices, interconnected by a network, that collaborate to perform a task. Distributed systems execute on a wide range of infrastructures: from Cloud datacenters to wireless sensor networks.
The goal of this course is to study the main algorithms used at the core of Distributed systems. These algorithms must be efficient and robust. An algorithm is efficient when it sustains a high level of performance. Performance can be measured using various metrics such as throughput, latency, response time. An algorithm is robust when it is able to operate despite the occurrence of various types of (network and/or machine) and attacks.
Content
During the course, we will cover several topics that are listed below:
- Event-driven formalisms for distributed algorithms
- Basic abstractions: processes, links
- Failure detector algorithms
- Leader election algorithms
- Broadcasting algorithms
- Distributed shared memory algorithms
- Consensus algorithms
- Epidemic algorithms
- Performance models for distributed systems
Part 2: Data management
Summary
The ability to process large amounts of data is key to both industry and research today. As computing systems are getting larger, they generate more data that need to be analyzed to extract knowledge.
Data management infrastructures are growing fast, leading to the creation of large data centers and federations of data centers. Suitable software infrastructures should be used to store and process data in this context. Big Data software systems are built to take advantage of a large set of distributed resources to efficiently process massive amounts of data while being able to cope with failures that are frequent at such a scale.
In addition to the amount of data to be processed, the other main challenge that such Big Data systems need to deal with is time. For some use cases, the earlier the results of a data analysis is obtained, the more valuable the result is. Some Big Data systems especially target stream processing where data are processed in real time.
Through lectures and practical sessions, this course provides an overview of the software systems that are used to store and process data at large scale. The following topics will be covered:
- Map-Reduce programming model
- In-memory data processing
- Stream processing (data movement and processing)
- Large scale distributed data storage (distributed file systems, NoSQL databases)
Throughout the lectures, the challenges associated with performance and fault tolerance will also be discussed.
UE GPU Computing
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. The students will learn to identify the parallel pattern in numerical algorithm. The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using Graphic Processing Unit. In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.
- Introduction to parallelism
- Introduction to general context of parallelism
- Models of parallel programming
- Description of various model of parallelism
- Paradigm of parallelism
- Templates of parallelism
- Parallel architectures
- Programming tools: Cuda
UE From Basic Machine Learning models to Advanced Kernel Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Statistical learning is about the construction and study of systems that can automatically learn from data. With the emergence of massive datasets commonly encountered today, the need for powerful machine learning is of acute importance. Examples of successful applications include effective web search, anti-spam software, computer vision, robotics, practical speech recognition, and a deeper understanding of the human genome. This course gives an introduction to this exciting field. In the first part, we will introduce basic techniques such as logistic regression, multilayer perceptrons, nearest neighbor approaches, both from a theoretical and methodological point of views. In the second part, we will focus on more advanced techniques such as kernel methods, which is a versatile tool to represent data, in combination with (un)supervised learning techniques that are agnostic to the type of data that is learned from. The learning techniques that will be covered include regression, classification, clustering and dimension reduction. We will cover both the theoretical underpinnings of kernels, as well as a series of kernels that are important in practical applications. Finally we will touch upon topics of active research, such as large-scale kernel methods and the use of kernel methods to develop theoretical foundations of deep learning models.
UE Advanced Machine Learning: Applications to Vision, Audio and Text
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is split into two parts. During the first part, a wide range of machine learning algorithms will be discussed. The second part will focus on deep learning, and presentations more applied to the three data modalities and their combinations. The following is a non-exhaustive list of topics discussed:
- Computing dot products in high dimension & Page Rank
- Matrix completion/factorization (Stochastic Gradient Descent, SVD)
- Monte-carlo, MCMC methods: Metropolis-Hastings and Gibbs Sampling
- Unsupervised classification: Partitionning, Hierarchical, Kernel and Spectral clustering
- Alignment and matching algorithms (local/global, pairwise/multiple), dynamic programming, Hungarian algorithm,…
- Introduction to Deep Learning concepts, including CNN, RNN, Metric learning
- Attention models: Self-attention, Transformers
- Auditory data: Representation, sound source localisation and separation.
- Natural language data: Representation, Seq2Seq, Word2Vec, Machine Translation, Pre-training strategies, Benchmarks and evaluation
- Visual data: image and video representation, recap of traditional features, state-of-the-art neural architectures for feature extraction
- Object detection and recognition, action recognition.
- Multimodal learning: audio-visual data representation, multimedia retrieval.
- Generative Adversarial Networks: Image-image translation, conditional generation
UE Natural Language Processing & Information Retrieval
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The automatic processing of languages, whether written or spoken, has always been an essential part of artificial intelligence. This domain has encouraged the emergence of new uses thanks to the arrival in the industrial field of many technologies from research (spell-checkers, speech synthesis, speech recognition, machine translation, …). In this course, we present the most recent advances and challenges for research. We will discuss discourse analysis whether written or spoken, text clarification, automatic speech transcription and automatic translation, in particular recent advances with neural models.
Information access and retrieval is now ubiquitous in everyday life through search engines, recommendation systems, or technological and commercial surveillance, in many application domains either general or specific like health for instance. In this course, we will cover Information retrieval basics, information retrieval evaluation, models for information retrieval, medical information retrieval, and deep learning for multimedia indexing and retrieval
UE Information Security
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Course content
Part 1: Access Control, or how to prevent unauthorized people from entering or accessing a system?
This part deals with:
- Cryptology for authentication and trust;
- security needs : confidentiality, availability, integrity, non-repudiation (CAI/DICP);
- cryptology primitives : private and public key ; trusted infrastructure (PKI and ledgers).
- zero-knowledge protocols; secret sharing and multiparty computation / or Practical work with Open SSL
- Access control mechanisms (MAC, DAC, RBAC, ABAC) and their implementations
- The detection and remediation of security breaches such as intrusions and insider attacks
- The deployment of control filters in applications and proxies.
The presented approach is built on the model-driven security paradigm (MDS). It refers to the process of modeling security requirements at a high level of abstraction, and generating technical security implementations. Security models are transformed into enforceable security rules including the run-time security management (e.g. entitlements/authorisations). Three labs are planned:
- B4MSecure: we will apply a formal language with animation and model-checking facilities to identify security breaches in Access Control policies.
- Snort: in this practical session you will set a local environment to simulate two machines, the target machine and the attacker. You will learn how to create firewall rules, monitor your network and how to react when an attack is detected.
- Metasploit: you will discover technology intelligence for vulnerabilities through a practical session where you will reproduce an exploit to hack and take control over a web-based server.
Part 2: Overview of modern attacks on systems, protocols, and networks and countermeasures
This part is devoted to modern attacks carried out on the Internet scale, in particular attacks on the DNS system (Domain Name System), such as cache or zone poisoning attacks, reflection and amplification of DDoS attacks (Distributed Denial of Service), IP spoofing - the root cause of DDoS attacks, botnets (e.g., Mirai), domain generation algorithms used for command-and-control communications, modern malware (e.g., Emotet trojan, Avalanche), spam, phishing, and business email compromise (BEC) scams.
The module will discuss preventative measures and security protocols to fight modern attacks, such as DDoS protection services, IP source address validation (SAV) known as BCP 38, Sender Policy Framework, and DMARC protocols as the first line of defense against email spoofing and BEC fraud, and DNSSEC to prevent DNS manipulation attacks. It will also discuss large-scale vulnerability measurements (a case study of the zone poisoning attack) and the challenges of deploying current security technologies by the system and network operators.
This part will be concluded with a practical team assignment in which students will be divided into groups and will have to configure a secure system in a real-world environment. The goal is to secure their system against the various types of discussed attacks and exploit other groups' systems.
UE Mathematical Foundations of Machine Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Machine Learning is one of the key areas of Artificial Intelligence and it concerns the study and the development of quantitative models that enables a computer to perform tasks without being explicitly programmed to do them. Learning in this context is hence to recognize complex forms and to make intelligent decisions. Given all existing entries, the difficulty of this task lies in the fact that all possible decisions is usually very complex to enumerate. To get around that, machine learning algorithms are designed in order to gain knowledge on the problem to be addressed based on a limited set of observed data extracted from this problem. To illustrate this principle, consider the supervised learning task, where the prediction function, which infers a predicted output for a given input, is learned over a finite set of labeled training examples, where each instance of this set is a pair constituted of a vector characterizing an observation in a given vector space, and an associated desired response for that instance (also called desired output). After the training step, the function returned by the algorithm is sought to give predictions on new examples, which have not been used in the learning process, with the lowest probability of error. The underlying assumption in this case is that the examples are, in general, representative of the prediction problem on which the function will be applied. We expect that the learning algorithm produces a function that will have a good generalization performance and not the one that is able to perfectly reproduce the outputs associated to the training examples. Guarantees of learnability of this process were studied in the theory of machine learning largely initiated by Vladimir Vapnik. These guarantees are dependent on the size of the training set and the complexity of the class of functions where the algorithm searches for the prediction function. Emerging technologies, particularly those related to the development of Internet, reshaped the domain of machine learning with new learning frameworks that have been studied to better tackle the related problems. One of these frameworks concerns the problem of learning with partially labeled data, or semi-supervised learning, which development is motivated by the effort that has to be made to construct labeled training sets for some problems, while large amount of unlabeled data can be gathered easily for these problems. The inherent assumption, in this case, is that unlabeled data contain relevant information about the task that has to be solved, and that it is a natural idea to try to extract this information so as to provide the learning algorithm more evidence. From these facts were born a number of works that intended to use a small amount of labeled data simultaneously with a large amount of unlabeled data to learn a prediction function.
The intent of this course is to propose a broad introduction to the field of Machine Learning, including discussions of each of the major frameworks, supervised, unsupervised, semi-supervised and reinforcement learning.
UE Statistical learning: from parametric to nonparametric models
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course is related to mathematical and statistical methods which are very used in supervised learning.
It contains two parts.
In the first part, we will focus on parametric modeling. Starting with the classical linear regression, we will describe several families of estimators that work when considering high-dimensional data, where the classical least square estimator does not work. Model selection and model assessment will particularly be described.
In the second part, we shall focus on nonparametric methods. We will present several tools and ingredients to predict the future value of a variable. We shall focus on methods for non parametric regression from independent to correlated training dataset. We shall also study some methods to avoid the overfitting in supervised learning.
This course will be followed by practical sessions with the R software.
UE Refresh courses
Niveau d'étude
Bac +5
ECTS
0 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cours de remise à niveau.
UE Human Computer Interaction
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Next Generation Software Development
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Safety Critical Systems: from design to verification
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Research project
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Projet d'intégration ECOM
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'objectif de cette unité d'enseignement est de concevoir et réaliser, de bout en bout, une application de commerce électronique en utilisant les technologies standards de réalisation d'applications réparties (Java/J2EE). En particulier, les standards liés aux composants distribués (EJB/JSF), aux services de nommages (JNDI), aux accès aux bases de données relationnelles (JDBC), aux protocoles et services de communication (HTTP, RMI), de même que ceux liés à la mise en oeuvre d'interfaces Homme-Machine (MVC/Struts) sont manipulés au travers de cette unité d'enseignement.
* Les étudiants conçoivent cette application par équipe de 4 ou 5 personnes, ce qui intègre à cet enseignement des aspects de gestion de projet.
UE Principes des méthodes agiles
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L’approche agile s’est imposée depuis une dizaine d’années comme une alternative aux méthodes classiques de développement de logiciels. L’agilité permet de mieux répondre aux évolutions des besoins des clients en cours de projet. Son approche itérative et incrémentale permet de disposer d’un produit opérationnel dès les premières phases du développement.
L'objectif de ce cours est de donner aux étudiants les compétences, concepts et pratiques agiles. Il constitue également une introduction aux différentes méthodes agiles (SCRUM, XP, LEAN).
UE Techniques de communication en anglais
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Techniques de communication en anglais
UE Expérience Utilisateur (UX) au-delà de la souris, clavier et écran : mobilité et multimodalité
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Le cours est organisé en deux parties complémentaires :
Partie 1 Fondements
* Apports de la psychologie cognitive et modèles cognitifs
- Modèle du processeur humain
- Modèle ICS (Barnard)
- Théorie de l'Action (Norman)
* Méthode de conception par scénarios et formalismes
- Etapes de conception
- Analyse de la tâche
- Scénarios de conception
- Règles de conception
Partie 2 : Interaction multimodale et sur supports mobiles
* Définitions
* Exemples de systèmes multimodaux
* Espace de conception
* Propriétés ergonomiques
Le cours est accompagné d’un projet de conception et développement en groupe d’un système interactive multi-surface, multimodal et sur supports mobiles.
UE Introduction à l'intelligence artificielle
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
* Introduction aux notions de bases du machine learning
* Méthodes d'apprentissage (supervisé/non-supervisé)
* Evaluation et analyse des performances d'un modèle
* Présentations de plusieurs algorithmes de Machine/Deep Learning avec applications concrètes
* Présentations de modèles de fondations
* Discussion autour des problématiques soulevées par l'IA
UE Systèmes et applications répartis
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'UE a deux objectifs majeurs :
- Savoir concevoir et implémenter un système réparti
- Comprendre et savoir utiliser les technologies existantes pour la mise en oeuvre de systèmes répartis.
5 séances de 3h de TP seront consacrées à la réalisation d'un cache d'objets répartis en Java, à base de techniques d'inversion de contrôle (à la JavaEE), des « Java dynamic proxy » et de mécanismes d'annotations de code
UE Données large échelle
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Première partie du cours : MapReduce
- Initiation à MapReduce, architecture et principes de programmation
- Application lors de séances de TP, travail sur de vraies données Web (log AOL, lastFM)
Deuxième partie du cours : Administration Oracle avancée -> Gérard Forestier
- Détails sur l'architecture physique et l'architecture logique
- Connaissances approfondies sur l'administration d'une base de données Oracle
- Séances de TP pour mettre en pratique ce qui sera appris
Base de données
Niveau d'étude
Bac +5
ECTS
1,5 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Administration Oracle avancée
- Détails sur l'architecture physique et l'architecture logique
- Connaissances approfondies sur l'administration d'une base de données Oracle
- Séances de TP pour mettre en pratique ce qui sera appris
Traitement des données à grande échelle
Niveau d'étude
Bac +5
ECTS
1,5 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
MapReduce
- Initiation à MapReduce, architecture et principes de programmation
- Application lors de séances de TP, travail sur de vraies données Web (log AOL, lastFM)
UE Techniques avancées de validation
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Tout développement logiciel est confronté au défi de vérifier et de valider le logiciel produit. Même si d’aucuns considèrent qu’il est tout à fait possible de vivre au milieu de programmes erronés, la responsabilité de tout ingénieur logiciel est de mettre en œuvre des moyens appropriés pour développer un logiciel de qualité. Le test des logiciels devient aujourd’hui un métier à part entière parmi les métiers du développement logiciel. De plus, le développement de grands logiciels fait largement appel à la sous-traitance, à la réutilisation, ou à l’intégration de composants. Dans ce contexte, il est essentiel de valider ces composants ainsi que leur assemblage.
L'objectif de ce cours est de donner aux étudiants les outils et techniques qui leur permettront de mettre en œuvre diverses activités de vérification ou de validation au cours d'un développement logiciel basé sur une spécification. Il s’agit d’exprimer une spécification qui puisse être vérifiée à l’exécution, comme oracle d’une activité de test. Dans un deuxième temps, il s’agit de mettre en œuvre des techniques de test pour générer, si possible automatiquement, des tests et coupler l’activité de test avec un oracle.
Nous verrons comment ces oracles, utilisés avec des techniques de bouchonnage (mock), peuvent être utilisés en support d'un développement orienté par le test (TDD, BDD) et d'une intégration continue (Gitlab CI). Toujours en utilisant les concepts d’oracle et d'intégration continue, nous nous intéresserons aux tests des programmes réactifs (i.e., qui interagissent en continu avec leur environnement).
Nous verrons également comment des spécifications formelles peuvent, dans certains cas, être vérifiées exhaustivement (model-checking, SMT, interprétation abstraite).
Un extrait des thématiques et outils qui seront abordés est le suivant :
+ Tests unitaires (JUnit)
+ Techniques de bouchonnage (mockicto)
+ Tests combinatoires et aléatoires basés sur les propriétés (JUnit Theories, QuickCheck)
+ Développement dirigé par le test (TDD), par le comportement (Jbehave),
+ Intégration continue (Gitlab CI)
+ Tests de programmes réactifs
+ Model-checking, Sat-Modulo Théorie
+ Interprétation Abstraite
L'enseignement est organisé en des séances de cours, destinées à présenter diverses techniques applicables pour les diverses activités du test (spécification, génération, exécution, oracle et arrêt du test). Ces séances sont complétées par des séances de travaux dirigés, sur machine, qui permettront aux étudiants de se familiariser avec des outils de test. Le contrôle continu prendra la forme de mini-projets associés aux séances de travaux dirigés
UE Principes et techniques de l'ingénierie dirigée par les modèles
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
La complexité des systèmes (logiciels ou non) ne cesse de croitre. Les techniques de programmation traditionnelles ne sont plus suffisantes pour faire face à cette complexité. Depuis un certain temps l'Ingéniérie Dirigée par les Modèles (IDM ou Model Driven Engineering en anglais), se développe. L'IDM a désormais une place de choix aussi bien dans le monde académique que dans l'industrie du logiciel.
Ce cours vise à répondre aux objectifs suivants:
(1) présenter l'IDM dans son contexte historique, conceptuel et
technologique
(2) présenter les concepts essentiels de l'IDM
(3) montrer comment ces concepts sont mis en oeuvre
(4) mettre en pratique les concepts et les techniques présentées.
Une part très importante de cette UE est réalisée sous forme de TPs en réalisant par exemple un générateur de code produisant automatiquement une application web à partir d'un modèle. Ce genre de techniques est directement issu de pratiques industrielles.
UE Projet développement mobile
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Architecture des systèmes pervasifs
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Informatique embarquée pour les objets connectés
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'Internet des choses (IoT) devient désormais une réalité avec la disponibilité de dispositifs enfouis communicants (étiquettes RFID, capteurs sans fil, téléphonie mobile …) de faible coût. L'Internet des choses offre aux entreprises de nouvelles opportunités de modèles économiques (ie pay as you use), d’amélioration de la qualité du service rendu à leurs clients (particuliers ou entreprises) et de satisfaction de leurs obligations légales ou contractuelles.
La mise en oeuvre d’applications IoT repose sur l’usage de systèmes dédiés (systèmes embarqués) et des protocoles de communication adaptés permettant l’échange d’informations entre des dispositifs embarqués (i.e., capteurs) et des applications dans le cloud qui vont recevoir, traiter et conserver les données. Un protocole bien connu actuellement est le protocole LoraWan (https://fr.wikipedia.org/wiki/LoRaWAN).
UE Analyse des données, web des données et web sémantique
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L’objectif de ce cours est de présenter le cadre général du Web Sémantique (ou Web des Données) qui permet l'échange, le partage et la réutilisation de données entre applications au travers des entreprises et des communautés d'utilisateurs. C'est le fruit d'un effort collaboratif mené par le World Wide Web Consortium (W3C) avec la participation de nombreux partenaires issus du monde de la recherche et de l'industrie.
Le Web Sémantique vise à intégrer et publier et à partager des données structurées en les reliant entre elles (Linked-Data) en s'appuyant sur l'infrastructure du Web. Dans ce cadre, les ontologies , en structurant de manière formelle la connaissance jouent un rôle essentiel : elle permettent de donner une sémantique précise aux données. Basées sur le même modèle de distribution que pour les données, elles encouragent le partage et la réutilisation des connaissances, facilitent l'interprétation des données par des programmes qui peuvent éventuellement les enrichir en s'appuyant sur des mécanismes d'inférences bien définis.
Ce cours se focalise sur certaines des technologies standardisées par le W3C et qui sont au cœur du web sémantique:
- RDF (Resources Description Famework) qui propose un modèle de représentation des données accessibles via des IRIs (Internatianlized Resource Identifiers) et qui permet de représenter des graphes de connaissances distribués sur le web (Linked Data)
- RDFa, JSON-LD, Schema.org qui permettent d'inclure des données structurées dans des pages webs.
- Les triplestore (bases de données orientées RDF) et SPARQL qui permettent le stockage et l'interrogation des données du Web Sémantique
- RDFS, OWL et SKOS qui, en dessus de RDF, offrent l'expressivité nécessaire à la modélisation de vocabulaires contrôlés et d'ontologies et qui donnent une sémantique formelle aux données, permettant ainsi de définir un modèle pour celle-ci à partir duquel des inférences (déductions logiques) peuvent être réalisées pour déduire de nouvelles informations.
La présentation en cours de ces différents langages et technologies s'appuie sur des exemples concrets de mise en œuvre ( DBpedia, WikiData, Europeana , BNF...). Elle est complétée par des exercices pratiques sur machine (avec le framework , Java Apache Jena, les triples stores Jena TDB - Fuseki et GraphDB , et l'éditeur d'ontologies Protégé-OWL) et la réalisation d'un mini projet, permettant aux étudiants de se confronter directement et concrètement à la mise œuvre d'applications s'appuyant sur le web sémantique.
UE Conduite de projets logiciels en entreprise
Niveau d'étude
Bac +5
ECTS
24 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Conduite de projets logiciels en entreprise
UE Génie logiciel : test, architecture, devOps
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Test et architecture
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Devops
Niveau d'étude
Bac +5
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Projet d'intégration ECOM
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'objectif de cette unité d'enseignement est de concevoir et réaliser, de bout en bout, une application de commerce électronique en utilisant les technologies standards de réalisation d'applications réparties (Java/J2EE). En particulier, les standards liés aux composants distribués (EJB/JSF), aux services de nommages (JNDI), aux accès aux bases de données relationnelles (JDBC), aux protocoles et services de communication (HTTP, RMI), de même que ceux liés à la mise en oeuvre d'interfaces Homme-Machine (MVC/Struts) sont manipulés au travers de cette unité d'enseignement.
* Les étudiants conçoivent cette application par équipe de 4 ou 5 personnes, ce qui intègre à cet enseignement des aspects de gestion de projet.
UE Principes des méthodes agiles
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L’approche agile s’est imposée depuis une dizaine d’années comme une alternative aux méthodes classiques de développement de logiciels. L’agilité permet de mieux répondre aux évolutions des besoins des clients en cours de projet. Son approche itérative et incrémentale permet de disposer d’un produit opérationnel dès les premières phases du développement.
L'objectif de ce cours est de donner aux étudiants les compétences, concepts et pratiques agiles. Il constitue également une introduction aux différentes méthodes agiles (SCRUM, XP, LEAN).
UE Techniques de communication en anglais
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Techniques de communication en anglais
UE Workflow et collecticiels
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Le collecticiel est une extension de la notion de système interactif dans laquelle plusieurs utilisateurs interagissent afin de communiquer et collaborer entre eux. Des exemples d'applications collecticielles sont la messagerie électronique, MSN, les blogs, les éditeurs partagés, les workflows, le bureau Virtuel… Tout environnement partagé par plusieurs personnes permettant de communiquer, de travailler simultanément ou non, dans un même espace, sur de même documents.
L'intérêt croissant pour le collecticiel vient de la constatation que la plupart de nos activités sont des activités de groupe, alors que l'usage de l'ordinateur est essentiellement individuel.
Dans ce cours, nous présenterons un aperçu large des collecticiels, outils essentiels de l’entreprise d’aujourd’hui, puis nous introduirons les spécificités de développements liés à de tels logiciels.
UE Aspects financiers et marketing
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Assimiler les principes fondamentaux du marketing : analyse du marché, le comportement du consommateur, la segmentation du marché, le positionnement, le marketing mix…
UE Expérience Utilisateur (UX) au-delà de la souris, clavier et écran : mobilité et multimodalité
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Le cours est organisé en deux parties complémentaires :
Partie 1 Fondements
* Apports de la psychologie cognitive et modèles cognitifs
- Modèle du processeur humain
- Modèle ICS (Barnard)
- Théorie de l'Action (Norman)
* Méthode de conception par scénarios et formalismes
- Etapes de conception
- Analyse de la tâche
- Scénarios de conception
- Règles de conception
Partie 2 : Interaction multimodale et sur supports mobiles
* Définitions
* Exemples de systèmes multimodaux
* Espace de conception
* Propriétés ergonomiques
Le cours est accompagné d’un projet de conception et développement en groupe d’un système interactive multi-surface, multimodal et sur supports mobiles.
UE Introduction à l'intelligence artificielle
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
* Introduction aux notions de bases du machine learning
* Méthodes d'apprentissage (supervisé/non-supervisé)
* Evaluation et analyse des performances d'un modèle
* Présentations de plusieurs algorithmes de Machine/Deep Learning avec applications concrètes
* Présentations de modèles de fondations
* Discussion autour des problématiques soulevées par l'IA
UE Systèmes et applications répartis
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'UE a deux objectifs majeurs :
- Savoir concevoir et implémenter un système réparti
- Comprendre et savoir utiliser les technologies existantes pour la mise en oeuvre de systèmes répartis.
5 séances de 3h de TP seront consacrées à la réalisation d'un cache d'objets répartis en Java, à base de techniques d'inversion de contrôle (à la JavaEE), des « Java dynamic proxy » et de mécanismes d'annotations de code
UE Données large échelle
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Première partie du cours : MapReduce
- Initiation à MapReduce, architecture et principes de programmation
- Application lors de séances de TP, travail sur de vraies données Web (log AOL, lastFM)
Deuxième partie du cours : Administration Oracle avancée -> Gérard Forestier
- Détails sur l'architecture physique et l'architecture logique
- Connaissances approfondies sur l'administration d'une base de données Oracle
- Séances de TP pour mettre en pratique ce qui sera appris
Base de données
Niveau d'étude
Bac +5
ECTS
1,5 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Administration Oracle avancée
- Détails sur l'architecture physique et l'architecture logique
- Connaissances approfondies sur l'administration d'une base de données Oracle
- Séances de TP pour mettre en pratique ce qui sera appris
Traitement des données à grande échelle
Niveau d'étude
Bac +5
ECTS
1,5 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
MapReduce
- Initiation à MapReduce, architecture et principes de programmation
- Application lors de séances de TP, travail sur de vraies données Web (log AOL, lastFM)
UE Techniques avancées de validation
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Tout développement logiciel est confronté au défi de vérifier et de valider le logiciel produit. Même si d’aucuns considèrent qu’il est tout à fait possible de vivre au milieu de programmes erronés, la responsabilité de tout ingénieur logiciel est de mettre en œuvre des moyens appropriés pour développer un logiciel de qualité. Le test des logiciels devient aujourd’hui un métier à part entière parmi les métiers du développement logiciel. De plus, le développement de grands logiciels fait largement appel à la sous-traitance, à la réutilisation, ou à l’intégration de composants. Dans ce contexte, il est essentiel de valider ces composants ainsi que leur assemblage.
L'objectif de ce cours est de donner aux étudiants les outils et techniques qui leur permettront de mettre en œuvre diverses activités de vérification ou de validation au cours d'un développement logiciel basé sur une spécification. Il s’agit d’exprimer une spécification qui puisse être vérifiée à l’exécution, comme oracle d’une activité de test. Dans un deuxième temps, il s’agit de mettre en œuvre des techniques de test pour générer, si possible automatiquement, des tests et coupler l’activité de test avec un oracle.
Nous verrons comment ces oracles, utilisés avec des techniques de bouchonnage (mock), peuvent être utilisés en support d'un développement orienté par le test (TDD, BDD) et d'une intégration continue (Gitlab CI). Toujours en utilisant les concepts d’oracle et d'intégration continue, nous nous intéresserons aux tests des programmes réactifs (i.e., qui interagissent en continu avec leur environnement).
Nous verrons également comment des spécifications formelles peuvent, dans certains cas, être vérifiées exhaustivement (model-checking, SMT, interprétation abstraite).
Un extrait des thématiques et outils qui seront abordés est le suivant :
+ Tests unitaires (JUnit)
+ Techniques de bouchonnage (mockicto)
+ Tests combinatoires et aléatoires basés sur les propriétés (JUnit Theories, QuickCheck)
+ Développement dirigé par le test (TDD), par le comportement (Jbehave),
+ Intégration continue (Gitlab CI)
+ Tests de programmes réactifs
+ Model-checking, Sat-Modulo Théorie
+ Interprétation Abstraite
L'enseignement est organisé en des séances de cours, destinées à présenter diverses techniques applicables pour les diverses activités du test (spécification, génération, exécution, oracle et arrêt du test). Ces séances sont complétées par des séances de travaux dirigés, sur machine, qui permettront aux étudiants de se familiariser avec des outils de test. Le contrôle continu prendra la forme de mini-projets associés aux séances de travaux dirigés
UE Principes et techniques de l'ingénierie dirigée par les modèles
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
La complexité des systèmes (logiciels ou non) ne cesse de croitre. Les techniques de programmation traditionnelles ne sont plus suffisantes pour faire face à cette complexité. Depuis un certain temps l'Ingéniérie Dirigée par les Modèles (IDM ou Model Driven Engineering en anglais), se développe. L'IDM a désormais une place de choix aussi bien dans le monde académique que dans l'industrie du logiciel.
Ce cours vise à répondre aux objectifs suivants:
(1) présenter l'IDM dans son contexte historique, conceptuel et
technologique
(2) présenter les concepts essentiels de l'IDM
(3) montrer comment ces concepts sont mis en oeuvre
(4) mettre en pratique les concepts et les techniques présentées.
Une part très importante de cette UE est réalisée sous forme de TPs en réalisant par exemple un générateur de code produisant automatiquement une application web à partir d'un modèle. Ce genre de techniques est directement issu de pratiques industrielles.
UE Projet développement mobile
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Architecture des systèmes pervasifs
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Informatique embarquée pour les objets connectés
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'Internet des choses (IoT) devient désormais une réalité avec la disponibilité de dispositifs enfouis communicants (étiquettes RFID, capteurs sans fil, téléphonie mobile …) de faible coût. L'Internet des choses offre aux entreprises de nouvelles opportunités de modèles économiques (ie pay as you use), d’amélioration de la qualité du service rendu à leurs clients (particuliers ou entreprises) et de satisfaction de leurs obligations légales ou contractuelles.
La mise en oeuvre d’applications IoT repose sur l’usage de systèmes dédiés (systèmes embarqués) et des protocoles de communication adaptés permettant l’échange d’informations entre des dispositifs embarqués (i.e., capteurs) et des applications dans le cloud qui vont recevoir, traiter et conserver les données. Un protocole bien connu actuellement est le protocole LoraWan (https://fr.wikipedia.org/wiki/LoRaWAN).
UE Analyse des données, web des données et web sémantique
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L’objectif de ce cours est de présenter le cadre général du Web Sémantique (ou Web des Données) qui permet l'échange, le partage et la réutilisation de données entre applications au travers des entreprises et des communautés d'utilisateurs. C'est le fruit d'un effort collaboratif mené par le World Wide Web Consortium (W3C) avec la participation de nombreux partenaires issus du monde de la recherche et de l'industrie.
Le Web Sémantique vise à intégrer et publier et à partager des données structurées en les reliant entre elles (Linked-Data) en s'appuyant sur l'infrastructure du Web. Dans ce cadre, les ontologies , en structurant de manière formelle la connaissance jouent un rôle essentiel : elle permettent de donner une sémantique précise aux données. Basées sur le même modèle de distribution que pour les données, elles encouragent le partage et la réutilisation des connaissances, facilitent l'interprétation des données par des programmes qui peuvent éventuellement les enrichir en s'appuyant sur des mécanismes d'inférences bien définis.
Ce cours se focalise sur certaines des technologies standardisées par le W3C et qui sont au cœur du web sémantique:
- RDF (Resources Description Famework) qui propose un modèle de représentation des données accessibles via des IRIs (Internatianlized Resource Identifiers) et qui permet de représenter des graphes de connaissances distribués sur le web (Linked Data)
- RDFa, JSON-LD, Schema.org qui permettent d'inclure des données structurées dans des pages webs.
- Les triplestore (bases de données orientées RDF) et SPARQL qui permettent le stockage et l'interrogation des données du Web Sémantique
- RDFS, OWL et SKOS qui, en dessus de RDF, offrent l'expressivité nécessaire à la modélisation de vocabulaires contrôlés et d'ontologies et qui donnent une sémantique formelle aux données, permettant ainsi de définir un modèle pour celle-ci à partir duquel des inférences (déductions logiques) peuvent être réalisées pour déduire de nouvelles informations.
La présentation en cours de ces différents langages et technologies s'appuie sur des exemples concrets de mise en œuvre ( DBpedia, WikiData, Europeana , BNF...). Elle est complétée par des exercices pratiques sur machine (avec le framework , Java Apache Jena, les triples stores Jena TDB - Fuseki et GraphDB , et l'éditeur d'ontologies Protégé-OWL) et la réalisation d'un mini projet, permettant aux étudiants de se confronter directement et concrètement à la mise œuvre d'applications s'appuyant sur le web sémantique.
UE Apprentissage en entreprise
Niveau d'étude
Bac +5
ECTS
24 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Cette UE correspond au déroulement de la mission en alternance en entreprise.
UE Génie logiciel : test, architecture, devOps
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Test et architecture
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Devops
Niveau d'étude
Bac +5
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Advanced models and methods in operations research
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course presents advanced methods and technics for Operations Research.
Reminder :
Linear Programming, Dynamic Programming, MIP modelling and BB
Complexity (P, NP, Co-NP)
Advanced MIP :
formulation, cuts, bounds
applications
lagragian relaxation
column generation
Benders decomposition
Solvers
Constraint Programming
Heuristics
local search
approximation algorithms
UE Combinatorial optimization and graph theory
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to provide a broad knowledge of fundamental problems in Combinatorial Optimization to show their algorithmic solutions and to derive min-max results on them. In order to achieve this goal a new object called a polyhedron is introduced. This polyhedral approach helps to shed new light on some classic results of Combinatorial Optimization.
Syllabus: Study of polyhedra associated to problems of Combinatorial Optimization ; Theory of blocking polyhedra ; Connectivity: shortest paths, spanning trees and spanning arborescences of minimum weight ; Flows: Edmonds-Karp Algorithm, Goldberg-Tarjan Algorithm, minimum cost flows ; Matchings: Hungarian method, Edmonds' Algorithm, Chinese postman problem; Matroids: greedy algorithm, intersection of two matroids ; Graph coloring ; Applications coming from various areas of Operations Research.
UE Optimization under uncertainty
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to present different techniques to handle uncertainty in decision problems. These techniques will be illustrated on several applications e.g. inventory control, scheduling, energy, machine learning.
Syllabus : Introduction to uncertainty in optimization problems; Reminders (probability, dynamic programming, ...); Markov chains; Markov decision processes; Stochastic programming; Robust optimization
UE Constraint Programming, applications in scheduling
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Graph and discrete structures
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to learn how to use the structure of graphs and other discrete objects to obtain general results on them, and in particular efficient algorithms solving important problems.
We will cover the following topics:
- Structural Graph Theory: we will study the structure of important graph classes with nice algorithmic properties (planar graphs, interval graphs, comparability graphs, ...) and show several concrete problems that can be solved thanks to their structural properties.
- Graph Drawing: with the rise of Big Data, representing huge data sets is a fundamental challenge. Efficient ways to represent large graphs will be presented.
- Codes: we will see various codes (dominating, locating, identifying, ...) in graphs and their applications.
- Extremal combinatorics: the typical question in this field is "what global condition do we need to impose in some graph in order to make sure that some nice structure appears locally?" We will introduce a powerful tool called "the probabilistic method", an show how it can be applied to solve problems in this important area of research.
UE Advanced heuristic and approximation algorithms
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Advanced mathematical programming methods
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Academic and industrial challenges
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course offers the possibility for the students to gain some experience by facing open/difficult combinatorial problems.
The goal is to model and solve a combinatorial problem with direct industrial applications. We expect the students to take a variety of approaches (local search, compact/extended linear programming formulations, constraint programming, ...) and establish useful results (lower bounds, cuts, complexity,...).
The experimental results will be compared to the litterature (a known academic open benchmark will be available in this case) or will be validated by the industrial partner.
UE Transport Logistics and Operations Research
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Presenting models and tools for solving problems of company location and transport management in a supply chain.
Description:
This course presents two aspects: strategic design of a distribution network in a supply chain and tactical-operational aspects of network management.
For each aspect the course develops two key points:
- in network design, the choice of location and the establishment of services (production site, warehouse, logistics platform) and the synthesis of the transport network (connections / roads between production sites, warehouses, logistics centres)
- in network management, planning and modes of distribution transport (planning delivery rounds, number and types of vehicles).
For each of the three problem areas: location, delivery rounds and network design, students will study both modelling and techniques for accurate resolution (Branch-and-Bound) plus techniques for approximate resolutions (Lagrangian relaxation , metaheuristics) and how they are set up in commercial software (OPL-CPLEX Studio, Excel solver), or free software (COIN, lp-solve) or ad-hoc.
Evaluation :
Individual written exam (1/2 of the final mark) and group project (1/2 of the final mark).
UE Advanced parallel system
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Today, parallel computing is omnipresent across a large spectrum of computing platforms, from processor cores or GPUs up to Supercomputers and Cloud platforms. The largest Supercomputers gather millions of processing units and are heading towards Exascale (a quintillion or 10^18 flops - http://top500.org). If parallel processing was initially targeting scientific computing, it is now part of many domains like Big Data analytics and Deep Learning. But making an efficient use of these parallel resources requires a deep understanding of architectures, systems, parallel programming models, and parallel algorithms.
Overview:
The class is organized around weekly lectures, discussions and help time. The presented materials that will be available each week on the class web page. To get practical experience and good understanding of the main concepts the students are expected to develop short programs and experiments. Students will also have to prepare a presentation or a written report on research articles. Students will have access to Grid'5000 parallel machines and the SimGrid simulator for experiments.
This class is organized around 2 main blocks:
Overview of parallel systems:
-
- Introduction to parallelism from GPU to supercomputers.
- Hardware and system considerations for parallel processing (multi-core architectures, process and thread handling, cache efficiency, remote data access, atomic instructions)
- Parallel programming: message passing, one-sided communications, task-based programming, work stealing based runtimes (MPI, Cilk, TBB, OpenMP).
- Modeling of parallel programs and platforms. Locality, granularity, memory space, communications.
- Parallel algorithms, collective communications, topology aware algorithms.
- Scheduling: list algorithms; partitioning techniques. Application to resource management (PBS, LSF, SGE, OAR).
- Large scale scientific computing: parallelization of Lagrangian and Eulerian solvers, parallel data analytics and scientific visualization.
- AI and HPC: how parallelism is used at different levels to accelerate machine learning and deep learning using supercomputers.
Functional parallel programming:
We propose to study a clean and modern approach to the design of parallel algorithms: functional programming. Functional languages are known to provide a different and cleaner programming experience by allowing a shift of focus from "how to do" on "what to do".
If you take for example a simple dot product between two vectors. In c language you might end up with:
unsigned int n = length(v1); double s = 0.0; for (unsigned int i = 0 ; i < n ; i++) { s += v1[i] * v2[i]; }
In python however you could write:
return sum(e1*e2 for e1, e2 in zip(v1, v2))
You can easily notice that the c language code displayed here is highly sequential with a data-flow dependence on the i variable. It intrinsically contains an ordering of operations because it tells you how to do things to obtain the final sum. On the other end the python code exhibits no dependencies at all. It does not tell you how to compute the sum but just what to compute: the sum of all products.
In this course we will study how to express parallel operations in a safe and performant way. The main point is to study parallel iterators and their uses but we will also consider classical parallel programming schemes like divide and conquer. We will both study the theoretical complexity of different parallel algorithms and practice programming and performance analysis on real machines.
All applications will be developed in the RUST programming language around the Rayon parallel programming library.
No previous knowledge of the rust language is required as we will introduce it gradually during the course. You need however to be proficient in at least one low level language (typically C or C++)
UE Multi-agent systems
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course introduces the field of MAS, various theoretical aspects (agent architectures, reasoning, interactions, game theory, social choice, etc), as well as practical applications from recent research. The focus is mostly on agent-based social simulation, and how to integrate psychological aspects in agents (so-called “human factors”: emotions, biases…) to make them more human-like and realistic. Applications discussed include epidemics modelling, computational economy, crisis management, urban planning, serious games, etc. The practical part of the course comprises several tutorials with various agent-based modelling platforms (in particular GAMA and Netlogo), scientific papers discussions, and analysis and/or extension of existing models.
UE Fundamentals of Data Processing and Distributed Knowledge
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Modern computing increasingly takes advantage of large amounts of distributed data and knowledge. This is grounded on theoretical principles borrowing to several fields of computer science such as programming languages, data bases, structured documentation, logic and artificial intelligence. The goal of this course is to present some of them, the problems that they solve and those that they uncover. The course considers two perspectives on data and knowledge: interpretation (what they mean), analysis (what they reveal) and processing (how can they be traversed efficiently and transformed safely).
The course offers a semantic perspective on distributed knowledge. Distributed knowledge may come from data sources using different ontologies on the semantic web, autonomous software agents learning knowledge or social robots interacting with different interlocutors. The course adopts a synthetic view on these. It first presents principles of the semantics of knowledge representation (RDF, OWL). Ontology alignments are then introduced to reduce the heterogeneity between distributed knowledge and their exploitation for answering federated queries is presented. A practical way for cooperating agents to evolve their knowledge is cultural knowledge evolution that is then illustrated. Finally, the course defines dynamic epistemic logics as a way to model the communication of knowledge and beliefs.
The course also introduces a perspective on programming language foundations, algorithms and tools for processing structured information, and in particular tree-shaped data. It consists in an introduction to relevant theoretical tools with an application to NoSQL (not only SQL) and XML technologies in particular. Theories and algorithmic toolboxes such as fundamentals of tree automata and tree logics are introduced, with applications to practical problems found for extracting information. Applications include efficient query evaluation, memory-efficient validation of document streams, robust type-safe processing of documents, static analysis of expressive queries, and static type-checking of programs manipulating structured information. The course also aims at presenting challenges, important results, and open issues in the area.
UE Scientific methodology regulatory and ethical data usage
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course aims to provide the fundamental basis for a sound scientific methodology of experimental evaluation in computer science. This lecture emphasizes on methodological aspects of measurement and on the statistics needed to analyze computer systems, human-computer interaction systems, and machine learning systems. We first sensibilize the audience to reproducibility issues related to empirical research in computer science as well as to ethical and scientific integrity aspects. Then we present tools that help address the aforementioned issues and we give the audience the basis of probabilities and statistics required to develop sound experiment designs. The content of the lecture is therefore both theoretical and practical, illustrated by a lot of case studies and practical sessions. The goal is not to provide analysis recipes or techniques that researchers can blindly apply but to make students develop critical thinking and understand some simple (and possibly not-so-simple) tools so that they can both readily use and explore later on.
UE Large-scale data management and distributed systems
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is divided in two complementary parts: distributed systems and data management.
Part 1: Distributed systems
Summary
Distributed systems are omnipresent. They are formed by a set of computing devices, interconnected by a network, that collaborate to perform a task. Distributed systems execute on a wide range of infrastructures: from Cloud datacenters to wireless sensor networks.
The goal of this course is to study the main algorithms used at the core of Distributed systems. These algorithms must be efficient and robust. An algorithm is efficient when it sustains a high level of performance. Performance can be measured using various metrics such as throughput, latency, response time. An algorithm is robust when it is able to operate despite the occurrence of various types of (network and/or machine) and attacks.
Content
During the course, we will cover several topics that are listed below:
- Event-driven formalisms for distributed algorithms
- Basic abstractions: processes, links
- Failure detector algorithms
- Leader election algorithms
- Broadcasting algorithms
- Distributed shared memory algorithms
- Consensus algorithms
- Epidemic algorithms
- Performance models for distributed systems
Part 2: Data management
Summary
The ability to process large amounts of data is key to both industry and research today. As computing systems are getting larger, they generate more data that need to be analyzed to extract knowledge.
Data management infrastructures are growing fast, leading to the creation of large data centers and federations of data centers. Suitable software infrastructures should be used to store and process data in this context. Big Data software systems are built to take advantage of a large set of distributed resources to efficiently process massive amounts of data while being able to cope with failures that are frequent at such a scale.
In addition to the amount of data to be processed, the other main challenge that such Big Data systems need to deal with is time. For some use cases, the earlier the results of a data analysis is obtained, the more valuable the result is. Some Big Data systems especially target stream processing where data are processed in real time.
Through lectures and practical sessions, this course provides an overview of the software systems that are used to store and process data at large scale. The following topics will be covered:
- Map-Reduce programming model
- In-memory data processing
- Stream processing (data movement and processing)
- Large scale distributed data storage (distributed file systems, NoSQL databases)
Throughout the lectures, the challenges associated with performance and fault tolerance will also be discussed.
UE Cryptographic engineering, protocols and security models, data privacy, coding and applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course present the main cryptographic primitives and security protocols, focusing on security parameters and properties.
Pedagogical goals:
- generic cryptographic primitives: one-way, trap-door and hash functions; random generators; symmetric and assymertic cipher; interactive protocols;
- security properties : complexity and reduction proofs; undistinguidhability; non-malleability; soundness, completeness and zero-knowledge; confidentiality; authentication; privacy; non-repudiation
- use, deployment and integration of protocols in standard crypro lib (eg open-ssl)
- security proofs : fundations and verification based on tools (eg avispa)
UE From Basic Machine Learning models to Advanced Kernel Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Statistical learning is about the construction and study of systems that can automatically learn from data. With the emergence of massive datasets commonly encountered today, the need for powerful machine learning is of acute importance. Examples of successful applications include effective web search, anti-spam software, computer vision, robotics, practical speech recognition, and a deeper understanding of the human genome. This course gives an introduction to this exciting field. In the first part, we will introduce basic techniques such as logistic regression, multilayer perceptrons, nearest neighbor approaches, both from a theoretical and methodological point of views. In the second part, we will focus on more advanced techniques such as kernel methods, which is a versatile tool to represent data, in combination with (un)supervised learning techniques that are agnostic to the type of data that is learned from. The learning techniques that will be covered include regression, classification, clustering and dimension reduction. We will cover both the theoretical underpinnings of kernels, as well as a series of kernels that are important in practical applications. Finally we will touch upon topics of active research, such as large-scale kernel methods and the use of kernel methods to develop theoretical foundations of deep learning models.
UE Mathematical Foundations of Machine Learning
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Machine Learning is one of the key areas of Artificial Intelligence and it concerns the study and the development of quantitative models that enables a computer to perform tasks without being explicitly programmed to do them. Learning in this context is hence to recognize complex forms and to make intelligent decisions. Given all existing entries, the difficulty of this task lies in the fact that all possible decisions is usually very complex to enumerate. To get around that, machine learning algorithms are designed in order to gain knowledge on the problem to be addressed based on a limited set of observed data extracted from this problem. To illustrate this principle, consider the supervised learning task, where the prediction function, which infers a predicted output for a given input, is learned over a finite set of labeled training examples, where each instance of this set is a pair constituted of a vector characterizing an observation in a given vector space, and an associated desired response for that instance (also called desired output). After the training step, the function returned by the algorithm is sought to give predictions on new examples, which have not been used in the learning process, with the lowest probability of error. The underlying assumption in this case is that the examples are, in general, representative of the prediction problem on which the function will be applied. We expect that the learning algorithm produces a function that will have a good generalization performance and not the one that is able to perfectly reproduce the outputs associated to the training examples. Guarantees of learnability of this process were studied in the theory of machine learning largely initiated by Vladimir Vapnik. These guarantees are dependent on the size of the training set and the complexity of the class of functions where the algorithm searches for the prediction function. Emerging technologies, particularly those related to the development of Internet, reshaped the domain of machine learning with new learning frameworks that have been studied to better tackle the related problems. One of these frameworks concerns the problem of learning with partially labeled data, or semi-supervised learning, which development is motivated by the effort that has to be made to construct labeled training sets for some problems, while large amount of unlabeled data can be gathered easily for these problems. The inherent assumption, in this case, is that unlabeled data contain relevant information about the task that has to be solved, and that it is a natural idea to try to extract this information so as to provide the learning algorithm more evidence. From these facts were born a number of works that intended to use a small amount of labeled data simultaneously with a large amount of unlabeled data to learn a prediction function.
The intent of this course is to propose a broad introduction to the field of Machine Learning, including discussions of each of the major frameworks, supervised, unsupervised, semi-supervised and reinforcement learning.
UE Learning, Probabilities and Causality
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Causality is at the core of our vision of the world and of the way we reason. It has long been recognized as an important concept and was already mentioned in the ancient Hindu scriptures: “Cause is the effect concealed, effect is the cause revealed”. Even Democritus famously proclaimed that he would rather discover a causal relation than be the king of presumably the wealthiest empire of his time. Nowadays, causality is seen as an ideal way to explain observed phenomena and to provide tools to reason on possible outcomes of interventions and what-if experiments, which are central to counterfactual reasoning, as ‘‘what if this patient had been given this particular treatment?’’
UE Statistical learning: from parametric to nonparametric models
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course is related to mathematical and statistical methods which are very used in supervised learning.
It contains two parts.
In the first part, we will focus on parametric modeling. Starting with the classical linear regression, we will describe several families of estimators that work when considering high-dimensional data, where the classical least square estimator does not work. Model selection and model assessment will particularly be described.
In the second part, we shall focus on nonparametric methods. We will present several tools and ingredients to predict the future value of a variable. We shall focus on methods for non parametric regression from independent to correlated training dataset. We shall also study some methods to avoid the overfitting in supervised learning.
This course will be followed by practical sessions with the R software.
UE Mathematical optimization
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Safety Critical Systems: from design to verification
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Information vizualisation
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Interactive Information Visualization (InfoVis)
InfoVis is the study of interactive graphical representations of abstract data (e.g. graphs linking people in social networks, series of stock options values evolving over time).
Graphical representations are a powerfull way to leverage the human perceptual capabilities to allow the user to explore and make sense of abstract data, and also to expose findings and convey ideas.
But to be efficient, a visualization has to be designed using knowledge about the human visual perception, the characteristics of the data, the kind of task that will be performed on those data.
The aim of this course is to provide the keys, both theoretical and practical, to build usable and useful interactive visualizations.
program summary:
- foundations: human visual perception, graphical variables, data types, the visualization pipeline.
- linked data: tree and graph visualization
- tabular data: time series and spatial data visualization
- dealing with large data: aggregation, multiple views, interaction
- validating visualization: visualization tasks, evaluation
UE GPU Computing
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. The students will learn to identify the parallel pattern in numerical algorithm. The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using Graphic Processing Unit. In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.
- Introduction to parallelism
- Introduction to general context of parallelism
- Models of parallel programming
- Description of various model of parallelism
- Paradigm of parallelism
- Templates of parallelism
- Parallel architectures
- Programming tools: Cuda
UE Robotics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
A robot is a mechatronic system with perception, decision and action capabilities design to perform in an autonomous way different tasks in the real world. Whatever the robot (e.g. mobile robot, industrial arm, mobile manipulator) and the task that it has been assigned, the robot will have to move (move its whole body or a part of its body, e.g. arm, hand). Accordingly, motion autonomy is an essential skill for a robot. To achieve motion autonomy, it is required to solve a number of challenging problems in areas as diverse as sensor data processing, situation understanding, motion planning, obstacle avoidance and control. The purpose of the course is to present the main concepts, tools and techniques that Roboticists have developed in the past fifty years in order to address these challenges. The course has three parts that focus on different aspects: The first part is about robot state estimation and world modeling. It presents the most popular approaches to perform state estimation. The basic equations of the Bayes filter are derived first. Then, the Extended Kalman Filter is introduced. These methods are then used to explore the following fundamental estimation problems: 1) robot localization, 2) Simultaneous Localization and Mapping (SLAM), 3) cooperative localization, and 4) simultaneous localization and self-calibration. The structural properties of these problems are studied. In particular, it is shown how the computational complexity scales with the size of the state. Finally, more theoretical aspects related to estimation with special focus on state observability are discussed. The second part focuses on the decision-making aspects. Motion planning is addressed first in the seminal configuration space framework, the main configuration space-based motion planning techniques are reviewed. Then, to deal with the uncertainty of the real world and the discrepancy between the world and its model, reactive collision avoidance techniques are presented. Finally, motion safety is formally studied thanks to the Inevitable Collision State concept. The third part is an introduction to control theory for articulated robots. The objectives are to understand basic concepts about the kinematics and dynamics of articulated robots and basic control theory in order to approach classical control methods, as well as a few selected advanced topics. The kinematics of articulated robots is introduced first, covering advanced topics such as singularities, hierarchies of objectives, inequality constraints. A brief reminder about Newton, Euler and Lagrangian equations of motion as well as basic Lyapunov stability theory is also provided before discussing standard motion control schemes such as Proportional-Derivative, Computed Torque, Operational Space and Task Function approaches. Advanced topics such as space robots, biped robots, Viability theory and optimal control are also touched.
UE Cloud Computing, from infrastructure to applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course provides an overview of cloud computing principles, building blocks and applications.
Over the past 15 years, the emergence of cloud computing infrastructures has fundamentally impacted the way to design and deploy software, in most application domains. At the core of IT infrastructures, cloud computing is today the main platform for implementing and deploying robust, scalable, potentially geo-distributed, elastic applications. Together with DevOps methods, it allows IT companies to rapidly deliver reliable software.
The course studies :
- The low-level mechanisms enabling the cost-efficiency, performance, scalability and resilience of cloud infrastructures,
- The software design principles involved in the construction of (distributed) cloud applications,
- The cloud services facilitating the implementation of cloud-native applications.
Through lectures, practical sessions, and the study of recent research publications (from academia and industry), students will learn about the core principles and usage of:
- Virtualization technologies (hypervisors, kernels, and containers) enabling flexible, efficient, safe and secure hosting of code and data on a shared hardware and software infrastructure;
- The fundamental aspects of cloud infrastructures, services, and design patterns for the construction of efficient, scalable and resilient distributed applications;
- Microservice architectures, allowing organizations to design, develop and manage complex software services in an extremely modular way.
UE Advanced Machine Learning: Applications to Vision, Audio and Text
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course is split into two parts. During the first part, a wide range of machine learning algorithms will be discussed. The second part will focus on deep learning, and presentations more applied to the three data modalities and their combinations. The following is a non-exhaustive list of topics discussed:
- Computing dot products in high dimension & Page Rank
- Matrix completion/factorization (Stochastic Gradient Descent, SVD)
- Monte-carlo, MCMC methods: Metropolis-Hastings and Gibbs Sampling
- Unsupervised classification: Partitionning, Hierarchical, Kernel and Spectral clustering
- Alignment and matching algorithms (local/global, pairwise/multiple), dynamic programming, Hungarian algorithm,…
- Introduction to Deep Learning concepts, including CNN, RNN, Metric learning
- Attention models: Self-attention, Transformers
- Auditory data: Representation, sound source localisation and separation.
- Natural language data: Representation, Seq2Seq, Word2Vec, Machine Translation, Pre-training strategies, Benchmarks and evaluation
- Visual data: image and video representation, recap of traditional features, state-of-the-art neural architectures for feature extraction
- Object detection and recognition, action recognition.
- Multimodal learning: audio-visual data representation, multimedia retrieval.
- Generative Adversarial Networks: Image-image translation, conditional generation
UE Natural Language Processing & Information Retrieval
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The automatic processing of languages, whether written or spoken, has always been an essential part of artificial intelligence. This domain has encouraged the emergence of new uses thanks to the arrival in the industrial field of many technologies from research (spell-checkers, speech synthesis, speech recognition, machine translation, …). In this course, we present the most recent advances and challenges for research. We will discuss discourse analysis whether written or spoken, text clarification, automatic speech transcription and automatic translation, in particular recent advances with neural models.
Information access and retrieval is now ubiquitous in everyday life through search engines, recommendation systems, or technological and commercial surveillance, in many application domains either general or specific like health for instance. In this course, we will cover Information retrieval basics, information retrieval evaluation, models for information retrieval, medical information retrieval, and deep learning for multimedia indexing and retrieval
UE Information Security
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Course content
Part 1: Access Control, or how to prevent unauthorized people from entering or accessing a system?
This part deals with:
- Cryptology for authentication and trust;
- security needs : confidentiality, availability, integrity, non-repudiation (CAI/DICP);
- cryptology primitives : private and public key ; trusted infrastructure (PKI and ledgers).
- zero-knowledge protocols; secret sharing and multiparty computation / or Practical work with Open SSL
- Access control mechanisms (MAC, DAC, RBAC, ABAC) and their implementations
- The detection and remediation of security breaches such as intrusions and insider attacks
- The deployment of control filters in applications and proxies.
The presented approach is built on the model-driven security paradigm (MDS). It refers to the process of modeling security requirements at a high level of abstraction, and generating technical security implementations. Security models are transformed into enforceable security rules including the run-time security management (e.g. entitlements/authorisations). Three labs are planned:
- B4MSecure: we will apply a formal language with animation and model-checking facilities to identify security breaches in Access Control policies.
- Snort: in this practical session you will set a local environment to simulate two machines, the target machine and the attacker. You will learn how to create firewall rules, monitor your network and how to react when an attack is detected.
- Metasploit: you will discover technology intelligence for vulnerabilities through a practical session where you will reproduce an exploit to hack and take control over a web-based server.
Part 2: Overview of modern attacks on systems, protocols, and networks and countermeasures
This part is devoted to modern attacks carried out on the Internet scale, in particular attacks on the DNS system (Domain Name System), such as cache or zone poisoning attacks, reflection and amplification of DDoS attacks (Distributed Denial of Service), IP spoofing - the root cause of DDoS attacks, botnets (e.g., Mirai), domain generation algorithms used for command-and-control communications, modern malware (e.g., Emotet trojan, Avalanche), spam, phishing, and business email compromise (BEC) scams.
The module will discuss preventative measures and security protocols to fight modern attacks, such as DDoS protection services, IP source address validation (SAV) known as BCP 38, Sender Policy Framework, and DMARC protocols as the first line of defense against email spoofing and BEC fraud, and DNSSEC to prevent DNS manipulation attacks. It will also discuss large-scale vulnerability measurements (a case study of the zone poisoning attack) and the challenges of deploying current security technologies by the system and network operators.
This part will be concluded with a practical team assignment in which students will be divided into groups and will have to configure a secure system in a real-world environment. The goal is to secure their system against the various types of discussed attacks and exploit other groups' systems.
UE Human Computer Interaction
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Next Generation Software Development
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Stage
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE GS_MSTIC_Ethique de la recherche
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE est obligatoire pour les étudiant.e.s inscrit.e.s dans le PT MSTIC.
Elle est constituée d'une projet tutoré et d'un MOOC consacré à l'éthique de la Science.
UE Advanced models and methods in operations research
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course presents advanced methods and technics for Operations Research.
Reminder :
Linear Programming, Dynamic Programming, MIP modelling and BB
Complexity (P, NP, Co-NP)
Advanced MIP :
formulation, cuts, bounds
applications
lagragian relaxation
column generation
Benders decomposition
Solvers
Constraint Programming
Heuristics
local search
approximation algorithms
UE Combinatorial optimization and graph theory
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to provide a broad knowledge of fundamental problems in Combinatorial Optimization to show their algorithmic solutions and to derive min-max results on them. In order to achieve this goal a new object called a polyhedron is introduced. This polyhedral approach helps to shed new light on some classic results of Combinatorial Optimization.
Syllabus: Study of polyhedra associated to problems of Combinatorial Optimization ; Theory of blocking polyhedra ; Connectivity: shortest paths, spanning trees and spanning arborescences of minimum weight ; Flows: Edmonds-Karp Algorithm, Goldberg-Tarjan Algorithm, minimum cost flows ; Matchings: Hungarian method, Edmonds' Algorithm, Chinese postman problem; Matroids: greedy algorithm, intersection of two matroids ; Graph coloring ; Applications coming from various areas of Operations Research.
UE Optimization under uncertainty
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The objective of this course is to present different techniques to handle uncertainty in decision problems. These techniques will be illustrated on several applications e.g. inventory control, scheduling, energy, machine learning.
Syllabus : Introduction to uncertainty in optimization problems; Reminders (probability, dynamic programming, ...); Markov chains; Markov decision processes; Stochastic programming; Robust optimization
UE Constraint Programming, applications in scheduling
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Graph and discrete structures
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to learn how to use the structure of graphs and other discrete objects to obtain general results on them, and in particular efficient algorithms solving important problems.
We will cover the following topics:
- Structural Graph Theory: we will study the structure of important graph classes with nice algorithmic properties (planar graphs, interval graphs, comparability graphs, ...) and show several concrete problems that can be solved thanks to their structural properties.
- Graph Drawing: with the rise of Big Data, representing huge data sets is a fundamental challenge. Efficient ways to represent large graphs will be presented.
- Codes: we will see various codes (dominating, locating, identifying, ...) in graphs and their applications.
- Extremal combinatorics: the typical question in this field is "what global condition do we need to impose in some graph in order to make sure that some nice structure appears locally?" We will introduce a powerful tool called "the probabilistic method", an show how it can be applied to solve problems in this important area of research.
UE Advanced heuristic and approximation algorithms
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Advanced mathematical programming methods
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Academic and industrial challenges
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
This course offers the possibility for the students to gain some experience by facing open/difficult combinatorial problems.
The goal is to model and solve a combinatorial problem with direct industrial applications. We expect the students to take a variety of approaches (local search, compact/extended linear programming formulations, constraint programming, ...) and establish useful results (lower bounds, cuts, complexity,...).
The experimental results will be compared to the litterature (a known academic open benchmark will be available in this case) or will be validated by the industrial partner.
UE Transport Logistics and Operations Research
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Presenting models and tools for solving problems of company location and transport management in a supply chain.
Description:
This course presents two aspects: strategic design of a distribution network in a supply chain and tactical-operational aspects of network management.
For each aspect the course develops two key points:
- in network design, the choice of location and the establishment of services (production site, warehouse, logistics platform) and the synthesis of the transport network (connections / roads between production sites, warehouses, logistics centres)
- in network management, planning and modes of distribution transport (planning delivery rounds, number and types of vehicles).
For each of the three problem areas: location, delivery rounds and network design, students will study both modelling and techniques for accurate resolution (Branch-and-Bound) plus techniques for approximate resolutions (Lagrangian relaxation , metaheuristics) and how they are set up in commercial software (OPL-CPLEX Studio, Excel solver), or free software (COIN, lp-solve) or ad-hoc.
Evaluation :
Individual written exam (1/2 of the final mark) and group project (1/2 of the final mark).
UE Stage
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
UE Software security, secure programming and computer forensics
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'objectif de ce cours est de permettre aux étudiants d'acquérir les notions suivantes :
- savoir identifier les forces/faiblesses d'un langage de programmation du point de vue de la sécurité ;
- connaitre les principales causes et conséquences des vulnérabilités logicielles usuelles
- connaitre les mécanismes de protection fournis par les compilateurs, par les OS - comprendre les principales techniques d'analyse de code pour la sécurité (leurs intérêts, leurs limites)
UE Security architectures
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Introduction
- Motivation/Diffie-Hellman ; MitM ; Kerberos ;
- Electronic Signatures ; DSS ; RSA-PSS ;
- References : RFC/PKCS/FIPS
- Key Management.
- PKI elements, functions ; Certificates, ASN.1, X509, CRL ;
- Trust models
- PKIX : Administration ; migration ; OCSP, SCVP, Novomodo;
- Cross-certification ; Bridge ;
- Embedded Model : Certificates Browsers/OS; pinning, EV certs, notaries, bulletin board ;
- PGP + GnuPG ; Spooky/Sudsy ; IBE; CBE ;
- Authentification by PKI
- fips-196 and variants
- Key transport
- Authenticated Diffie-Hellman (SIGMA)
- TLS (handshake)
- Cybersecurity of industrial IT
- Electronic Signature and industrial PKI
- Certification and Security Policies
- PKI deployement in industry
- Attacks against certification authorities and similar services
- Evaluation Criteria and regulations (common criteria ; RGS ; e-IDAS)
- Application Security
- Transactions: EMV ; SET ; 3D-Secure ; bitcoin
- Messaging: E-mail, S/MIME ; OTR
- Web: https
- Threats
- Introduction / Concepts / Threat Landscape
- Network Architecture - Theats / Protection Layer 1 to 7
- Communication Security
- VPN: TLS, IPsec
- Firewall / proxying
- Wireless Security
- IPv6
- Routing: DNS / DNSSec ; TOR
- Canal: TLS ; IPsec
- OS Security
- hardening
- SeLinux, AppArmor, GRSec
- HIDS
UE Cryptographic engineering, protocols and security models, data privacy, coding and applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course present the main cryptographic primitives and security protocols, focusing on security parameters and properties.
Pedagogical goals:
- generic cryptographic primitives: one-way, trap-door and hash functions; random generators; symmetric and assymertic cipher; interactive protocols;
- security properties : complexity and reduction proofs; undistinguidhability; non-malleability; soundness, completeness and zero-knowledge; confidentiality; authentication; privacy; non-repudiation
- use, deployment and integration of protocols in standard crypro lib (eg open-ssl)
- security proofs : fundations and verification based on tools (eg avispa)
UE Threat and risk analysis, IT security audit and norms
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Concepts : Menaces, Risques, Vulnérabilités. Introduction aux méthodes et outils d’évaluation et d’audit de sécurité (ISO 27005, EBIOS, OSTMM)
UE Physical Security : Embedded, Smart Card, Quantum & Biometrics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Systèmes embarqués : Principes de conception des systèmes embarqués ; cartes-à-puce, structure et attaques physiques ; Design for Test et attaques aux structures de test ; attaques par canaux auxiliaires ; attaques par fautes ; contre-mesures aux attaques citées.
Biométrie : objectifs, principe fondamental, vérification/authentification, les diverses modalités biométriques, examen des modalités les plus usitées (empreinte digitale, reconnaissance faciale, iris) tant du coté capteur que du coté algorithme, le marché de la biométrie, les déjà nombreuses applications existantes (commerciales, gouvernementales), évaluation des performances biométriques (FAR & FRR), normalisation, le sécurité des systèmes biométriques (cryptographie / détection de vitalité), introduction à la biométrie intriquée avec la cryptographie (le Grâal de la biométrie), protection de la vie privée, mythes et réalités.
Quantique : les postulats de la mécanique quantique ; comment utiliser l'information quantique pour faire des calculs, circuits et algorithmes quantiques ; description de l'information quantique, matrices de densités, mesures POVM, Fidélité , entropie ; codes correcteurs d'erreur quantiques ; un peu de complexité de communication quantique ; utiliser l'information quantique pour faire de la cryptographie théoriquement "secure", protocole d’échange de clé BB84
UE Advanced Security
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Advanced Cryptology
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to present some advanced topics in cryptography. The exact content may vary from one year to another; as an indication past topics have included:
- Linear secret sharing schemes (code-based schemes, access structures...)
- Provable constructions in symmetric cryptography (building block cipher from ideal permutations)
- Symmetric cryptanalysis (statistical and algebraic)
- Algorithms and constructions in code-based cryptography (information-set decoding, LPN)
- Zero-knowledge proofs
- Advanced signatures (group signatures...)
- Advanced constructions (oblivious transfer, group encryption...)
- Post-quantum cryptography
- Elliptic-curve and isogeny-based cryptography
UE Stage Cybersecurité
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
(en entreprise ou laboratoire)
UE GS_MSTIC_Ethique de la recherche
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE est obligatoire pour les étudiant.e.s inscrit.e.s dans le PT MSTIC.
Elle est constituée d'une projet tutoré et d'un MOOC consacré à l'éthique de la Science.
UE Software security, secure programming and computer forensics
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'objectif de ce cours est de permettre aux étudiants d'acquérir les notions suivantes :
- savoir identifier les forces/faiblesses d'un langage de programmation du point de vue de la sécurité ;
- connaitre les principales causes et conséquences des vulnérabilités logicielles usuelles
- connaitre les mécanismes de protection fournis par les compilateurs, par les OS - comprendre les principales techniques d'analyse de code pour la sécurité (leurs intérêts, leurs limites)
UE Security architectures
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Introduction
- Motivation/Diffie-Hellman ; MitM ; Kerberos ;
- Electronic Signatures ; DSS ; RSA-PSS ;
- References : RFC/PKCS/FIPS
- Key Management.
- PKI elements, functions ; Certificates, ASN.1, X509, CRL ;
- Trust models
- PKIX : Administration ; migration ; OCSP, SCVP, Novomodo;
- Cross-certification ; Bridge ;
- Embedded Model : Certificates Browsers/OS; pinning, EV certs, notaries, bulletin board ;
- PGP + GnuPG ; Spooky/Sudsy ; IBE; CBE ;
- Authentification by PKI
- fips-196 and variants
- Key transport
- Authenticated Diffie-Hellman (SIGMA)
- TLS (handshake)
- Cybersecurity of industrial IT
- Electronic Signature and industrial PKI
- Certification and Security Policies
- PKI deployement in industry
- Attacks against certification authorities and similar services
- Evaluation Criteria and regulations (common criteria ; RGS ; e-IDAS)
- Application Security
- Transactions: EMV ; SET ; 3D-Secure ; bitcoin
- Messaging: E-mail, S/MIME ; OTR
- Web: https
- Threats
- Introduction / Concepts / Threat Landscape
- Network Architecture - Theats / Protection Layer 1 to 7
- Communication Security
- VPN: TLS, IPsec
- Firewall / proxying
- Wireless Security
- IPv6
- Routing: DNS / DNSSec ; TOR
- Canal: TLS ; IPsec
- OS Security
- hardening
- SeLinux, AppArmor, GRSec
- HIDS
UE Cryptographic engineering, protocols and security models, data privacy, coding and applications
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The course present the main cryptographic primitives and security protocols, focusing on security parameters and properties.
Pedagogical goals:
- generic cryptographic primitives: one-way, trap-door and hash functions; random generators; symmetric and assymertic cipher; interactive protocols;
- security properties : complexity and reduction proofs; undistinguidhability; non-malleability; soundness, completeness and zero-knowledge; confidentiality; authentication; privacy; non-repudiation
- use, deployment and integration of protocols in standard crypro lib (eg open-ssl)
- security proofs : fundations and verification based on tools (eg avispa)
UE Threat and risk analysis, IT security audit and norms
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Concepts : Menaces, Risques, Vulnérabilités. Introduction aux méthodes et outils d’évaluation et d’audit de sécurité (ISO 27005, EBIOS, OSTMM)
UE Physical Security : Embedded, Smart Card, Quantum & Biometrics
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Systèmes embarqués : Principes de conception des systèmes embarqués ; cartes-à-puce, structure et attaques physiques ; Design for Test et attaques aux structures de test ; attaques par canaux auxiliaires ; attaques par fautes ; contre-mesures aux attaques citées.
Biométrie : objectifs, principe fondamental, vérification/authentification, les diverses modalités biométriques, examen des modalités les plus usitées (empreinte digitale, reconnaissance faciale, iris) tant du coté capteur que du coté algorithme, le marché de la biométrie, les déjà nombreuses applications existantes (commerciales, gouvernementales), évaluation des performances biométriques (FAR & FRR), normalisation, le sécurité des systèmes biométriques (cryptographie / détection de vitalité), introduction à la biométrie intriquée avec la cryptographie (le Grâal de la biométrie), protection de la vie privée, mythes et réalités.
Quantique : les postulats de la mécanique quantique ; comment utiliser l'information quantique pour faire des calculs, circuits et algorithmes quantiques ; description de l'information quantique, matrices de densités, mesures POVM, Fidélité , entropie ; codes correcteurs d'erreur quantiques ; un peu de complexité de communication quantique ; utiliser l'information quantique pour faire de la cryptographie théoriquement "secure", protocole d’échange de clé BB84
UE Advanced Security
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Advanced Cryptology
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
The aim of this course is to present some advanced topics in cryptography. The exact content may vary from one year to another; as an indication past topics have included:
- Linear secret sharing schemes (code-based schemes, access structures...)
- Provable constructions in symmetric cryptography (building block cipher from ideal permutations)
- Symmetric cryptanalysis (statistical and algebraic)
- Algorithms and constructions in code-based cryptography (information-set decoding, LPN)
- Zero-knowledge proofs
- Advanced signatures (group signatures...)
- Advanced constructions (oblivious transfer, group encryption...)
- Post-quantum cryptography
- Elliptic-curve and isogeny-based cryptography
UE Stage Cybersecurité
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
(en entreprise ou laboratoire)
UE Algorithmique
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
L'algorithmique est traitée sous trois aspects complémentaires : (1) méthodes d'analyse de problèmes et de construction de programmes ; (2) styles d'expression (impératif, fonctionnel) ; (3) Classes d'algorithmes liées soit à des structures d'information (séquences, arbres, ...), soit à des problèmes spécifiques (tri, gestion de tables, ...). Les objectifs de l'enseignement sont les suivants :
- Développer la capacité d'abstraction lors de la résolution des problèmes.
- Développer un savoir-faire méthodologique et technique : spécification de problèmes, énoncé de principes de solutions, application de schémas d'analyse, utilisation de structures de données abstraites.
- Initier aux concepts et techniques d'analyse des propriétés des algorithmes : preuve de correction partielle et de terminaison ; dénombrement d'opérations.
- Approfondir les techniques de représentation de structures fondamentales (sous forme contigüe ou chaînée) : ensembles, relations, séquences, arbres.
- Installer de bonnes habitudes et de bons réflexes en ce qui concerne : la lecture d'énoncés, la recherche d'idées de solutions, l'utilisation correcte des moyens d'expression, le recours à des techniques répertoriées.
Tout ceci est complété par l'enseignement "langages et programmation" et en particulier l'expérimentation pratique qu'il comporte.
Programme résumé :
- Langage des fonctions : expressions, fonctions, composition fonctionnelle, composition conditionnelle ; calcul de types
- Langage des actions : actions, états, assertions, invariants ; paramétrisation ; composition d'actions (séquentielle, conditionnelle, itérative)
- Construction méthodique d'itérations : schémas d'analyse
- Tableaux : accès direct, accès séquentiel, indirection ; schémas de traitement itératif.
- Ensembles, séquences, piles, files : algorithmes de base et représentation à l'aide de tableaux
- Notion de chaînage et application à la représentation des séquences
- Modèles d'accès séquentiel et algorithmes généraux associés
- Définitions inductives de types et de fonctions : cas des entiers naturels, des séquences et des arbres binaires.
- Composition récursive de fonctions : schémas d'analyse et application au traitement de séquences et d'arbres
- Composition récursive d'actions : schémas d'analyse et application au traitement de tableaux et de listes chaînées
- Représentation chaînée des arbres et des forêts : algorithmes récursifs et itératifs de base.
UE Bases de données
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Le but de ce cours est d'acquérir les compétences essentielles pour construire une base de données sans erreur de conception à travers des diagrammes conceptuels UML ainsi qu'a maîtriser l'expression de requêtes d'interrogation et création en SQL
Le cours aborde :
- Le modèle relationnel de données
- Un langage relationnel : SQL
- Les diagrammes de classes UML
- Introduction à la normalisation
- Les bases de la mise en oeuvre d'une application de BD
Les expérimentations sont effectuées avec le SGBD Oracle.
UE Génie logiciel
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Fiche descriptive de l'UE : ici
Connaître et maîtriser les concepts et méthodologies du développement de logiciels
Application des principes de génie logiciel dans le processus de développement.
Utilisation de modèles pour la conception et la validation.
Eléments de gestion de projets et d'assurance qualité.
Sujets abordés :
Le génie logiciel dans le processus de développement
Cycles de vie du logiciel
Modélisation, introduction à UML
Liaisons entre différents types de modèles et traçabilité
Éléments pour la spécification, la conception et le test
Outils pour le génie logiciel (p.e. gestion de version, documentation, ...)
Qualité et éléments de gestion de projet
Introduction à la conception d'interfaces homme machine
Conception basée modèles des interfaces homme machine
UE Programmation et langages
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cette UE comprend deux matières :
Programmation :
Connaissance et pratique de C, programmation par objets en Java
Langage machine : Composition matérielle des ordinateurs, langage machine, assembleur
Programmation
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Maîtriser les bases d'un langage de programmation impératif "généraliste" (le langage C) ; appréhender les problématiques liées à la programmation (codage, compilation, deboggage, tests).
Programme résumé:
- "programme" et "langage de programmation"
- notion de type, les types en langage C
- représentation contiguë de séquence, les tableaux en C
- sous-programmes et paramètres, pointeurs
- allocation dynamique et chaînage
- programmation modulaire
- compilation séparée, Makefile
- tester et débogger un programme, l'outil gdb
Cet enseignement se termine par un "projet de programmation" à temps plein sur une semaine permettant de mettre en pratique l'ensemble des concepts présentés.
Langage machine
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Introduire la notion de langage machine, l'accent étant mis sur la traduction en langage d'assemblage de primitives du langage C.
Acquisition de concepts fondamentaux : adresses, valeurs, pointeurs et tableaux,appel de procédures et paramètres.
MaÎtrise de la manipulation des pointeurs et des tableaux en langage C.
Programme résumé :
Notion d'architecture de Von Neumann
Arithmétique en base 2
Notion de langage machine et d'assemblage
Accès aux variables stockées en mémoire.
Branchements et constructeurs algorithmiques
Tableaux et pointeurs C
Gestions des procédures
UE Programmation, Langages et Technologies du Web
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Fiche descriptive de l'UE : ici
L’objectif de cette UE qui regroupe les enseignements Applications Internet et Programmation Langages (Programmation par Objets) est double :
- donner une vision Full-Stack du développement d’applications Web en offrant un panorama des technologies mises en œuvre tant du côté client que du côté serveur
- introduire les concepts de base de la programmation objets.
A l’issue de cet enseignement, complété par le projet d’intégration, les étudiants auront une compréhension globale du fonctionnement des applications Web et une connaissance de la programmation objet leur permettant d’aborder l’ensemble des activités de développement logiciel. Sans en faire des spécialistes de telle ou telle technologie, l’UE PLAI vise à donner aux étudiants toutes les clés qui leur permettront de s’approprier plus facilement, selon leur évolution future, les langages, cadriciels (frameworks) et outils nécessaires au développement d’applications modernes.
Programme résumé
Application Internet (AI)
- Principes de fonctionnement du web
- HTML5 : principes de bases
- CSS3 : principes de base, sélecteurs
- JavaScript : éléments de base du langage, manipulation du DOM, gestion des événéments, introduction à l’approche objet (prototypes)
- Protocole HTPP - serveur http (apache2) (installation, configuration)
- Application web dynamiques :
- génération de contenu côté serveur,
- l’approche JEE : Servlets, JSP, conteneur web (serveur tomcat)
- accès à un SGBD : JDBC
- AJAX : Communication asynchrone client/serveur, JQuery
- Cadriciels (frameworks) pour le développement d’application web
- paradigme Modèle/Vue/Contrôleur (MVC)
Programmation Langages : Approche Objets
Cet enseignement s’effectue à travers l’étude du langage Java. Il a pour but de présenter les principes d’un langage de classes, les notions étudiées en Java pouvant être ensuite facilement transposées à d’autres langages (C#, C++, Python…). Les points abordés sont :
- concepts de base de l'approche par objets
- encapsulation des données,
- classes / instances
- héritage et abstraction
- héritage d’implémentation
- classes abstraites,
- polymorphisme, lien dynamique
- programmation par contrats, interfaces
- généricité
- types génériques
- les collections
- tests unitaires
- JUnit
Cet apprentissage de Java est complété par l’étude des technologies Java pour le web dynamique (Servlets, JSP, JDBC) effectuée dans la partie AI (Application Internet) de cet enseignement.
Les deux cours AI et PL2 (Programmation Objet), s’appuient sur une forte activité pratique. A chaque cours sont associés des exercices pratiques devant être réalisés sur machine. Les séances de travaux pratiques ont lieu indifféremment dans un environnement Windows ou Linux. Elles permettent d’introduire, en complément des langages étudiés en cours, les outils indispensables au développement d’applications : outils de développement web (console, déboguer JavaScript, analyse de requêtes http...), environnement de développement intégré (IDE) (éditeur syntaxique, débogueur, compilation (ant, maven), gestion de versions (Git)…). Si les outils étudiés sont ceux du navigateur Firefox et l’IDE NetBeans, là aussi l’approche se veut suffisamment générale pour permettre aux étudiants d’évoluer ensuite plus facilement vers des outils spécifiques.
L’ensemble des notions abordées dans ces deux enseignements seront mis en œuvre dans le projet d’intégration.
Programmation Objet-Java
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Technologie du Web
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Réseau et systèmes
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Maîtriser les concepts élémentaires des réseaux et des systèmes d'exploitation (du point de vue de l'utilisateur et du programmeur d'applications).
Partie Système :
Les compétences visées sont la manipulation simple de fichiers et de processus, via le langage C et les deux niveaux d'interface de programmation d'applications (API) d'un système POSIX (norme UNIX).
- processus POSIX : création et terminaison
- ouverture, lecture, écriture et fermeture de fichiers (API C et API du noyau POSIX)
- entrée standard et sortie standard : redirections et communication par tube
- concurrence et outils de synchronisation : atomicité, verrou et sémaphore
Partie Réseaux :
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans les principaux protocoles du réseau Internet, il permet de comprendre les notions suivantes :
- supports et codage physique,
- mise en paquet de l'information,
- accès multiple au support (protocole Ethernet),
- détection et correction d'erreurs,
- récupération d'erreur par re-émission,
- contrôle de flux,
- adressage et routage (protocole IP)
- programmation d’applications client/serveur
Cet enseignement permet ainsi d'acquérir les premières compétences nécessaires à l'administration et l'utilisation intelligente des réseaux informatiques.
Réseaux
Niveau d'étude
Bac +5
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Cet enseignement est une introduction aux nombreuses problématiques liées aux transferts d'information entre ordinateurs. En détaillant les solutions concrètes mises en oeuvre dans les principaux protocoles du réseau Internet, il permet de comprendre les notions suivantes :
- supports et codage physique,
- mise en paquet de l'information,
- accès multiple au support (protocole Ethernet),
- détection et correction d'erreurs,
- récupération d'erreur par re-émission,
- contrôle de flux,
- adressage et routage (protocole IP)
- programmation d’applications client/serveur
Cet enseignement permet ainsi d'acquérir les premières compétences nécessaires à l'administration et l'utilisation intelligente des réseaux informatiques.
Systèmes
Niveau d'étude
Bac +5
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Les compétences visées sont la manipulation simple de fichiers et de processus, via le langage C et les deux niveaux d'interface de programmation d'applications (API) d'un système POSIX (norme UNIX).
- processus POSIX : création et terminaison
- ouverture, lecture, écriture et fermeture de fichiers (API C et API du noyau POSIX)
- entrée standard et sortie standard : redirections et communication par tube
- concurrence et outils de synchronisation : atomicité, verrou et sémaphore
UE Applications web Avancées
Niveau d'étude
Bac +5
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
UE Projet d'intégration
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Fiche descriptive de l'UE : ici
UE Stage CCI
Niveau d'étude
Bac +5
ECTS
24 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Fiche descriptive de l'UE : ici
Programme résumé :
Le stage en entreprise ou en laboratoire est obligatoire, de 5 mois minimum, et se déroule à temps plein entre début avril et fin septembre.
Il a pour objectif :
- de mettre en application une partie des compétences techniques et théoriques acquises lors des enseignements du Master CCI ;
- de réaliser un "travail informatique" dans un cadre professionel.
Le sujet de stage doit être validé par le responsable des stages. L'évaluation du stage se fait à travers un rapport, une soutenance, et l'avis du tuteur en entreprise ou laboratoire.
La recherche du stage est à la charge de l’étudiant. Une liste d’entreprise susceptible de proposer des stages est à disposition sur le site WEB du Master CCI ainsi que via le bureau des stages de l’UFR-IM2AG.
UE Ingénierie cryptographique et protocoles
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Outils mathématiques.
- Mécanismes cryptographiques ; primitives
cryptographiques (symétriques, asymétriques, fonctions de hachages), générateurs d'aléa, implantations et problèmes de performances, analyses et contre-mesures, standards et recommandations, mise en oeuvre pratique. Contexte post-quantique.
- Ingénierie des protocoles et modèles de sécurité.
UE Architecture de sécurité
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Architecture réseaux, administration et sécurisation
- Infrastructures sécurisées ; PKI (classique et implifiée, dynamique),
infrastructure sans certificat, infrastructure basée sur l'identité,
gestion d'identités. PKI industrielle.
- Description des organismes nationaux et leurs
missions ; CERT, DCSSI, ANSSI, SGDSN, etc.
- Exemples fondamentaux : le web, la messagerie, le backup
- Méthodes biométriques
UE Sécurité des composants et des logiciels
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Méthodes et outils de développements de
produits logiciels de sécurité
- Sécurités des composants, des OS (boot
process) et des systèmes embarqués ; cartes à
puces, FPGA, RFID, smartphones.
- Applications multimédias
UE Informatique légale et aspects législatifs et politiques de la cybersécurité
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Investigation numérique et «forensic informatique» : outils, data recovery,
méthodologie de recherches et d'enquêtes, analyse de données.
- Cadre juridique (en France, en Europe et comparatif avec
d'autres pays), Lois de l'économie numérique, Cyber-espace
- Géopolitique d'Internet
- Intelligence économique et sécurité numérique
UE Audit et analyse de risques
Niveau d'étude
Bac +5
ECTS
6 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
- Audit, qualification, certification, homologation
(ISO 27001, Mehari, Ebios...)
- Mécanismes d'intrusion et sécurisation
- Menaces : botnets, malware, phishing, virologie
UE Projet de Cybersécurité ou Informatique légale en entreprise
Niveau d'étude
Bac +5
ECTS
30 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Printemps (janv. à avril/mai)
Projet en entreprise
Admission
Conditions d'admission
Le master 1re année est ouvert aux personnes qui ont obtenu un diplôme national conférant le grade de licence dans un domaine compatible avec celui du master ou une validation d'études ou d'acquis. L'entrée en 2e année est sélective. Elle est ouverte sur dossier aux candidats titulaires d'une première année de Master dans le domaine.
Public formation continue : vous relevez de la formation continue :
- si vous reprenez vos études après 2 ans d'interruption d'études
- ou si vous suiviez une formation sous le régime formation continue l’une des 2 années précédentes
- ou si vous êtes salarié, demandeur d'emploi, travailleur indépendant
Si vous n'avez pas le diplôme requis pour intégrer la formation, vous pouvez entreprendre une démarche de validation des acquis personnels et professionnels (VAPP).
Pour plus d'informations, consultez la page web de la Direction de la formation continue et de l’apprentissage
Consulter les tarifs s’appliquant aux publics de la formation continue (lien : https://www.univ-grenoble-alpes.fr/consulter-nos-tarifs/)
Candidature
Vous souhaitez candidater et vous inscrire ? Sachez que la procédure diffère selon le diplôme envisagé, le diplôme obtenu, ou le lieu de résidence pour les étudiants étrangers.
Et après
Insertion professionnelle statistiques
Retrouvez toutes les informations concernant le taux de réussite au diplôme et le devenir de nos diplômés (lien : https://www.univ-grenoble-alpes.fr/formation/devenir-de-nos-diplomes/)
Il est également possible de consulter nos documents-ressources Des études à l’emploi classes par domaines de formation (lien : https://prose.univ-grenoble-alpes.fr/metiers-secteurs/choisir-une-thematique-ou-un-secteur/)
Les + de la formation
La mention Informatique s’appuie sur les laboratoires en informatique et mathématiques de Grenoble, ainsi que sur l’INRIA Rhones-Alpes, le LabEx Persyval-lab et l'Institut Carnot Logiciels et systèmes intelligents (LSI)