17-617: Programming Quantum Computers
Tuesdays and Thursdays (5:00pm to 6:20pm @ 3SC 265)
Daniel Justice
Important Links
Canvas: TBD
Piazza: TBD
O’Reilly Quantum Simulator
Location
Class room is at 3SC 265. The class is in person. I encourage you to come to class. Remote access details, if needed, will be posted later.
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.
Materials
Course materials, assignments, and announcements will be posted here and/or on Canvas.
Main Book:
- Octopus Book
We will be working mostly out of this book.
Extra Reading:
- Blue Book
This book gives a great explanation on how to conceptualize Quantum Computers. First few chapters are great if you don’t feel confident with the math. - Gentle Book
A very computer science take on quantum computers. A good read if you are hoping to do research.
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: Introduction
Day 2: Qubits
Day 3: Multiple Qubits
Day 4: Quantum Teleportation
Day 5: BB84
Day 6: Quantum Arithmetic and Logic
Day 7: Universal Gates
Day 8: Amplitude Amplification
Day 9: Quantum Search
Day 10: QFT: Quantum Fourier Transform
Day 11: Shor’s Factoring Algorithm
Day 12: Guest Lecture
Day 13: Quantum Phase Estimation
