CS 583 Quantum Computing: Programs and Systems (2021 Fall)

Quantum Computing: Programs and Systems will be structured around reading and discussing several foundational research papers in realizing quantum computers. Students will also complete 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 pursuing research or to be a subject expert in industry.

For 2021 Spring, here is a list of quantum computing course offerings throughout Rutgers University: https://sis.rutgers.edu/soc/#keyword?keyword=QUANTUM&semester=12021&campus=NB&level=U,G

For 2021 Fall, my CS 583 class will be generally be synchronous, as it helps with questions and discussion.
I will have it in-person if everything permits so in September. I will be doing live streaming so people can join via Zoom if that offers additional flexibility. Classes will be recorded if people need to reference the class videos.

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.

Participation in reading discussions on the forum, oral presentations, and completion of the short programming assignments will be important.

Learning remotely presents new challenges.  For assistance with learning how to address these challenges, please consult the resources available here:  https://rlc.rutgers.edu/remote_instruction

Basic information

Instructor information

  • Yipeng Huang
  • Email: yipeng.huang@rutgers.edu
  • Students can expect a 2-day turnaround from me on emails.
  • Office hours: Fridays 11 to noon, or by appointment
  • Please see Canvas site for office hour Zoom info.
  • Office: CoRE 317

Technology requirements

Students will need access to the Canvas site, and be able to join class via audio, at minimum.

Please visit the Rutgers Student Tech Guide page for resources available to all students.  If you do not have the appropriate technology for financial reasons, please email Dean of Students deanofstudents@echo.rutgers.edu for assistance.  If you are facing other financial hardships, please visit the Office of Financial Aid at https://financialaid.rutgers.edu/.

Academic integrity

Summary: http://nbacademicintegrity.rutgers.edu/home-2/academic-integrity-policy

Resources for Students: https://nbprovost.rutgers.edu/academic-integrity-students


DateThemeTopicReading assignment
Tues. 9/1Fall Semester Begins
Wed. 9/2Motivation & class objectives [slides]Preview of the syllabus, course objectives & activities.“Quantum Computing in the NISQ era and beyond” by Preskill
Tue. 9/8
(Change in designation of class days: Monday classes)
Review [slides]• 1 qubit states: what is a qubit, basis states, superposition, Bloch sphere
• 1 qubit gates: Pauli-X, Hadamard, Quirk, unitary matrices
• 2 qubit states: basis states, tensor product
• 2 qubit gates: CNOT, H⊗H, entanglement
Exercises with Quirk
Wed. 9/9Review [slides]• A minimal example of Hadamard gate?
• Measurement
• Recapping the Bell state creation circuit from yesterday
• Unitary matrices
“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 engineering [slides]Overview of research challenges in:
1. Quantum computer support for quantum computer engineering?
2. Fault-tolerant, error-corrected quantum algorithms?
3. Mature, high level quantum programming languages?
Wed. 9/16A systems view of quantum computer engineering [slides]Overview of research challenges in:
4. Universally accepted quantum ISAs?
5. Uniform, fully connected quantum device architectures?
6. Reliable quantum gates and qubits?
“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: QAOA [slides]1. NISQ variational algorithms
2. Constraint satisfaction problems: MAX-CUT, MAX-SAT
3. QAOA for MAX-CUT: general strategy
Wed. 9/23NISQ algorithms 1: QAOA [slides]4. QAOA for MAX-CUT: detailed steps
5. Evaluation of QAOA for NISQ


“TensorFlow Quantum: A Software Framework for Quantum Machine Learning” by Broughton et al.
Mon. 9/28Programing frameworks 1: Cirq [slides]In-class lab on Google Cirq quantum framework
1. Setting up a Cirq development environment
2. A minimal 3-node 2-edge MAX-CUT QAOA example
3. Walking through the QAOA steps, this time with code
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 computing [slides]1. Correct quantum programs: Verification & Validation
2. Quantum programming: From abstractions to execution
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 computingGuest lecture on runtime assertions by Gushu Li, UCSB
Wed. 10/14Emerging languages and representations for quantum computing [slides]Lecture on the stabilizer formalism.
1. Representing a quantum state as a group of its stabilizers
2. Simulating Clifford quantum circuits as stabilizer gates
3. Applying stabilizer gates to stabilizer representations
“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 advantage [slides]Lecture on the tensor network contraction.
1. The Feynman path sum view of quantum computing.
2. Tensor network contraction and ordering
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 advantage [slides]Change in class time: dial into the Rutgers CS Systems Seminar at noon-1pm ET.

Yipeng’s research seminar on noisy variational quantum algorithm simulation.
“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: VQEGuest lecture on VQE by Teague Tomesh, Princeton University
Wed. 11/4NISQ algorithms 2: VQE [slides]1. The Schrodinger equation.
2. Computing ground state energies.
3. Quantum chemistry simplifications and mappings.
4. The variational principle.


“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 [slides]Extracting Success
Compiling from a high-level program to hardware:
1. Native gate sets
2. Device topologies
3. Hardware noise
4. Parallelism constraints
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/30Prototypes [slides]Prominent 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

Quantum links




Student-Wellness Services:  All of these services are being provided remotely during Fall 2020.

Counseling, ADAP & Psychiatric Services (CAPS)

(848) 932-7884 / 17 Senior Street, New Brunswick, NJ 08901/ http://health.rutgers.edu/medical-counseling-services/counseling/

CAPS is a University mental health support service that includes counseling, alcohol and other drug assistance, and psychiatric services staffed by a team of professionals within Rutgers Health services to support students’ efforts to succeed at Rutgers University. CAPS offers a variety of services that include: individual therapy, group therapy and workshops, crisis intervention, referral to specialists in the community, and consultation and collaboration with campus partners.

Crisis Intervention : http://health.rutgers.edu/medical-counseling-services/counseling/crisis-intervention/

Report a Concern:  http://health.rutgers.edu/do-something-to-help/

Violence Prevention & Victim Assistance (VPVA)

(848) 932-1181 / 3 Bartlett Street, New Brunswick, NJ 08901 / www.vpva.rutgers.edu/

The Office for Violence Prevention and Victim Assistance provides confidential crisis intervention, counseling and advocacy for victims of sexual and relationship violence and stalking to students, staff and faculty.  To reach staff during office hours when the university is open or to reach an advocate after hours, call 848-932-1181.

Disability Services

 (848) 445-6800 / Lucy Stone Hall, Suite A145, Livingston Campus, 54 Joyce Kilmer Avenue, Piscataway, NJ 08854 /  https://ods.rutgers.edu/

Rutgers University welcomes students with disabilities into all of the University’s educational programs. In order to receive consideration for reasonable accommodations, a student with a disability must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation: https://ods.rutgers.edu/students/documentation-guidelines. If the documentation supports your request for reasonable accommodations, your campus’s disability services office will provide you with a Letter of Accommodations. Please share this letter with your instructors and discuss the accommodations with them as early in your courses as possible. To begin this process, please complete the Registration form on the ODS web site at: https://ods.rutgers.edu/students/registration-form.