CS 269Q: Quantum Computer Programming

Quantum Computer Programming

Spring 2019

Quantum computing is an emerging computational paradigm with vast potential. This course is an introduction to modern quantum programming for students who want to work with quantum computing technologies and learn about new paradigms of computation. A physics / quantum mechanics background is not required. The course covers the model of quantum computation, quantum programming languages, hybrid quantum/classical programming, quantum algorithms, quantum error correction, and applications. The course is hands on using open source Python packages for working with publicly available quantum processors.

Prerequisites: linear algebra and programming at the undergraduate level.

Administrative

Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
CS269Q Lectures: Tuesday, Thursday:   10:30-11:50,   McCullough 115
Sections: Friday 2:30 - 3:20pm at 320-109.
CA mailing list: cs269q@cs

Homeworks and Projects

--
Homework #1:    [pdf]
Due: Monday, Apr. 15, 2019, via Gradescope (code: 9NY6KX)
--
Project #1:    Benchmarking a quantum computer.
Assignment:   [instructions]   [starter code]
Due: Monday, Apr. 29, 2019, via Gradescope
--
Project #2:    Hybrid quantum algorithms.
Assignment:   [instructions]   [starter code]
Due: Wednesday, May 8, 2019, via Gradescope. Note Problems 1 & 2 are to be submitted separately from Problem 3.
--
Final Project Design:    1 page design document for your final project.
Assignment:   [instructions]
Due: Friday, May 17, 2019
--
Project #3:    Quantum machine learning and quantum compilation.
Assignment:   [instructions]   [starter code]
Due: Monday, May 20, 2019
--
Project #4:    Final projects
Assignment:   [instructions]
Due: Thursday, June 6, 2019

Final Project Showcase

Some examples of student final projects from the 2019 course:

Course calendar