This course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how they work and sketch how they can be implemented. ...
Homology is one of the most important tools to study topological spaces and it plays an important role in many fields of mathematics. The aim of this course is to introduce this notion, understand its properties and learn how to compute it. There will be m ...
Information is processed in physical devices. In the quantum regime the concept of classical bit is replaced by the quantum bit. We introduce quantum principles, and then quantum communications, key distribution, quantum entropy, and spin dynamics. No prio ...
Le cours étudie les concepts fondamentaux de l'analyse vectorielle et l'analyse de Fourier en vue de leur utilisation pour
résoudre des problèmes pluridisciplinaires d'ingénierie scientifique. ...
We discuss a set of topics that are important for the understanding of modern data science but that are typically not taught in an introductory ML course. In particular we discuss fundamental ideas and techniques that come from probability, information the ...
Learn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and
fundamental software construction concepts (reusability, abstr ...
The course introduces the foundations on which programs and programming languages are built. It introduces syntax, types and semantics as building blocks that together define the properties of a program part or a language. Students will learn how to apply ...
The course aims to introduce the basic concepts and results of integer optimization with special emphasis on algorithmic problems on lattices that have proved to be important in theoretical computer science and cryptography during the past 30 years. ...