Quantum Processes and Computation: 2026-2027
Lecturer | |
Degrees | Schedule C1 (CS&P) — Computer Science and Philosophy Schedule C1 — Computer Science Schedule C1 — Mathematics and Computer Science |
Term | Michaelmas Term 2026 (24 lectures) |
Overview
Quantum computing is an exciting new computational paradigm that combines computer science and quantum physics to solve problems that are far beyond the reach of traditional computers. This course provides an interdisciplinary introduction to the emerging field of quantum computer science, explaining basic quantum mechanics (including finite dimensional Hilbert spaces and their tensor products), quantum entanglement, its structure and its physical consequences, and introducing qubits. We introduce the basics of quantum algorithms and delve into the how to represent and reason about quantum computations using a powerful graphical tool called the ZX calculus. We will apply this tool to discuss optimisation and classical simulation of quantum computation, as well as quantum error correction and fault-tolerant quantum computing, which are key ingredients in emerging quantum technologies.
- Lectures will be the Computer Science Department, Lecture Theatre A, Mondays, Wednesdays, and Fridays 14:00-15:00. Recordings of all lectures will appear on Panopto after the lecture.
- Class info, including weekly deadlines is on Moodle
- Everything else (problem sheets, schedule of material, etc) is here on the course website
The course consists of:
- 24 lectures (see Lectures below)
- 6 classes (weeks 3, 4, 5, 6, 7, 8). Here are the problem sheets:
- Coming soon...
- The miniproject. This will have a similar format to the problem sheets, but questions will be much more in-depth and/or open-ended.
Lectures
The following is a provisional list of topics / sections covered in the lectures. This schedule and lecture notes are subject to change during the term.
The lecture notes cover the material in each lecture. For in-depth coverage of these topics, see the course textbook. Lecture notes will be updated throughout the course, so re-download them often to make sure you have the latest version.
- Lecture 1: Quantum theory is SCUM: states, compound systems, and unitaries
- Lecture 2: Compound systems, entanglement, and diagrams
- Lecture 3: UM...unitaries and measurements
- Lecture 4: The quantum circuit model and the anatomy of a quantum algorithm
- Lecture 5: Verifying and compiling quantum programs
- Lecture 6: From quantum circuits to ZX-diagrams
- Lecture 7: The ZX-calculus
- Lecture 8: CNOT circuits and phase-free ZX
- Lecture 9: Phase-free states and F2-linear subspaces
- Lecture 10: Clifford circuits and diagrams
- Lecture 11: Clifford normal forms and classical simulation
- Lecture 12: Clifford circuit (re)synthesis using ZX
- Lecture 13: Pauli measurements and stabiliser theory
- Lecture 14: Universal circuits with phase gadgets
- Lecture 15: Pauli exponentials and quantum simulation
- Lecture 16: ZH calculus and classical oracles
- Lecture 17: Circuit synthesis with Clifford+T
- Lecture 18: Graphical Fourier theory and T-count optimisation
- Lecture 19: Quantum error correction basics
- Lecture 20: CSS codes and phase-free ZX diagrams
- Lecture 21: The surface code
- Lecture 22: Fault-tolerant quantum computation and transversal gates
- Lecture 23: Lattice surgery
- Lecture 24: The full picture: FT architectures and challenges
Learning outcomes
The student will know by the end of the course what quantum computing and quantum protocols are about, why they matter, and what the scientific prospects of the field are. This includes a structural understanding of some basic quantum mechanics, understanding of the high-level structure of most well-known quantum algorithms in the circuit model as well as important protocols such as quantum teleportation, and some basic understanding of state-of-the-art techniques for quantum compilation and classical simulation of quantum computing.Prerequisites
We do not assume any prior knowledge of quantum mechanics. However, a solid understanding of basic linear algebra (finite-dimensional vector spaces, matrices, eigenvectors and eigenvalues, linear maps etc.) is required as a pre-requisite.
Some of the problem sheets are in the form of Jupyter notebooks. To complete these, you will need to have a basic working knowledge of the Python programming language. If you've never used Python before, I suggest working through the first 4 sections of: https://docs.python.org/3/tutorial/.
Synopsis
Quantum computing is an exciting new computational paradigm that combines computer science and quantum physics to solve problems that are far beyond the reach of traditional computers. This course provides an interdisciplinary introduction to the emerging field of quantum computer science, explaining basic quantum mechanics (including finite dimensional Hilbert spaces and their tensor products), quantum entanglement, its structure and its physical consequences, and introducing qubits. We introduce the basics of quantum algorithms and delve into the how to represent and reason about quantum computations using a powerful graphical tool called the ZX calculus. We will apply this tool to discuss optimisation and classical simulation of quantum computation, as well as quantum error correction and fault-tolerant quantum computing, which are key ingredients in emerging quantum technologies.
Syllabus
Matrices, string diagrams, and tensor contraction. Generalised states and effects, (non-)separability of diagrams. Basic introduction to quantum theory: states, composition, unitary evolution, measurement. The quantum circuit model and the anatomy of a quantum algorithm. Simulation, equality, and optimisation of quantum circuits. The ZX-calculus. Clifford circuits: simulation, synthesis, optimisation. Advanced circuit techniques (phase gadgets and Pauli exponentials). Quantum simulation. Quantum error correction and fault-tolerance.
Reading list
The course is based on Picturing Quantum Software: An Introduction to the ZX-Calculus and Quantum Compilation. It is available for free online at: https://github.com/zxcalc/book
Optional extra reading is Picturing Quantum Processes: A First Course in Quantum Theory and Diagrammatic Reasoning. It should be available in many libraries throughout the university and most online bookstores. The ebook PDF is also available for free to all members of Oxford University through a deal between the Bodleian Library and Cambridge University Press:
https://solo.bodleian.ox.ac.uk/permalink/44OXF_INST/35n82s/alma991025406270107026
If the link above doesn't work, go to http://solo.bodleian.ox.ac.uk, search for the book title, and click on the "Online Access" version. Under the section "View Online", click the link to Cambridge ebooks.
Related research
Themes |
Taking our courses
This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses
Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.