CPSC 519/619 Quantum Computing

CPSC 519/619 is the first course on quantum computing. It covers the foundation of quantum computing. Everything computer science has to offer using classical mechanics can also be studied using quantum mechanics, and in this course we do so. We cover and use topics from a very wide range of areas, including circuit complexity, complexity theory, communication complexity, cryptography, error correction, probabilistic arguments, information theory, lower bounds, randomized algorithms, and general algorithmics. This is like 10 courses in one!

Students who have completed the course in the past, have done so based on many different motivating interests, including algorithms, theoretical computer science, mathematics, philosophy, quantum mechanics, physical phenomena, and future directions for computing. We cover all of these interests in the course.

Prerequisites for CPSC 519

The two prerequisites courses for CPSC 519 are CPSC 413 (Design & Analysis of Algorithms I) and MATH 311 (Linear Methods II). Read more at the official CPSC 519 and CPSC 619 calendar entries.

CPSC 413 (Design & Analysis of Algorithms I) is the primary undergraduate course on algorithms. It discusses how to design algorithms for computational problems, analyze algorithms, and compare computational problems. CPSC 413 is a prerequisite since CPSC 519 has an algorithmic approach to quantum computing. The CPSC courselist shows when CPSC 413 is offered.

MATH 311 (Linear Methods II) is the primary course on vector spaces. Its prerequisite MATH 211 introduces vectors, matrices, eigenvectors and eigenvalues. MATH 311 then introduces independency, bases, dimensions, and fundamental operations on vector spaces. MATH 311 is a prerequisite for CPSC 519 since quantum computing is linear, and the language used to describe linear objects is matrices and vector spaces. Conversely, everything covered in MATH 211 and MATH 311 can be readily understood through quantum computing and an algorithmic lens. Considering the number of topics within computer science that heavily rely on linear algebra, you may benefit greatly from choosing to complete MATH 311. A few examples of areas using linear algebra are graphics, SVMs and kernels in machine learning, network coding, and google search. The MATH courselist shows when MATH 311 is offered.

https://www.cpsc.ucalgary.ca/~hoyer/
math