Introduction to Quantum Computing

More Information

UBC Calendar

3 Credits



In the past two decades scientists have begun to formulate and build a new type of computer called a quantum computer.  Immense gains in computational power have been shown to be possible with these kinds of computers, and the first commercial quantum computers are starting to appear. This class will teach students the fundamental aspects and applications of quantum computers.


We will begin by understanding the postulates of quantum mechanics and the matrix framework of quantum information science.  This will expose some of the most bizarre concepts in quantum theory that are actually crucial to the operation of quantum computers: the uncertainty principle, quantum measurement, entanglement, and spooky action at a distance. We will apply this framework to study quantum cryptography, quantum algorithms, and quantum error correction, and we will make use of development kits from IBM’s quantum experience program.  Finally, we learn about the implementation of quantum computers, including aspects such as decoherence, control, and quantum logic.


Topic coverage*



Qubits as two-level quantum systems. Dynamics, commutation relations, measurement. Multi-qubit systems.


Entanglement, teleportation


Quantum gates and circuits


Quantum algorithms: e.g. Shor, Grover’s search


Quantum error correction: Stabilizer, surface code


Quantum annealing


Physical implementation of quantum computers


Spins, superconductors, trapped ions


* This is not set in stone


Learning outcomes

[1] Understand the use of quantum bits and circuits to store/manipulate quantum information.

[2] Learn what quantum computers, quantum simulators, and quantum annealers and what they are useful for in industrial applications.

[3] Learn about quantum algorithms for solving tangible problems on these technologies.

[4] Understand the very important non-idealities of quantum circuits, and correcting them.

[5] Learn about physical implementation of quantum computers (quantum hardware).

[6] Develop and run programs on a quantum computer using Python code [IBM, DWave, etc]


Answers to frequently asked questions

How can it be possible to learn about quantum computers without knowing anything about quantum physics or computers? The difficulty in teaching and learning quantum physics is greatly simplified when we restrict our attention to many two-level quantum systems.


In this course we will not be able to treat the inevitable complexity of describing quantum computers beyond the simple two-level system + errors model. Doing this requires a synthesis of your undergraduate quantum physics courses together with a class like this one.


What is the overlap with Phys 304 and Phys 402? Phys 304 and 402 deal with quantum systems that have many internal degrees of freedom (quantum numbers). Things like quantum circuits, quantum cryptography, quantum algorithms, and quantum error correction are not covered in Phys 304 and 402.



Primary: Quantum Computer Science, by Mermin

Secondary: Quantum Computation and Quantum Information, by Nielsen and Chuang

Secondary: An introduction to quantum computing: by Kay, LaFlamma and Mosca.


Tentative grading scheme: 30% problem sets, 15% midterm 1, 15% midterm 2, 40% final. 


Format: 3 hours of lectures per week.  1 problem set due every other week.


Prerequisites: Although unusual for a graduate class, there are no prerequisites. This is an introductory course on an new topic intended for physicists, electrical engineers, computer scientists, etc.


a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2019 The University of British Columbia