Computer Laboratory

Course pages 2015–16

Quantum Computing

Principal lecturer: Prof Anuj Dawar
Taken by: Part II
Past exam questions

No. of lectures: 8
Suggested hours of supervisions: 2
Prerequisite courses: Mathematical Methods for Computer Science, Computation Theory


The aims of the course are to introduce students to the basics of the quantum model of computation. The model will be used to study algorithms for searching and factorisation. Issues in the complexity of computation will also be explored.


  • Bits and qubits. Introduction to quantum states with motivating examples. Comparison with classical discrete state systems.

  • Linear algebra. Review of linear algebra. Vector spaces, linear operators, Dirac notation.

  • Quantum mechanics. Postulates of quantum mechanics. Evolution and measurement. Entanglement.

  • Quantum computation. Models of quantum computation. Quantum circuits, finite state systems, machines and algorithms.

  • Some applications. Applications of quantum infomation. Bell States, quantum key exchange, quantum teleportation.

  • Quantum search. Grover’s search algorithm. Analysis and lower bounds.

  • Factorisation. Shor’s algorithm for factorising numbers and analysis. Quantum Fourier transform.

  • Quantum complexity. Quantum complexity classes and their relationship to classical complexity. Comparison with probabilistic computation.


At the end of the course students should

  • understand the quantum model of computation and how it relates to quantum mechanics;

  • be familiar with some basic quantum algorithms and their analysis;

  • see how the quantum model relates to classical models of computation.

Recommended reading

* Nielsen, M.A. & Chuang, I.L. (2010). Quantum computation and quantum information. Cambridge University Press (2nd ed.).
Mermin, N.D. (2007). Quantum computer science. Cambridge University Press.