Quantum Computing: Programs and Systems

  • Course 16:198:672 Section 01
  • 2020 Fall; Mondays & Wednesdays 6:40 PM – 8:00 PM Eastern Time
  • Instructor: Yipeng Huang
  • Email: yipeng@cs.princeton.edu
  • Office: CoRE 317

Quantum Computing: Programs and Systems will be structured around reading and discussing several foundational research papers in realizing quantum computers. Students will also complete a two programming assignments to implement algorithms in open-source quantum frameworks. The goal of the course is to bring students up-to-speed on recent developments in realizing quantum computers, which will be a strong foundation for pursing research or to be a subject expert in industry.

The class will include short recorded lectures available for viewing any time from the course management website. We will discuss the readings via a course forum where students pick a question to answer about each paper and post the answer after reading the papers. For a handful of the most contentious topics in quantum computing, we will have debates via student presentations representing various viewpoints in the latest research.

In effort to make this class flexible for students in different time zones, we will have no exams or final. But, participation in reading discussions on the forum, oral presentations, and completion of the short programming assignments will be important.

Motivation & objectives

Post-Moore’s law computing
Specialized matching between problems and hardware

Using the conventional QIS course as a basis,
Understand the methods and open research challenges in realizing near term useful quantum computation

A selection of a couple dozen foundational and latest research papers in quantum computer engineering.

Useful for students interested in pursuing academic research in this area and in becoming subject experts in industry.


DateThemeTopicReading assignment
Tues. 9/1Fall Semester Begins
Wed. 9/2Motivation & class objectives“Quantum Computing in the NISQ era and beyond” by Preskill
Tue. 9/8
(Change in designation of class days: Monday classes)
Review1. single qubit state, Bra-ket notation, multi qubit states
2. gates, unitary matrices
3. measurement
4. circuits, the matrix vector multiplication view of quantum computation
5. noise, density matrices

Exercises with Quirk
Wed. 9/9ReviewContinuation of Tuesday lecture“Quantum Computer Systems for Scientific Discovery” report from 2019 NSF workshop on Quantum Computing


“Challenges and Opportunities of Near-Term Quantum Computing Systems” by Corcoles et al.

“Quantum Computer Architecture: Towards Full-Stack Quantum Accelerators” by Bertels et al.
Mon. 9/14A systems view of quantum computer engineeringOverview of research challenges in:
1. algorithms
2. programming languages
3. simulators
4. architectures
5. microarchitectures
6. devices
Wed. 9/16A systems view of quantum computer engineeringContinuation of Monday lecture“A Quantum Approximate Optimization Algorithm” by Farhi, Goldstone, and Gutmann


“Recent progress in quantum algorithms” by Bacon and van Dam

“Quantum Approximate Optimization of Non-Planar Graph Problems on a Planar Superconducting Processor” by Google AI Quantum and Collaborators
Mon. 9/21NISQ algorithms 1: QAOA1. A taxonomy for near term applications: analog (adiabatic),
digital (gate based)
2. Phrasing a MAX-CUT problem as optimization
3. Evaluating objective via quantum circuit

See also:
1. QAOA MSFT Research Talk – https://www.youtube.com/watch?v=qjIeeB0srew

2. QAOA QuICS Workshop Talk – https://www.youtube.com/watch?v=J8y0VhnISi8
Wed. 9/23NISQ algorithms 1: QAOAContinuation of Monday lecturehttps://cirq.readthedocs.io/en/master/tutorials/QAOA_Demo.html


“TensorFlow Quantum: A Software Framework for Quantum Machine Learning” by Broughton et al.
Mon. 9/28Programing frameworks 1: CirqIn-class lab on Google Cirq quantum framework
Wed. 9/30Programing frameworks 1: CirqSetup for at-home lab assignment.Lab 1 released.

“Programming languages and compiler design for realistic quantum hardware” by Chong, Franklin, and Martonosi


“Quantum Circuits for Dynamic Runtime Assertions in Quantum Computation” by Liu, Byrd, and Zhou

“Formal Verification vs. Quantum Uncertainty” by Rand, Hietala, and Hicks
Mon. 10/5Emerging languages and representations for quantum computing1. Design considerations for a quantum programming language
2. Compilation to gates
Wed. 10/7Emerging languages and representations for quantum computingMiniature in-class team debate—quantum program correctness: team assertions vs. team verification“Quantum Tensor Networks in a Nutshell” by Biamonte and Bergholm


“Lectures on Quantum Tensor Networks: a pathway to modern diagrammatic reasoning” by Biamonte

“The Heisenberg Representation of Quantum Computers” by Gottesman
Mon. 10/12Emerging languages and representations for quantum computingLecture on tensor networks and stabilizers
Wed. 10/14Emerging languages and representations for quantum computingContinuation of Monday lecture“Quantum supremacy using a programmable superconducting processor” by Arute et al.


“Characterizing Quantum Supremacy in Near-Term Devices” by Boixo et al.
Mon. 10/19Understanding claims and counterclaims for quantum advantageIn-class team debate
Wed. 10/21Understanding claims and counterclaims for quantum advantageIn-class team debate: team quantum prototype vs. team classical simulation (initial arguments)“Leveraging Secondary Storage to Simulate Deep 54-qubit Sycamore Circuits” by Pednault et al.


“Validating quantum computers using randomized model circuits” by Cross et al.
Mon. 10/26Understanding claims and counterclaims for quantum advantageIn-class team debate: team quantum prototype vs. team classical simulation (rebuttals)
Wed. 10/28Understanding claims and counterclaims for quantum advantageIn-class team debate“Quantum Chemistry in the Age of Quantum Computing” by Cao et al.


“Towards quantum chemistry on a quantum computer” by Lanyon et al.

“A variational eigenvalue solver on a photonic quantum processor” by Peruzzo at al.

“Hartree-Fock on a superconducting qubit quantum computer” by Arute et al.
Mon. 11/2NISQ algorithms 2: VQEQuantum simulation
1. Fermi-Hubbard model as a minimal example of VQE
2. Trotterization / phase estimation
3. Variational quantum eigensolvers
Wed. 11/4NISQ algorithms 2: VQEContinuation of Monday lecturehttps://qiskit.org/textbook/ch-applications/vqe-molecules.html


“Open Quantum Assembly Language” by Cross et al.

“Qiskit Pulse: Programming Quantum Computers Through the Cloud with Pulses” by Alexander et al.

“eQASM: An Executable Quantum Instruction Set Architecture” by Fu et al.
Mon. 11/9Programing frameworks 2: QiskitIn-class lab on IBM Qiskit quantum framework
Wed. 11/11Programing frameworks 2: QiskitSetup for at-home lab assignment.Lab 2 released.

“Full-Stack, Real-System Quantum Computer Studies:
Architectural Comparisons and Design Insights” by Murali et al.


“Not All Qubits Are Created Equal: A Case for Variability-Aware Policies for NISQ-Era Quantum Computers” by Tannu and Qureshi

“A Quantum Computational Compiler and Design Tool for Technology-Specific Targets” by Smith and Thornton

“Extracting Success from IBM’s 20-Qubit Machines Using Error-Aware Compilation” by Nishio et al.
Mon. 11/16Extracting success
Wed. 11/18Extracting success
Mon. 11/23Extracting success
Wed. 11/25Extracting success“The Physical Implementation of Quantum Computation” by DiVincenzo

“Experimental comparison of two quantum computing architectures” by Linke et al.


“The trapped-ion qubit tool box” by Ozeri

“Architecting Noisy Intermediate-Scale Trapped Ion Quantum Computers” by Murali et al.
Thurs. 11/26 – Sun. 11/29Thanksgiving Recess
Mon. 11/30PrototypesProminent implementation technologies:
1. Criteria for physical prototypes
2. Implementation technologies
3. Challenges and progress
Wed. 12/2PrototypesIn-class team debate: team ion trap advantages vs. team superconductor advantages (initial arguments)Optional:

“A Quantum Engineer’s Guide to Superconducting Qubits” by Krantz et al.

“Towards Efficient Superconducting Quantum Processor Architecture Design” by Li, Ding, and Xie

“The electronic interface for quantum processors” by van Dijk, Charbon, and Sebastiano
Mon. 12/7PrototypesIn-class team debate: team ion trap advantages vs. team superconductor advantages (rebuttals)
Wed. 12/9Prototypes
Thurs. 12/10Regular Classes End
Fri. 12/11Reading Day
Mon. 12/14Reading Day
Tues. 12/15Fall Exams Begin
Tues. 12/22Fall Exams End


Lab 1: QAOA implementation in Cirq

Lab 2: VQE implementation in Qiskit

Reading assignments

Presentations for in-class team debates

Useful resources