CS-251: Theory of computationThis course constitutes an introduction to theory of computation. It discusses the basic theoretical models of computing (finite automata, Turing machine), as well as, provides a solid and mathematica
CS-448: Sublinear algorithms for big data analysisIn this course we will define rigorous mathematical models for computing on large datasets, cover main algorithmic techniques that have been developed for sublinear (e.g. faster than linear time) data
CS-459: Foundations of probabilistic proofsProbabilistic proof systems (eg PCPs and IPs) have had a tremendous impact on theoretical computer science, as well as on real-world secure systems. They underlie delegation of computation protocols a
PHYS-325: Introduction to plasma physicsIntroduction à la physique des plasmas destinée à donner une vue globale des propriétés essentielles et uniques d'un plasma et à présenter les approches couramment utilisées pour modéliser son comport
MATH-261: Discrete optimizationThis course is an introduction to linear and discrete optimization.
Warning: This is a mathematics course! While much of the course will be algorithmic in nature, you will still need to be able to p
PHYS-641: Quantum ComputingAfter introducing the foundations of classical and quantum information theory, and quantum measurement, the course will address the theory and practice of digital quantum computing, covering fundament
COM-401: Cryptography and securityThis 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
MATH-644: Quantum AlgorithmsThe course is given by Prof. Johannes Buchmann and covers fundamental quantum algorithms and the theory behind them. It is rigorous from a mathematics, physics, and computer science perspective and re
CS-602: Foundation of probabilistic proofsProbabilistic proof system (eg PCPs and IPs) have had a tremendous impact on the theoretical computer science, and have also found practical uses. They underlie delegation of computation protocols and