Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

The University of Chicago

Quantum Computer Systems Design I: Intro to Quantum Computation and Programming

The University of Chicago via edX


This quantum computing course explores the basic design principles of today's quantum computer systems. In this course, students will learn to work with the IBM Qiskit software tools to write simple programs in Python and execute them on cloud-accessible quantum hardware. Topics covered in this course include:

  • Introduction to systems research in quantum computing
  • Fundamental rules in quantum computing, Bloch Sphere, Feynman Path Sum
  • Sequential and parallel execution of quantum gates, EPR pair, no-cloning theorem, quantum teleportation
  • Medium-size algorithms for NISQ (near-term intermediate scale quantum) computers
  • Quantum processor microarchitecture: classical and quantum control
  • Quantum program compilation and qubit memory management

Keywords: quantum computing, computer science, linear algebra, compiler, circuit optimization, python, qiskit, quantum algorithms, quantum technology, superposition, entanglement, qubit technology, superconducting qubit, transmon qubit, ion-trap qubit, photonic qubit, real quantum computers



  • (Required) Quantum Computer Systems (QCS). Ding and Chong. (Link)
  • (Open) Learn Quantum Computation using Qiskit. IBM Qiskit. (Link)
  • (Optional) Quantum Computation and Quantum Information (QCQI). Nielsen and Chuang. (Link)


Module 1 (Intro to Quantum Computation and Programming)

  • Lec 00 - Quantum Computing Systems – Current State-of-Play
  • Lec 01 - From bits to qubits
  • Lec 02 - QASM and logic gate decomposition
  • Lec 03 - Basic quantum programs

Module 2 (Principles of Quantum Architecture)

  • Lec 04 - Program compilation and synthesis
  • Lec 05 - Program compilation and synthesis II
  • Lec 06 - Gate scheduling and parallelism
  • Lec 07 - Qubit mapping and memory management

Module 3 (Working with Noisy Systems)

  • Lec 08 - NISQ algorithms
  • Lec 19 - Noisy quantum systems
  • Lec 10 - Noise-aware quantum compiling

Taught by

Fred Chong, Jonathan Baker, Yongshan Ding and Casey Duckering


Start your review of Quantum Computer Systems Design I: Intro to Quantum Computation and Programming

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.