17-617 — Programming Quantum Computers — Fall Semester 2022

Programming Universal Gate Quantum Computers

Mondays and Wednesdays (6:40pm to 8:00pm @ 3SC 265)
Daniel Justice

TA: Rakshit Naidu

Location

Class room is at 3SC 265. The class is in person but will also be streamed via Zoom (Link on Piazza). I encourage you to come to class if it falls within your personal risk management system.

Course Goals

Students will gain familiarity with current universal gate quantum computing tools and technology. Students will also become comfortable with several QC algorithms and their implementation on state of the art quantum computer simulators and hardware.

Grading

90% Homeworks/Quizzes, 10% Participation.

Quizzes

Each week a quiz will be given. The worst one will not be counted.

Prerequisites

Python, Jupyter Notebooks, Linear Algebra

Students will not need an understanding of quantum mechanics.

Note: The syllabus is subject to occasional change. This is especially the case in the latter half of the semester once your professors have become comfortable with the group’s overall skill level. Adequate notice will be given.

Basic course structure

Due to this being a mini, we will do our best to skirt into a new topic each and every day.

Schedule

Day 1 (08/29): Introduction
Day 2 (08/31): Qubits
Day 3 (09/05): Multiple Qubits
Day 4 (09/07): Quantum Teleportation
Day 5 (09/12): BB84
Day 6 (09/14): Quantum Arithmetic and Logic
Day 7 (09/19): Amplitude Amplification
Day 8 (09/21): QFT: Quantum Fourier Transform
Day 9 (09/26): Quantum Phase Estimation
Day 10 (09/28): Real Data
Day 11 (10/03): Quantum Search
Day 12 (10/05): Dr. Daniel Koch, AFRL
Day 13 (10/10): Shor’s Factoring Algorithm
Day 14 (10/12): Advanced Topics

Schedule with assignments, readings, etc. can be found here