CMPT 476/776: Introduction to Quantum Algorithms (Spring 2026)


Quantum computing is a computational paradigm which utilizes quantum mechanical effects at the physical level to process information. By using these quantum effects we can solve certain problems faster than the best known classical methods, such as factorizing integers, simulating quantum mechanical systems, and solving some linear systems. Since the advent of such algorithms in the 90's, researchers in computing science, mathematics, physics, chemistry, engineering, and other fields have been attempting to not only build quantum computers but also to understand their power.

This course offers an introductory treatment to the field of quantum information and computation with an emphasis on algorithms. We will examine how these quantum algorithms work, as well as their implications on computational complexity and issues and techniques relating to their physical realization.

Updates


Course information


Instructor:   Matt Amy
Email:   matt_amy at sfu.ca
Office:   TASC1 9429
TAs:   Kevin Ye (yekeviny at sfu.ca)
Sara Babaee Khanehsar (sara_babaee_khanehsar at sfu.ca)
Classes:   We 1:30-2:20 (C 9002)
Fr 12:30-2:20 (AQ 3149)
Office hours:   WeFr 2:20-3:30 - Matt (outside of classroom or TASC1 9429)
Tues 4:00-5:00 - Sara (ASB 9814)
Thurs 3:30-4:30 - Kevin (ASB 9814)
Materials:   Course notes (posted to the schedule)
Discussion forum:   https://piazza.com/sfu.ca/spring2026/cmpt476/home

Tentative schedule


<
Date Topic(s) Materials Additional references
Jan. 7 Introduction to course & QC Lecture 1 KLM §1.1, §1.2, §1.6
Jan. 9 Classical, probabilistic, and quantum circuits Lecture 2, Lecture 3 KLM §1.3, §1.4, §2.1, §2.2, §3.1, §3.4
Jan. 14 Quantum state evolution Lecture 4 KLM §2.3, §3.2
Jan. 16 More about qubit states Lecture 5, Lecture 6
Jan. 21 Composite systems Lecture 6 KLM §2.6, §3.3
Jan. 23 Spooky Action at a Distance Lecture 7, Lecture 8 KLM §3.4
Jan. 28 More measurements Lecture 9 KLM §3.4 cont., §3.5
Jan. 30 Mixed states and Density matrices Lecture 9 cont. KLM §3.5 cont.
Feb. 4 Superdense coding and Bell basis measurements Lecture 11 KLM §5.1
Feb. 6 Quantum teleportation and the No-Cloning theorem Lecture 12 KLM §5.2
Feb. 11
Feb. 13
Feb. 18-20 No class - reading week
Feb. 25
Feb. 27
Mar. 4
Mar. 6
Mar. 11
Mar. 13
Mar. 18
Mar. 20
Mar. 25
Mar. 27
Apr. 1
Apr. 3 No class - Good Friday
Apr. 8
Apr. 10

Topics


Prerequisites


As quantum computing is an interdiscplinary field involving computer science, mathematics, and physics, the only formal requirements are satisfactory performance in linear algebra, which the course will rely upon heavily. Experience with topics such as algorithms, complexity, abstract algebra, and quantum mechanics will all be assets, but are not required. It is expected that students will encounter some topics with which they have very little familiarity.

Course goals


By the end of this course, students should understand the basic model of quantum information and computation, key quantum protocols and algorithms, and leave with a broad knowledge of how such algorithms are implemented and what the primary challenges in doing so are, from their high-level mathematical expression down to the physical realization.

Evaluation


Tentative dates


Additional resources

Introductory quantum computing materials


We will mostly be following Kaye, Laflamme, and Mosca's An Introduction to Quantum Computing (KLM), but it is not required. Mermin's Quantum Computer Science is of a very similar flavour and freely available in the form of lecture notes here.

Other great resources:

Practice problems


Many students find additional exercises helpful for this course. Below are links to publicly available problem sets from other instructor's courses. Note that I haven't gone through all the problem sets myself so they may be more or less relevant --- the list is largely predicated on the assumption that undergraduate introductory quantum computing courses cover generally similar material to this one.

Previous offerings