Skip to main content

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

This 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 quantum programs and execute them on cloud-accessible quantum hardware.

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

There is one session available:

After a course session ends, it will be archived.
Starts Dec 3
Ends Dec 31
Estimated 4 weeks
8–12 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

About this course

Skip About this course

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

At a glance

What you'll learn

Skip What you'll learn
  1. Understand design principles of full-stack quantum software design
  2. Understand several examples of quantum system inefficiencies
  3. Learn how to apply several classical software techniques to improve quantum hardware reliability and performance
  4. Learn examples of how classical software techniques can be applied to make quantum systems more reliable and efficient
  5. Learn how to think about the overall design of a quantum system and how the software and hardware work together
  6. Develop unique skills to be more competitive in seeking a position in quantum software development

Textbooks

  • (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)

Schedule

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

About the instructors

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX for Business.