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:- qdb: Inserted Tomography for Breakpoint Debugging in pyQuil by Ellis Hoag, Michael Zhu, and Sean Decker
- Shor's Algorithm in PyQuil by Alec Brickner
- The Effect of Noise on Quantum Secret Sharing by Emma Dauterman and Zoe Bohn
- Solving the Traveling Salesman Problem Using QAOA by Daniel Henry and Sofia Josefina Lago Dudas
- Comparing and Implementing Dierent Quantum Secret Sharing Schemes by Yousef Hindy and Pieter-Jan Stas
- Finding Ground State Energy of Molecules with Variational Quantum Eigensolver by Mingyu Kang and Jaebum Lee
- Quantum Secret Sharing in Practice by Keanu Spies
- Rational Quantum Secret Sharing by Manan Rai, Jerry Zhilin Jiang, and Andrew Tierno
- Quantum Secret Sharing by Franklin Jia, Marc Robert Wong, and Ruchir Rastogi
- A QAOA solution to the traveling salesman problem using pyQuil by Matthew Radzihovsky, Joey Murphy, Mason Swofford
- Implementation and analysis of stabilizer codes in pyQuil by Shubham Chandak, Jay Mardia and Meltem Tolunay
- Quantum Secret Sharing by Katharine Woo and Harry Sha
- Quantum Secret Sharing: A Discussion and Implementation by Benjamin Fearon, Alex Rickman, and Frank Zheng
- Grover's algorithm for 3SAT by Nathan Dalal and Hubert Teo
- Implementation of Shor's algorithm in pyQuil by William Burton