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
Anglais
Présentation
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.
Compétences
Les UEs du semestre 8 sont pour la plupart des UE introductives aux UEs des différentes spécialités de 2e année. En ce sens, elles constituent des formations pour la recherche. La 2e année de master permet d’acquérir des compétences organisationnelles et liées au travail du chercheur :
- Formuler un problème de recherche et proposer une solution
- Situer un problème de recherche dans la littérature scientifique
- Évaluer et valider une solution à un problème de recherche
- Rédiger une publication scientifique
- Communiquer les résultats d'un travail de recherche
- Développer et utiliser les outils mathématiques et informatiques
- Maîtriser les logiciels et matériels informatiques
- Communiquer en anglais et en français
- Devenir spécialiste d’un domaine de l’informatique en lien avec la recherche en informatique sur le site soit : systèmes d’information et ingénierie avancée des logiciels - informatique centrée humain - fondements de l’informatique : conception et validation - intelligence artificielle et Web - graphiques, vision et robotique - systèmes interactifs et ubiquitaires - systèmes embarqués, parallèles et distribués
Formation internationale
Formation tournée vers l’international
Dimension internationale
Dans le cadre de cette formation, vous avez la possibilité de partir étudier durant un semestre ou une année dans un établissement partenaire de l’UGA à l’international.
Le correspondant relations internationales de votre composante pourra vous renseigner.
Plus d’informations sur : https://international.univ-grenoble-alpes.fr/partir-a-l-international/partir-etudier-a-l-etranger-dans-le-cadre-d-un-programme-d-echanges/
Possibilité de faire un double diplôme avec l'Université de Swansea.
Organisation
Stage à l'étranger
En France ou à l'étranger
Programme
Spécificités du programme
Programme en cours de construction - en attente de vote CFVU
Sélectionnez un programme
Master MoSIG 1re année
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
Master 1re année parcours cybersecurity
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
Master 1re année parcours cybersécurité et informatique légale (CSI)
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
Master 1re année parcours ORCO
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
Master 1re année parcours Génie Informatique
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
Master MoSIG 1re année parcours Graduate School
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
Master MoSIG 2e année parcours classique
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
Master MoSIG 2e année parcours Graduate School
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
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 co