This course will be an introduction to quantum computation and quantum information theory, from the perspective of theoretical computer science. Topics to be covered will likely include:

- The quantum circuit model of computation
- Basic quantum algorithms like Deutsch-Josza, Simon, and Grover
- Shor's factoring algorithm
- Quantum entanglement, teleportation, and Bell inequalities
- Quantum Fourier transforms and the hidden subgroup problem
- Quantum query complexity, span programs, and the adversary method
- Density matrices, state discrimination, tomography
- Von Neumann entropy and Holevo's bound
- Quantum nonlocal games, interactive proofs, and PCP

**Prerequisites**

A strong undergraduate background in linear algebra (e.g., CMU's 21-341), discrete probability (e.g., CMU's 15-359), and theory of computation (e.g., CMU's 15-251). No background in physics is required. We anticipate the course will be of interest to students working in computer science, mathematics, or physics.

**Evaluation**

Evaluation will be based on 6--8 homework assignments and 2 lecture note scribings.

**Suggested text and lecture notes to look at**

- Nielsen and Chuang textbook
- Aaronson course
- Ambainis course (hit the second button, labeled "Pieslēgties kā viesim")
- Bacon course
- Childs course
- Cleve course
- Kempe course
- van Melkebeek course
- Montanaro course
- Preskill notes
- Razborov course
- Reichardt course
- Shor course
- Vazirani course
- Vidick course
- Watrous courses
- Wolf course
- de Wolf course