Programme Structure
First year, 1st semester
Compulsory courses (12 ECTS)
- QCLG: Quantum circuits and logic gates, 3 ECTS, Quantum circuits are a common language in quantum information, blending insights and techniques from both computer science and physics. Single and two qubit gates, as well as Toffoli gates and some small circuits. Students from both backgrounds are paired to work together in tutorials and hand on sessions with digital tools to manipulate quantum circuits.
- QK4CS: Quantum Kinematics for computer scientists, 3 ECTS, Quantum kinematics needed to understand theoretical quantum information (Hilbert spaces in physicists notations, unitary transformations, projective measurements and POVMs, density matrices and partial traces).
- QPh4CS: Quantum physics for computer scientists, 6 ECTS, Quantum dynamics (Hamiltonian, evolution operator, dissipation). Link with some quantum information physical implementations (cold atoms, photonics). The focus will be on finite dimensional systems.
Elective courses (18 ECTS) (subject to availability)
- BIMA: Fundamentals of image processing, 6 ECTS, this course include Fourier analysis, acquisition and theory of sampling, filtering and denoising, edge detection, segmentation. Applications are given on a few concrete problems (key-point detection, face recognition...), with practical works.
- DIGCOM: Digital communication, 6 ECTS, this course provide the tools that are necessary for analyzing, modeling and designing digital transmission systems. The first part of the course focuses on the necessary bases in deterministic and random signal processing. The rest of the course shows their application to the physical layer of communications systems: architecture of a digital transmission chain, models and performance evaluation.”
- MODEL, 6 ECTS, Mathematical algorithms play a central role in many fields of computing, whether it is to secure the transmission and/or exchange of data (by cryptography), to analyze large masses of data, or to optimize criteria under possible constraints. The underlying algorithms share paradigms and computational schemes pertaining to algebra and mathematical analysis. Also, the concepts of complexity (binary or arithmetic), and digital conditioning hold an essential place.
- ALGAV: Algorithmique Avancée (only in French), 6 ECTS, étude de l'utilisation de structures de données avancées (files de priorité, arbres de recherche, hachage, arbres digitaux) permettant d'optimiser les performances des algorithmes dans des domaines d'application variés comme la gestion et la compression de données massives.
- COMPLEX (only in French), 6 ECTS, Etude des ressources de calcul (temps, espace mémoire ...) nécessaires pour résoudre les problèmes algorithmiques, en distinguant les problèmes dits "faciles" (problèmes dont la complexité est une fonction polynomiale de la taille du problème), des problèmes dits "difficiles". Introduction des classes de complexité fondamentales P et NP et définition de la NP-complétude. Introduction aux algorithmes d'approximation et de randomisation permettant de contourner la difficulté de résolution des problèmes difficiles, et permettant ainsi leur application en pratique avec des temps de calcul raisonnables (algorithmes de type Las Vegas, Monte Carlo, approximation avec garantie de performance, etc.).
- MOGPL (only in French), 6 ECTS, Introduction aux graphes et la programmation linéaire comme outils de modélisation et de résolution de problèmes d'optimisation ou de décision. Étude de modèles et analyse d'algorithmes fondamentaux de l'optimisation combinatoire. Constitue la base nécessaire à tout étudiant en informatique souhaitant acquérir une bonne maîtrise des modèles et algorithmes pour la résolution de problèmes d'optimisation, qu'il s'agisse de problèmes réels rencontrés dans un contexte industriel, ou de problèmes de recherche académique.
- FLE/AA, French for non French speaking students / Advanced English for French speaking students, 3 ECTS.
First year, 2nd semester
Compulsory courses (18 ECTS)
- QIIntro: Quantum information overview, 6 ECTS, The objective is to give the student a broad overview of theoretical quantum information, including fundamental concepts (entanglement, teleportation, nonlocality, decoherence), quantum communication protocol (teleportation, quantum key distribution), quantum algorithms (Shor, Grover and VQE) and some notions of quantum error correction.
- PQIG: Quantum Information Group Project, 3 ECTS, Project with physics students: Work in small groups with students from various backgrounds on a Quantum information problem, performing a short review of the state-of-the-art and an experimentation.<
- PQIA: Advanced Quantum Information Project, 9 ECTS, Project work on Quantum information problem, performing a review, an analysis and an implementation of one or several solutions.
Elective courses (12ECTS) (subject to availability)
- ANum, 3ECTS, This unit is the natural continuation of MODEL. Provide the knowledge in mathematical tools and algorithms in order to be able to solve concrete problems of large sizes. We will study in particular algorithms and their implementation frequently used in the field of scientific computing and data science. The applications will be very diverse and may change each year: for example, we will see applications in finance (calculation of the price of options), in simulation of structures for 3D printing, in imagery (image compression), in deep learning (stochastic gradient algorithm), etc. We will endeavor for each algorithm to propose versions allowing an efficient implementation on parallel machines. The algorithms will be coded in MATLAB or in Python.
- FLAG: Basics of Algebraic Algorithms, 6 ECTS, This course present algebraic algorithms for basic and building blocks problems, targeting quasi-optimal complexity. To do so, we shall rely on linear algebra modeling of the problem. However, we shall show that this modeling yields a linear system with a structure that can actually be solved faster than general algorithms allow us to. These problems find applications in computer algebra, cryptography, coding theory or robotics. A thorough implementation of these algorithms will also be studied.
- IG3D: Introduction to Computer Graphics, 6 ECTS,This course introduces the domain of 3D computer graphics, including geometric modeling and processing, image synthesis, with implementation in OpenGL and C/C++.
- SDM: System Design and Modeling, 6 ECTS, Introduction to the problem of modeling and performance evaluation of systems. It aims at answering the following questions: Why models are important? When do we need to evaluate the performance of a system? How? What kinds of models and techniques are useful?
- HPC: High Performance Computing (only in French), 6 ECTS, Introduction au calcul haute performance et au parallélisme pour concevoir, implémenter et optimiser les programmes parallèles sur des architectures classiques (multi- processeurs et multi-cœurs). Les points suivants sont abordés : architecture des machines parallèles, algorithmique parallèle, parallélisme de données et de tâches, décomposition et équilibrage de charge, paradigmes standards de programmation parallèle sur machines à mémoire distribuée ou partagée (standards MPI et OpenMP), programmation mixte multi-thread / multi-processus, optimisation de code séquentiel pour le calcul haute performance, programmation vectorielle (SIMD), introduction à la parallélisation automatique. Mise en pratique sur une application réelle (projet).
- PC2R: Programmation Concurrente, Réactive et Répartie (only in French), 6 ECTS, L'objectif de ce cours est de comprendre la programmation concurrente et son utilisation pour l'expression d'algorithmes dans les modèles à mémoire partagée, distincte et répartie. Dans le modèle à mémoire partagée, on s'intéresse aux modèles de threads coopératifs et préemptifs puis à la programmation réactive pour récupérer la propriété de déterminisme. Dans le modèle à mémoire répartie on cherche à maîtriser le modèle client/serveur et de savoir déployer des objets répartis.
Second year, 1st semester
Compulsory courses (18-24 ECTS)
- AQAlg: Advanced Quantum Algorithms, 6 ECTS, Shor algorithms, Quantum Fourier Transform, phase estimations and applications, quantum random walks , query complexity (algorithms, lower bounds), HHL algorithm and machine learning applications, hidden subgroup algorithms.
- AQCrypt: Advanced Quantum Cryptography, 6 ECTS, The use of quantum states has many cryptographic applications. This course includes advanced quantum key distribution (various technologies and protocols, security proofs, practical problems, full and semi-device independence), but also other cryptographic protocols (bit commitment, oblivious transfer in the noisy storage model, secret sharing, verification
- QIT: Quantum Information Theory, 6 ECTS, The quantum analogue of Shanon theory and complexity theory are very rich, with many applications: Mathematical foundations and link with programming, quantum Shannon theory (various entropies, super additivity, Holevo theorem); communication complexity, with lower bounds and exponential separations; channel theory; entanglement theory, nonlocal games, information causality; quantum complexity theory, BQP, QMA, QMA(2), QIP=QIP(3)=PSPACE=QPSPACE.
- PhQC: Photonics Quantum Computing, 6 ECTS, Photonics is an essential platform for quantum communications and a promising one for quantum computing. These platforms are centered around measurement based quantum computing (MBQC). We willl study: Graph-states (in continuous and discrete variables), Graph-based cryptographic protocols, MBQC, delegated blind/verified universal quantum computing, photonic graph states implementations.
Elective courses (6-12 ECTS) (subject to availability)
">
- NDA: Network Data Analysis, 6 ECTS, Introduction to probability and statistics. Bayes's law. Data collection, parameter estimation and regression methods. Statistical fitting. Hypothesis testing and applications to identification of changes that influence the network operation. Clustering and classification. Time-series analysis.
- POSSO: Polynomial systems Resolution, 6 ECTS, Polynomial systems model static nonlinear situations. Their resolution is therefore more delicate than the resolution of linear systems, but nevertheless crucial since these systems appear naturally in post-quantum cryptology and various engineering sciences (robotics, biology, chemistry, artificial vision, etc.). In this course, we will study efficient algorithms allowing us to solve such systems and examples of applications will be studied.
- RDFIA: Pattern Recognition and Machine Learning for Image Understanding, 6 ECTS, this course presents theory and algorithms for classification and image understanding (Bayesian decision, machine learning, supervised and unsupervised learning, kernel-based methods, deep learning...). Illustrations are provided, on several applications for image classification.
- AAGA: Analyse d'Algorithmes et Génération Aléatoire (only in French), 6 ECTS, Ce cours introduit des méthodes pour étudier la complexité moyenne des algorithmes et la génération aléatoire de structures combinatoires. Divers types d'applications seront traitées, en liaison avec les structures arborescentes et l'algorithmique probabiliste.La seconde partie du cours introduit la combinatoire analytique afin d'étudier algorithmes et structures de données en moyenne.
- HPCA: Advanced High Performance Computing (only in French), 6 ECTS, Algorithmes et techniques de programmation parallèles avancés pour le calcul haute performance. Conception , implémentation et optimisation des programmes parallèles sur des architectures hétérogènes et massivement parallèles (GPU, calcul haute performance à large échelle sur un grand nombre de noeuds ...). Introduction aux langages standards pour le calcul haute performance (extensions de langage et directives de compilation), optimisation de code dans un contexte hétérogène : multi- architecture et multi-paradigme, algorithmes parallèles et leur stabilité numérique pour l’algèbre linéaire numérique, algorithmes parallèles minimisant les communications, calcul haute performance et reproductibilité, algorithmique asynchrone. Mise en pratique sur une application réelle (projet).
- Teaching units of SU Master of Physics, especially Lumi or ICFP, can also supplement the course offer.
Second year, 2nd semester
5-6 month internship (30 ECTS)