Parcours International DIGIT
Each student enrolled in the DIGIT program will have the opportunity to design their own curriculum by selecting a coherent subset of teaching units (UE) from the courses offered in English (subject to availability and acceptance by the program supervisors) or to follow a pre-established combination of UE for the specializations in Networks or Image Processing.
This program is exclusively accessible to non-French-speaking students. French-speaking students must apply to similar specializations with a broader offer in the corresponding french program. English-speaking students interested in quantum information or HPC must directly apply to these English-speaking programs (parcours QI or parcours CCA - European Master in HPC).
Although the DIGIT program mainly guarantees the possibility of following the specializations in Networks and Image Processing, it can also exceptionally accommodate other areas of specialization through projects (6 ECTS) or extended projects (12 ECTS) undertaken during the first three semesters (S1 to S3). These projects allow students to further develop their expertise in subjects where the number of courses offered in English is limited or non-existent. These projects will integrate a flipped learning methodology and learning-by-example approaches, in line with our dual objective of promoting pedagogical innovation and fostering internationalization. This option is reserved for students demonstrating exceptional academic performance (extended projects require the prior agreement of a mentor professor).
In all cases, candidates must clearly specify the chosen specialization (Networks, Imaging or another field with prior acceptance of a mentor) when submitting their application.
All the courses proposed in the DIGIT International program are available for ERASMUS+ students.
Scholarships
French public institutions and the Erasmus+ program offer numerous scholarships to foreign students to help them finance their studies in France and in Europe. You must consult the campusfrance site for this. In addition, for accepted students with outstanding results, few local incoming mobility grant may also be awarded from Sorbonne University.
Pre-established combination of UE for the specializations in Networks or Image Processing
Network specialization
- S1: 2 compulsory UEs (COMNET + SIGCOM) + choice of 2 UEs among the shared English-speaking UEs of S1 (AA, ARCHI, DALAS, PPAR) + PROGRES + FLE (French as a foreign language)
- S2: 3 compulsory UEs (CLOUD + SDM + WIMOB) + choice of 1 UE among the shared English-speaking UEs of S2 + PRES Project
- S3: 5 English-speaking UEs to choose from (ANET, CELL, DAAR, GAN, METHOD, NDA, NEVA)
Image processing specialization
- S1: 2 compulsory UEs (BIMA + DALAS)+ choice of 2 UEs among the English-speaking UEs of S1 (AA, ARCHI, MODEL, PPAR, SIGCOM) + PIMA-3 + FLE (French as a foreign language)
- S2: 2 compulsory UEs (IG3D + PIMA Project) + choice of 3 UEs among English-speaking EUs of S2 (ANUM, CLOUD, FLAG, MULTI, SDN, WIMOB)
- S3: 3 compulsory EUs (TADI + PRAT + RDFIA) + choice of 2 English-speaking EUs (BIOMED, VISION and IG3DA)
Application
Who can apply: Bachelor’s holders in Computer Science, Computer Engineering or Information Systems with honors. Students should have competence in mathematics, theoretical foundations of computer science, algorithms and computer architectures.
How much does it cost: Tuition fees for the academic year 2021/22 (should be similar in 2022/2023)
- For French and European students (nationals of a member country of the European Union, the European Economic Area, Andorra or Switzerland), students who are residents of Quebec or international students who hold a long-term residence card : Tuition charges will be €243 per year.
- For non EU-students, you will be required to pay differentiated registration fees. The total registration fee that you will be required to pay will be €3,770 per year. In recent years, Sorbonne Université has compensated for the differentiated cost but this has not yet been decided for the next academic year.
- No tuition fees, whether differentiated or not for…
- Students who come to study in France as part of a partnership agreement between universities that provides for total exemption from enrolment fees (like the Erasmus+ exchange programme in particular)
- Students who have been awarded a French government grant (BGF)
- Students who have been awarded a grant from their host institution, providing for total exemption from enrolment fees.
- Partial or total exemption for Non-EU students who have been granted full or partial exemption from tuition fees by their host institution in France or by the French embassy in their home country.
When and where to apply:
- European students (nationals of a member country of the European Union, the European Economic Area, Andorra or Switzerland) have to apply from April to June on the Sorbonne University eCandidat procedure. Warning: to finalize your eCandidat application, you must go through the additional Candyweb procedure, specific to the Master of Computer Science. This additional procedure is explained and accessible from your eCandidate file, with the "Pieces justificatives".
- Foreign students residing in one of the countries affected by the "Etudes en France" procedure (check the list here) have to apply on the web site from October to December (check on your local delegation). Please select “Sorbonne Université” > “Taught in English” > “Master indifférencié” > ”Computer Science” > “Master of Computer Science - DIGIT: International program”.
Courses in English (subject to availability)
- AA : Algorithms and Applications, 6 ECTS, In this course we are interested on how algorithms and the theory of algorithms are used in applications. We plan to cover both the theory behind the algorithms as well as case studies of how the theory is applied. It will be organized by topics and the topics may evolve from year to year.Tentative topics: Compression, Clustering, Cryptography, Error Correcting Codes, Airline crew scheduling, Computational Biology/String Matching, Distributed competitive decision making...
- AABG: Algorithms on trees and graphs in bioinformatics, 6 ECTS, This UE is followed by biology and computer science students. It is divided into two sub-parts. The first part presents computer science students with an introduction to the fundamental concepts and mechanisms of molecular and cellular biology. In parallel, biology students will follow an introduction to programming. The second part, followed by the two groups together, introduces a variety of modeling and data analysis problems in bioinformatics that have led to proposing algorithmic solutions that exploit the combinatorial notions of trees and graphs. Some of the concepts introduced in the first part will be taken up again, presented in a more formal language and manipulated algorithmically to solve a current biological problem.
- ARCHI: Processor Architecture, 6 ECTS, this course focus on processor architecture and optimizations. It use MIPS to illustrate the following concepts: pipeline, superscalar, memory hierarchy and code optimization.
- 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.
- COMNET: Computer Networking , 6 ECTS. This course focuses on core network applications requested by users and services needed at the network level. The TCP/IP architecture and all the main associated protocols are detailed with particular emphasis on multimedia applications, end-to-end control mechanisms and routing hierarchy.
- DALAS : DatA science, Learning and ApplicationS , 6 ECTS.
The aim of this course is to present all the data science steps dealing with 1) acquiring and processing data, 2) extracting information, and 3) training and evaluating mechine learning models. We will cover the various concepts involved in data processing (scrapping, data quality, exploratory data analysis, visualization), Machine Learning (supervised and unsupervised learning), and rendering (dashboard and storytelling). This course places a strong emphasis on technical and experimental aspects (interpretation, model comparison and selection, exploitation of results, bias analysis), less on theoretical aspects. The course provides fundamental tools and best practices in data science and machine learning. - 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.
- PPAR, 6 ECTS, Large-scale computations require both a massive amount of computing hardware, which is thus necessarily parallel, and programmers with a specific training to exploit it. This course introduces students to the industry-standard tools and techniques used in High-Performance Computing using the C programming language. It presents message-passing programming of computer clusters using MPI libraries, multi-thread programming of multi-core CPUs using OpenMP and vectorization (the exploitation of SIMD instructions in contemporary CPUs). In addition, the courses discusses algorithmic issues in parallel programming (how to do THAT in parallel?), how low-level hardware issues(cache, paging, branch prediction, ...) affect performance and to to maneuver around them. Finally, the course presents performance models as well as techniques to understand and anticipate the running-time of actual parallel programs.
- 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.
- QPh4CS: Quantum physics for computer scientists, 9 ECTS, Quantum cinematics needed to understand theoretical quantum information (Hilbert spaces in physicists notations, unitary transformations, projective measurements and POVMs, density matrices and partial traces). Quantum dynamics (Hamiltonian, evolution operator, dissipation). Link with some quantum information physical implementations (cold atoms, photonics). The focus will be on finite dimensional systems.
- SIGCOM: Signal and Communication, 6 ECTS. The course Signal and Communication has the objective of providing 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.
- ANum, 3/6 ECTS, 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.
- CLOUD: Cloud Computing, 6 ECTS. Introduction to cloud computing principal, IaaS (Infrastructure as a Service), PaaS (Plateform as a Service), and Saas (Software as a Service), cloud computing architectures, cloud providers, etc. Classical Distributed Algorithms applied to Clouds: Logical Time in distributed systems (logical clocks); Resource allocation and mutual exclusion; Broadcast protocols, membership, and synchronous view. Failures and fault tolerance: Unreliable Failure Detectors; Checkpoint and global state in distributed systems. Introduction to MPI and implementation of the above distributed algorithms in MPI. Courses with practical experiments: Virtualisation (Virtual machines and containers); Amazon Cloud (Concepts and deployment); Open Stack free open source (Deployment of Cloud Computing Service Infrastructure); Map Reduce (Programming model and an associated implementation).
- 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++.
- MULTI: Architecture of Multiprocessor Systems, 6 ECTS, this course introduces the notions of cache and memory consistency, peripheral access, task synchronization in a shared application.
- 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.
- SBAS: Statistics in Bioinformtics and Sequence Algorithms, 6 ECTS. This course provides students with an introduction to statistical concepts and approaches in bioinformatics. A wide variety of biological sequence analysis problems are presented along with their algorithmic solutions. This module is divided into two sub-parts: the first part concerns statistics applied in Bioinformatics and the second covers several problems in the analysis of biological sequences to which some of the statistical approaches will be applied.
- 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?
- WIMOB: Wireless and Mobile Computing, 6 ECTS. The main objective of this course is to present how user mobility and wireless transmissions affect computer communications. The course first gives a basic understanding of the physical layer mechanisms. It presents the impact of wireless signal propagation, link budget, digital communications with an illustration based on spread spectrum technologies. It then presents a survey on existing wireless technologies with a strong emphasis on the Wi-Fi standard. Finally, this course details the impact of mobility on IP protocols, the benefits and limitations of the main proposals, as well as the constraints of data losses on existing transport protocols.
- AFAE: Floating-point arithmetic and error analysis, 6ECTS. This course is at the intersection of algorithmic and mathematics. One of the goals is to master the concepts related to rounding errors and their consequences as well as learning how to perform an analysis of the numerical quality of scientific code. We will present the floating-point arithmetic (IEEE 754 standard) and its consequences for numerical results of scientific computing codes as well as theory and practice of methods of estimating or increasing the accuracy of computed results in general using in particular interval arithmetic, discrete stochastic arithmetic and compensated methods. A presentation of the theory for computing elementary functions will also be proposed.
- ANET: Autonomic Networks, 6 ECTS, main scientific and technological issues of autonomous and ubiquitous networks. Principles, techniques, and examples related to the design of such networks are introduced, sometimes through similarities and differences with classical networks. Various aspects of self-* attributes are discussed, such as self-stabilization, self-configuration, self-organization, self-management, self-optimization, self-adaptiveness, etc. Passive mobility and proactive mobility are addressed and applied to sensor networks, swarms of robots, MANET, and VANET.
- (A)QAlg: (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.
- (A)QCrypt: (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
- BIOMED: Biomedical Imaging, 6 ECTS, this course presents the main acquisition techniques both in medical imaging and in biological imaging. It also details a few applications, such as registration, segmentation, shape modeling, mammography, cardiovascular imaging, biological particle tracking, etc.
- CELL: Cellular Networks, 6 ECTS, this course presents network architecture and protocols of 2G-GSM, 3G-UMTS, 4G-LTE networks and the upcoming 5G technologies such as C-RAN, Mobile Edge Computing, SDN-NFV and network slicing. The course explains problems in both access network and core network of a mobile network operator and provides basic techniques for performance analysis, resource allocation, network dimensioning and optimization.
- DAAR: Development of Algorithms for Reticular Application , 6 ECTS, We address both theoretical and implementation aspects of usual, non-trivial algorithms for web/mobile applications. Topics ranges from search engine algorithms to the analysis of stream data. We will first study the structural foundations of these algorithms; then, a special effort will be put in confronting them to a practical app implementing project using modern Web and Mobile frameworks such as django, elastic, solidity, splunk, docker, spring, node, vue ...
- GAN: Graphs and Networks, 6 ECTS, Graphs are versatile mathematical tools to represent networks in general and computer networks in particular. This course explores these representations of network data.
The "Graphs" part of the course is dedicated to the mining of graphs in general. We suppose that we already have a graph representing a network and present mining techniques to characterize its structure: paths, communities, robustness... This will help us describe and analyze the functioning of the network in various cases: computer networks, but also other relevant cases such as infrastructure networks or social networks.
The “Networks” part is a course presenting the measures that can be performed in local networks, access networks and transit networks. It discusses which measures can be performed in the network, transport and application layers, or MAC. The student will learn to perform measurements using active measurement tools and passive measures, with practical exercises deployed on large experimental platforms. - HPCA: Advanced high-performance computing and programming many core architectures, 6 ECTS. Two thirds of this course are dedicated to CUDA programming (Part I). One third of this course is dedicated to large problems solving with multi-node architecture (Part II). This Part I introduces GPU programming using CUDA API and then provides a large number of examples that will make the reader more and more comfortable with the hardware and the API used. The purpose is to give the technical background that opens scaling up applications to a large public of students, researchers, and engineers. Modern computers have an increasing number of computing units. To take advantage of this parallelism, it is therefore necessary to use and implement algorithms with a high level of concurrency. In this Part II, different techniques for solving hollow linear systems that benefit from such a feature are presented. In particular, domain decomposition methods and multigrid methods that have an optimal asymptotic cost are detailed.
- IG3DA: Advanced Methods for Computer Graphics, 6 ECTS, this courses presents advanced methods for computer graphics: offline rendering, ray tracing, direct rendering, surface deformations (variational, skeleton-based, cage-based...), spectral analysis of surfaces, fluids simulation.
- PACC : Parallelism and Accelerators for Cluster Computing, 6 ECTS. This course mainly deals with the implementation of intensive computing applications for targets ranging from server-type computers to computing farms (also called “supercomputers” depending on their size). The most common programming models in high performance computing are studied and put into practice. This involves multi-threaded programming, multi-node programming as well as programming of computing accelerators (vector instruction set, discrete GPU, NPU, etc.). A second objective of the course is the measurement of performance of calculation codes, notably with the notion of scaling up and the analysis of the truly achievable peak performance (e.g.: Roofline model). In other words, we will learn to extract key metrics from calculation codes to understand the limiting points (at the level of software implementation and hardware architecture) and then apply a prediction model.
- 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.
- PRAT: Image Seminar and Projects, 6 ECTS, this course presents briefly a few topics not addressed in the other courses, in the form of seminars given by experts of the domain (from either the academy or the industry). It also includes a project done by the students, as an initiation to research work (critical bibliographical review, choice of a method, implementation and tests).
- 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.
- 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.
- TADI: Advanced Methods for Image Analysis, 6 ECTS, this course presents advanced theories of image processing and analysis. The formalisms include continuous, discrete, algebraic, analytical and statistical approaches. The course ranges from mathematical aspects to algorithms, for pre-processing, segmentation, etc. Illustrations are provided in various domains (natural images, medical images, remote sensing images...). The course includes lessons and practical work.
- VISION: Advanced Methods for Computer Vision, 6 ECTS, this course provides an overview of advanced techniques for computer vision, either 2D or 3D, either static or dynamic. Methods mostly aim at extracting relevant information from the observed scene. The course includes lessons and practical work.
5 to 6 month internship
Contact
Evripidis Bampis
Head of the DIGIT program
Marie Goux
Pedagogic Secretary