Skip to main content

Quantum Information:  2022-2023



Schedule A2(CS&P)Computer Science and Philosophy

Schedule B1 (CS&P)Computer Science and Philosophy

Schedule A2Computer Science

Schedule B1Computer Science

Schedule A2(M&CS)Mathematics and Computer Science

Schedule B1(M&CS)Mathematics and Computer Science

Hilary TermMSc in Advanced Computer Science



The aim of this course is to introduce the key concepts and methods of Quantum Information and Computation.

The course is designed for computer science undergraduates and focuses on the general theory of quantum information, independently of the physical realizations. The course is divided into four parts. The first part provides working knowledge on the mathematical framework of Quantum Theory. The second part focuses on the key operational features of quantum theory, including quantum steering, dense coding, and non-local games. The third part introduces the circuit model of quantum computation, quantum query complexity, and basic quantum algorithms such as Grover’s algorithm for unstructured search and Shor’s algorithm for polynomial-time factoring. The fourth part concludes the course with further topics including mixed states, the no-cloning theorem, and quantum teleportation. The material taught in class is supplemented by a complete set of lecture notes and by the reference textbooks "Quantum Computation and Quantum Information" (M.A. Nielsen and I.L. Chuang, Cambridge University Press), and “Quantum Computer Science” (N. D. Mermin, Cambridge University Press).

Learning outcomes

1) Understand the fundamentals of quantum theory, including quantum states, evolutions, and measurements 2) Be able to model computation and communication tasks in the quantum model 3) Possess the basics of quantum algorithms, including the techniques of amplitude amplification and the quantum Fourier transform 4) Understand the foundations of quantum communication


Essential: Linear Algebra or Discrete Mathematics. 

Recommended: Models of Computation, Computational Complexity, Design and Analysis of Algorithms.


The course is structured as follows, for a total of 16 lectures:

1.     Course overview: introduction to the subject and practical matters (0.5 lectures)

2.     The basic rules of quantum theory: pure states, basic measurements, unitary evolutions, and composite systems (3.5 lectures) 

3.     Key operational features: quantum steering, dense coding, and non-local games (4 lectures)

4.     Quantum computation: the quantum circuit model, quantum computational complexity, quantum query complexity, the Deutsch-Jozsa algorithm, Grover's algorithm, Shor's algorithm (4 lectures)

5.     Further topics:  including mixed states, the no-cloning theorem, quantum teleportation (4 lectures)


Bits vs qubits, pure quantum states, basic measurements, and gates. Composite systems, entanglement, and non-local games.

Quantum circuits, quantum computational complexity, quantum query complexity, the Deutsch-Jozsa algorithm, Grover’s algorithm, Shor’s algorithm.

Mixed states, the no-cloning theorem, quantum teleportation. 

Reading list

-Course Lecture Notes (primary course material)

-M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press (2001) 

-N. D. Mermin, Quantum Computer Science, Cambridge University Press (2008).


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.