skip to primary navigationskip to content

Department of Computer Science and Technology



Course pages 2023–24

Quantum Computing

Principal lecturer: Dr Steven Herbert
Taken by: Part II CST
Term: Lent
Hours: 16
Format: In-person lectures
Suggested hours of supervisions: 4
Prerequisites: Computation Theory, Data Science
Exam: Paper 8 Question 11; Paper 9 Question 11
Past exam questions, Moodle, timetable


The principal aim of the course is to introduce students to the basics of the quantum model of computation. The model will be used to study algorithms for searching, factorisation and quantum chemistry as well as other important topics in quantum information such as cryptography and super-dense coding. Issues in the complexity of computation will also be explored. A second aim of the course is to introduce student to near-term quantum computing. To this end, error-correction and adiabatic quantum computing are studied.


  • Bits and qubits. Introduction to quantum states and measurements with motivating examples. Comparison with discrete classical states.
  • Linear algebra. Review of linear algebra: vector spaces, linear operators, Dirac notation, the tensor product.
  • The postulates of quantum mechanics. Postulates of quantum mechanics, incl. evolution and measurement.
  • Important concepts in quantum mechanics. Entanglement, distinguishing orthogonal and non-orthogonal quantum states, no-cloning and no signalling.
  • The quantum circuit model. The circuit model of quantum computation. Quantum gates and circuits. Universality of the quantum circuit model, and efficient simulation of arbitrary two-qubit gates with a standard universal set of gates.
  • Some applications of quantum information. Applications of quantum information (other than quantum computation): quantum key distribution, superdense coding and quantum teleportation.
  • Deutsch-Jozsa algorithm. Introducing Deutsch’s problem and Deutsch’s algorithm leading onto its generalisation, the Deutsch-Jozsa algorithm.
  • Quantum search. Grover’s search algorithm: analysis and lower bounds.
  • Quantum Fourier Transform and Quantum Phase Estimation. Definition of the Quantum Fourier Transform (QFT), and efficient representation thereof as a quantum circuit. Application of the QFT to enable Quantum Phase Estimation (QPE).
  • Application 1 of QFT / QPE: Factoring. Shor’s algorithm: reduction of factoring to period finding and then using the QFT for period finding.
  • Application 2 of QFT / QPE: Quantum Chemistry. Efficient simulation of quantum systems, and applications to real-world problems in quantum chemistry.
  • Quantum complexity. Quantum complexity classes and their relationship to classical complexity. Comparison with probabilistic computation.
  • Quantum error correction. Introducing the concept of quantum error correction required for the following lecture on fault-tolerance.
  • Fault tolerant quantum computing. Elements of fault tolerant computing; the threshold theorem for efficient suppression of errors.
  • Adiabatic quantum computing and quantum optimisation. The quantum adiabatic theorem, and adiabatic optimisation. Quantum annealing and D-Wave.
  • Case studies in near-term quantum computation. Examples of state-of-the-art quantum algorithms and computers, including superconducting and networked quantum computers.


At the end of the course students should:

  • understand the quantum model of computation and the basic principles of quantum mechanics;
  • be familiar with basic quantum algorithms and their analysis;
  • be familiar with basic quantum protocols such as teleportation and superdense coding;
  • see how the quantum model relates to classical models of deterministic and probabilistic computation.
  • appreciate the importance of efficient error-suppression if quantum computation is to yield an advantage over classical computation.
  • gain a general understanding of the important topics in near-term quantum computing, including adiabatic quantum computing.

Recommended reading

Nielsen M.A., Chuang I.L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
Mermin N.D. (2007). Quantum Computer Science: An Introduction. Cambridge University Press.
McGeoch, C. (2014). Adiabatic Quantum Computation and Quantum Annealing Theory and Practice. Morgan and Claypool.


Braunstein S.L. (2003). Quantum computation tutorial. Available at:
Aharonov D., Quantum computation [arXiv:quant-ph/9812037]
Albash T., Adiabatic Quantum Computing
McCardle S. et al, Quantum computational chemistry

Other lecture notes:

Andrew Childs (University of Maryland):