Mar 12, 2025  
2024-2025 Undergraduate Catalog 
    
2024-2025 Undergraduate Catalog
Add to Portfolio (opens a new window)

CMPT448N - Introduction to Quantum Computer Algorithms and Programming


4 Credit(s)

Non Liberal Arts
This 12-week online course provides an examination of the landscape, key terms, and concepts needed to understand quantum computing algorithms. Students will learn quantum computing theory, how to code quantum programs, and the fundamentals of several commonly used quantum algorithms. Students will experiment with writing and executing code on a working quantum computer, the IBM Q System, using the open source Qiskit language in a secure, online virtual cloud lab environment. The course provides a technical overview of the fundamental math and physics underlying quantum computers. We discuss the types of problems best suited to quantum computers, and examples of quantum algorithms such as Deutsch-Josza, Simon, Grover, and Shor algorithms. Quantum teleportation and cryptography will also be discussed. This course is based on selected portions of the open-source interactive text Learn Quantum Computation using Qiskit (multiple authors, 2020 edition, published by IBM Corporation, available from https://qiskit.org/textbook/preface.html). The instructor will also provide supplemental course materials which are not part of this book. Students will be required to sign up for a free account on the IBM Quantum Experience (https://quantum-computing.ibm.com/), which provides a cloud-based development environment for IBM Q Systems. The course will also reference curated articles, books, and videos in the emerging field of quantum computing. The course attempts to be accessible to students without a physics background, and to be as self-contained as possible. The course is available to both undergraduate and graduate students. There are no prerequisites for this course. The course includes all required math and physics content necessary to understand quantum computer programming (although students embarking on the course will benefit from a familiarity with linear algebra and discrete math). Students are not required to be familiar with any particular programming language prior to this course, although programming without the Qiskit IDE will benefit from some familiarity with Python 3.0 and Jupyter notebooks. Elective: Technical elective for B.S. in Cybersecurity, Computer Science, ITS, or Data Science.



Add to Portfolio (opens a new window)