CS-308: Introduction to quantum computationThe course introduces the paradigm of quantum computation in an axiomatic way. We introduce the notion of quantum bit, gates, circuits and we treat the most important quantum algorithms. We also touch
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-630: Fault-tolerant quantum computingThe course explains how to execute scalable algorithms on fault-tolerant quantum computers. It describes error correction used to build reliable logical operations from noisy physical operations, and
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
CS-524: Computational complexityIn computational complexity we study the computational resources needed to solve problems and understand the relation between different types of computation.
This course advances the students knowle
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
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
PHYS-454: Quantum optics and quantum informationThis lecture describes advanced concepts and applications of quantum optics. It emphasizes the connection with ongoing research, and with the fast growing field of quantum technologies. The topics cov