Quantum Computing (UvA course code 5334QUCO8Y)

University of Amsterdam and Mastermath course, Spring 2019 semester

Lecturer: Ronald de Wolf (CWI and ILLC)
Teaching assistants: Andras Gilyen in the first half of the course, Joran van Apeldoorn in the second half (both CWI)

Contents of the course:

Today's computers---both in theory (Turing machines) and practice (PCs and smart phones)---are based on classical physics. However, modern quantum physics tells us that the world behaves quite differently. A quantum system can be in a superposition of many different states at the same time, and can exhibit interference effects during the course of its evolution. Moreover, spatially separated quantum systems may be entangled with each other and operations may have "non-local" effects because of this. Quantum computation is the field that investigates the computational power and other properties of computers based on quantum-mechanical principles. Its main building block is the qubit which, unlike classical bits, can take both values 0 and 1 at the same time, and hence affords a certain kind of parallelism. The laws of quantum mechanics constrain how we can perform computational operations on these qubits, and thus determine how efficiently we can solve a certain computational problem. Quantum computers generalize classical ones and hence are at least as efficient. However, the real aim is to find computational problems where a quantum computer is much more efficient than classical computers. For example, Peter Shor in 1994 found a quantum algorithm that can efficiently factor large integers into their prime factors. This problem is generally believed to take exponential time on even the best classical computers, and its assumed hardness forms the basis of much of modern cryptography (particularly the widespread RSA system). Shor's algorithm breaks all such cryptography. A second important quantum algorithm is Grover's search algorithm, which searches through an unordered search space quadratically faster than is possible classically. In addition to such algorithms, there is a plethora of other applications: quantum cryptography, quantum communication, simulation of physical systems, and many others. The course is taught from a mathematical and theoretical computer science perspective, but should be accessible for physicists as well.


Familiarity with basic linear algebra, probability theory, discrete math, algorithms, all at the level of a first Bachelor's course. Also general mathematical maturity: knowing how to write down a proof properly and completely.


Ronald's lecture notes.

Lectures and location:

February 4 - May 20, 2017. Every Monday 10:00-12:45, at Amsterdam Science Park. Location TBD
Each Monday block consists of 2 hours of lectures followed by an exercise session.


This is an 8 ECTS course over 15 weeks, plus a final exam, which comes to roughly 13 hours of work per week. There will be homework exercises for each lecture, to be handed in before the start of the next lecture, i.e., next Monday 10:00, in person or by email to [PUT SPECIAL GMAIL ADDRESS HERE]. This is a hard deadline: if you arrive late for the lecture you cannot hand in homework anymore, similarly if you send it by an email that arrives after 10:00. Note that Appendix C has hints for some of the exercises. If you have questions about the homework or the lectures, email Ronald. The answers should be in English. Handwritten solutions or emailed scans thereof are fine, as long as they are clearly readable. If you're emailing your solutions, please send a (moderately-sized) pdf, not separate images; the contrast should be sufficient so that it's still readable after printing ("CamScanner" is a decent app for this). To get some idea of the level of detail required for your homework solutions, you can have a look at the solutions to the 2015, 2017, and 2018 exams, near the bottom of this page. Cooperation among students is allowed, but everyone has to hand in their own solution set in their own words. Do not share pdf/latex files before the homework deadline, and never put the solutions online. Plagiarism will not be tolerated. If you use LaTeX and want to draw circuits, you could consider using qcircuit or qasm2circ, which is the package used for the Nielsen-Chuang book.

Exam and grading:

Each homework set will get a grade between 1 and 10; if you don't hand it in you'll score a 1 for that week. When determining the average grade for the homework, we will ignore your two lowest scores. The final exam (June 24) will be open book, meaning you can bring the lecture notes, your own notes, homework, and any other papers you want, but no electronic devices. Your grade for the exam should be at least 5.0 in order to pass the course. There's the possibility for a re-sit of the exam on July 15. The final grade is determined 40% by the homework-grade and 60% by the final exam. In accordance with the Mastermath rules, the final grade will be rounded to the nearest integer (also for Master of Logic students).

Preliminary course schedule:

  1. Monday February 4, 10:00-12:45
    Introduction to quantum mechanics and qubits, overview of the course
    Chapter 1 of lecture notes

  2. Monday February 11, 10:00-12:45
    The circuit model, Deutsch-Jozsa algorithm
    Chapter 2 of lecture notes

  3. Monday February 18, 10:00-12:45
    Simon's algorithm
    Chapter 3 of lecture notes

  4. Monday February 25, 10:00-12:45
    Quantum Fourier transform
    Chapter 4 of lecture notes

  5. Monday March 4, 10:00-12:45
    Shor's factoring algorithm
    Chapter 5 of lecture notes

  6. Monday March 11, 10:00-12:45
    Grover's search algorithm
    Chapter 7 of lecture notes

  7. Monday March 18, 10:00-12:45
    Simulating quantum systems, and the HHL algorithm
    Chapter 9 of lecture notes

  8. Monday March 25, 10:00-12:45
    Quantum query lower bounds
    Chapter 10 of lecture notes

  9. Monday April 1, 10:00-12:45
    Quantum complexity theory
    Chapter 11 of lecture notes

  10. Monday April 8, 10:00-12:45
    Quantum encodings, with a non-quantum application
    Chapter 12 of lecture notes

  11. Monday April 15, 10:00-12:45
    Quantum communication complexity
    Chapter 13 of lecture notes
    Today we will also have a vote for the topics of the last 2 weeks. Possibilities: Hidden subgroup problem (Ch 6), Quantum walk algorithms (Ch 8), Entanglement and non-locality (Ch 14), QMA and the local Hamiltonian problem (chapter to be written)

    Monday April 22, no class (Easter Monday)

  12. Monday April 29, 10:00-12:45
    Quantum cryptography
    Chapter 15 of lecture notes

  13. Monday May 6, 10:00-12:45
    Error-correction and fault-tolerance
    Chapter 16 of lecture notes

  14. Monday May 13, 10:00-12:45
    First elective topic

  15. Monday May 20, 10:00-12:45
    Second elective topic

  16. Monday June 24, 10:00-13:00
    Final exam (open book: all paper is allowed, no electronics)
    Location TBD
    If you want to practice, here are the exams from 2015, 2017, and 2018, with solutions.

  17. Monday July 15, 10:00-13:00
    Re-sit of the exam (open book: all paper is allowed, no electronics)
    Location TBD
    If you want to take the re-sit: let Ronald know by email, at least one day in advance. If you take the re-sit, the earlier exam-grade will be nullified and replaced by the re-sit-grade. Be aware that this could actually worsen your grade, or even make you fail the course if your re-sit grade is <5.0.

Last update of this page: October 1, 2018