Skip to main content

Quantum Processes and Computation:  2023-2024



Schedule C1 (CS&P)Computer Science and Philosophy

Schedule C1Computer Science

Schedule C1Mathematics and Computer Science

Michaelmas TermMSc in Advanced Computer Science

MSc in Mathematics and Foundations of Computer Science



Both physics and computer science have been very dominant scientific and technological disciplines in the previous century. Quantum Computer Science aims at combining both and may come to play a similarly important role in this century. Combining the existing expertise in both fields proves to be a non-trivial but very exciting interdisciplinary journey. Besides the actual issue of building a quantum computer or realising quantum protocols it involves a fascinating encounter of concepts and formal tools which arose in distinct disciplines. 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 (e.g. non-locality, no-cloning principle), and introduces qubits. We give detailed discussions of some key algorithms and protocols such as Grover's search algorithm and Shor's factorisation algorithm, quantum teleportation and quantum key exchange. At the same time, this course provides an introduction to diagrammatic reasoning. As an entirely diagrammatic presentation of quantum theory and its applications, this course is the first of its kind.

  • Lecture dates/times TBC. Recordings will appear online after each lecture.
  • Class info, including weekly deadlines is on Minerva
  • Everything else (problem sheets, schedule of material, etc) is here on the course website

The course consists of:


The following is a provisional list of topics / sections covered in the lectures. This schedule is subject to change.

Handwritten lecture notes (part 1, part 2, part 3, part 4, part 4a, part 5) cover the material in each lecture. Note these are from a previous year, so they might not line up with lecture numbers precisely.

  • Lecture 1, Oct 9: Introduction to diagrammatic reasoning (slides)
  • Lecture 2, Oct 11: Circuit diagrams
  • Lecture 3, Oct 13: Special processes
  • Lecture 4, Oct 16: (Non-)separability and string diagrams
  • Lecture 5, Oct 18: Transpose, adjoint, and conjugate processes
  • Lecture 6, Oct 20: Quantum-like features from string diagrams
  • Lecture 7, Oct 23: Quantum-like features from string diagrams (cont'd)
  • Lecture 8, Oct 25: Bases, sums, and Hilbert spaces
  • Lecture 9, Oct 27: From linear maps to (pure) quantum maps
  • Lecture 10, Oct 30: Discarding, mixture, and causality
  • Lecture 11, Nov 1: Non-determinism and measurement
  • Lecture 12, Nov 3: Classical/quantum interaction
  • Lecture 13, Nov 6: Classical data as wires
  • Lecture 14, Nov 8: Spiders!!!
  • Lecture 15, Nov 10: Classical, quantum, and bastard spiders
  • Lecture 16, Nov 13: Phases and complementarity
  • Lecture 17, Nov 15: Stern-Gerlach and quantum key distribution
  • Lecture 18, Nov 17: Strong complementarity and the ZX-calculus
  • Lecture 19, Nov 20: Universality, completeness, and quantum computation
  • Lecture 20, Nov 22: Anatomy of a quantum algorithm
  • Lecture 21, Nov 24: Strong complementarity and graphical group theory
  • Lecture 22, Nov 27: The hidden subgroup problem and factoring
  • Lecture 23, Nov 29: Grover's search algorithm
  • Lecture 24, Dec 1: Quantum non-locality and GHZ/Mermin

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, knowledge of important algorithms such as Grover's and Shor's algorithm and important protocols such as quantum teleportation.

At the same time, the student will understand diagrammatic reasoning as an alternative form of mathematics.


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. The course notes and the slides contain an overview of this material, so we advise students with a limited background in linear algebra to consult the course notes before the course starts.

To do the practicals, 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:


[from CUP book page] The unique features of the quantum world are explained in this book through the language of diagrams, setting out an innovative visual method for presenting complex theories. Requiring only basic mathematical literacy, this book employs a unique formalism that builds an intuitive understanding of quantum features while eliminating the need for complex calculations. This entirely diagrammatic presentation of quantum theory represents the culmination of ten years of research, uniting classical techniques in linear algebra and Hilbert spaces with cutting-edge developments in quantum computation and foundations. Written in an entertaining and user-friendly style and including more than one hundred exercises, this book is an ideal first course in quantum theory, foundations, and computation for students from undergraduate to Ph.D. level, as well as an opportunity for researchers from a broad range of fields, from physics to biology, linguistics, and cognitive science, to discover a new set of tools for studying processes and interaction.


Summary / keywords: diagram, parallel and sequential composition of diagrams, string diagram, transpose, adjoints and conjugate, umitarity and inner-product, Bell state, teleportation, no universal separability, no universal cloning, matrix calcu;us, Hilbert space, completeness for string diagrams, logic gate, Bell-basis, doubling, eliminating global phases, discarding, causality, Stinespirng dilation, no-signalling, Krauss decomposition and mixing, ONB measurements, entaglement swapping, gate-teleportation, Naimark dilation, von Neumann measurements, POVM measurements, tomography, classical wires, dense coding, classical-quantum map, copy, delete, measure, encode, classical, quantum and bastard spiders, phase spiders, phase group, complementarity, QKD, strong complementarity, classical subgroup, ZX-calculus, its universality and completeness for stabiliser QM, quantum non-locality, Spekkens' toy theory, circuit model of quantum computing, quantum algorithms (DJ, search, HS), MBQC, resource theories, purity theory, LOCC- and SLOCC-entanglement

Reading list

The textbook for this course 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:

If the link above doesn't work, go to, search for the book title, and click on the "Online Access" version. Under the section "View Online", click the link to Cambridge Core to view the book on CUP's website.

Related research



Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.

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.