We may earn an affiliate commission when you visit our partners.
Course image
Fred Chong, Jonathan Baker, Yongshan Ding, and Casey Duckering

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:

Read more

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

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

Three deals to help you save

What's inside

Learning objectives

  • Understand design principles of full-stack quantum software design
  • Understand several examples of quantum system inefficiencies
  • Learn how to apply several classical software techniques to improve quantum hardware reliability and performance
  • Learn examples of how classical software techniques can be applied to make quantum systems more reliable and efficient
  • Learn how to think about the overall design of a quantum system and how the software and hardware work together
  • Develop unique skills to be more competitive in seeking a position in quantum software development

Syllabus

Textbooks
(Required) Quantum Computer Systems (QCS). Ding and Chong. (
)
(Open) Learn Quantum Computation using Qiskit. IBM Qiskit. (
Read more
(Optional) Quantum Computation and Quantum Information (QCQI). Nielsen and Chuang. (
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

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Fred Chong, Jonathan Baker, Yongshan Ding, and Casey Duckering, who are recognized for work in computer science, linear algebra, and quantum computing
Examines quantum system inefficiencies, which is relevant to the development of quantum computing systems
Explores superconducting qubits, which are part of the next generation of quantum computing technology
Covers parallel and sequential execution of quantum gates, which is important for scaling quantum algorithms
Requires access to computer hardware and software to complete homework assignments
This course is part of a series on quantum computing

Save this course

Save Quantum Computer Systems Design I: Intro to Quantum Computation and Programming to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Quantum Computer Systems Design I: Intro to Quantum Computation and Programming with these activities:
Review Quantum Mechanics
This course builds on concepts of quantum mechanics, so it will be helpful to review the basics in advance.
Browse courses on Quantum Mechanics
Show steps
  • Re-read your notes from a previous Quantum Mechanics course.
  • Review online resources such as Khan Academy or Coursera.
Quantum Computing Meetups
Networking with other quantum computing professionals can help you stay up-to-date on the latest developments and find opportunities.
Browse courses on Networking
Show steps
  • Find local or online quantum computing meetups.
  • Attend meetups and participate in discussions.
  • Connect with other attendees on LinkedIn.
Review Linear Algebra
Understanding linear algebra is critical for understanding quantum mechanics.
Browse courses on Linear Algebra
Show steps
  • Review the basics of linear algebra, including vectors, matrices, and vector spaces.
  • Practice solving linear equations and systems of linear equations.
  • Review the concepts of eigenvalues and eigenvectors.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Develop a presentation on quantum computing basics
Explaining the fundamentals of quantum computing to an audience aids in solidifying one's own understanding.
Browse courses on Quantum Mechanics
Show steps
  • Research the key concepts of quantum computing
  • Write a presentation outline
  • Design slides that illustrate the concepts
  • Practice delivering the presentation
Practice Quantum Gate Decomposition
Quantum gate decomposition is a fundamental skill in quantum computing.
Browse courses on Quantum Circuits
Show steps
  • Start with a quantum circuit and decompose it into a series of simpler gates.
  • Use the properties of quantum gates to optimize the circuit.
  • Practice decomposing different types of quantum circuits.
Simulate quantum circuits
Simulating quantum circuits helps solidify the understanding of quantum logic gates and their behavior.
Browse courses on Quantum Circuits
Show steps
  • Set up a quantum computing simulator
  • Write a quantum circuit using a quantum programming language
  • Simulate the circuit to observe the behavior of the qubits
Tutorial: Quantum Algorithm Implementation in Qiskit
Qiskit is a powerful tool for implementing quantum algorithms.
Browse courses on Quantum Algorithms
Show steps
  • Find a tutorial on implementing a quantum algorithm in Qiskit.
  • Follow the tutorial step-by-step.
  • Modify the code to experiment with different parameters.
Quantum Computing Project
Applying quantum computing concepts to a real-world problem is a great way to solidify your understanding.
Browse courses on Quantum Algorithms
Show steps
  • Choose a quantum computing problem to solve.
  • Design and implement a quantum algorithm to solve the problem.
  • Test and evaluate your algorithm.
  • Write a report on your project.
Contribute to an Open-Source Quantum Computing Project
Contributing to an open-source project is a great way to learn about quantum computing and get involved in the community.
Show steps
  • Find an open-source quantum computing project to contribute to.
  • Read the project's documentation and codebase.
  • Identify a bug or feature to work on.
  • Implement your fix or feature and submit a pull request.

Career center

Learners who complete Quantum Computer Systems Design I: Intro to Quantum Computation and Programming will develop knowledge and skills that may be useful to these careers:
Quantum Software Architect
Quantum Software Architects lead the design, development, and maintenance of enterprise software programs and applications in the field of quantum computing. This course would help someone in this field by teaching them the design principles of full-stack quantum software design. It would also teach them how to apply classical software techniques to improve quantum hardware reliability and performance.
Quantum Software Developer
Quantum Software Developers build and maintain software systems using quantum computing principles. Those in this field may find this course helpful because it covers topics such as quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Researcher
Quantum Computing Researchers work on the theoretical and practical aspects of quantum computing. They develop new algorithms and techniques for quantum computers, and they investigate the potential applications of quantum computing in various fields. Those in this field may find this course helpful because it covers the fundamental rules of quantum computing, such as the Bloch Sphere and the Feynman Path Sum.
Quantum Hardware Engineer
Quantum Hardware Engineers design, develop, and maintain quantum computing hardware. This course could be helpful for those in this field because it teaches about the design principles of quantum computer systems, such as qubit technology and quantum processor microarchitecture.
Quantum Information Scientist
Quantum Information Scientists develop and apply mathematical models and theories to understand and describe the behavior of quantum systems. Those in this field may find this course helpful because it covers the fundamental rules of quantum computing, such as the Bloch Sphere and the Feynman Path Sum.
Quantum Computing Physicist
Quantum Computing Physicists apply the principles of physics to the design, development, and operation of quantum computers. This course may be helpful to those in this field because it teaches about the fundamental rules of quantum computing, such as the Bloch Sphere and the Feynman Path Sum.
Quantum Computing Mathematician
Quantum Computing Mathematicians develop and apply mathematical models and theories to understand and describe the behavior of quantum systems. Those in this field may find this course helpful because it covers the fundamental rules of quantum computing, such as the Bloch Sphere and the Feynman Path Sum.
Quantum Computing Programmer
Quantum Computing Programmers develop and maintain software systems using quantum computing principles. Those in this field may find this course helpful because it covers topics such as quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Engineer
Quantum Computing Engineers design, develop, and maintain quantum computing systems. This course could be helpful for those in this field because it teaches about the design principles of quantum computer systems, such as qubit technology and quantum processor microarchitecture.
Quantum Computing Sales Engineer
Quantum Computing Sales Engineers sell and support quantum computing products and services. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Policy Analyst
Quantum Computing Policy Analysts analyze and develop policies related to the use of quantum computing technology. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Analyst
Quantum Computing Analysts analyze and interpret data from quantum computing experiments. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Scientist
Quantum Computing Scientists research and develop new quantum computing technologies and applications. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Educator
Quantum Computing Educators teach and train students in the field of quantum computing. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.
Quantum Computing Consultant
Quantum Computing Consultants provide advice and guidance to organizations on how to use quantum computing technology. This course may be helpful to those in this field because it covers a variety of topics in quantum computing, including quantum processor microarchitecture, quantum program compilation, and qubit memory management.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Quantum Computer Systems Design I: Intro to Quantum Computation and Programming.
(Required) Textbook for the Quantum Computer Systems (QCS) course.
Serves as a comprehensive textbook for quantum computing courses, covering a wide range of topics from basic concepts to advanced algorithms.
Provides a comprehensive introduction to quantum computing for computer scientists, covering the underlying theory, algorithms, and architectures.
Provides a balanced treatment of the theoretical foundations and practical aspects of quantum computing, making it suitable for both researchers and practitioners.
Provides a clear and concise introduction to quantum computing, making it accessible to a wide audience.
Written by a renowned expert in quantum computing, this book provides insights into the latest advancements and future directions of the field.
Focuses on the practical applications of quantum computing, exploring various use cases and industry trends.
Presents quantum computing algorithms from the perspective of linear algebra, providing a deep understanding of their mathematical foundations.
Offers an accessible introduction to quantum computer science, suitable for students with limited background in physics.
(Optional) Textbook for the Quantum Computer Systems (QCS) course. It is an indepth overview of quantum computation.
Provides an overview of quantum machine learning algorithms and their potential impact on various fields.
Explores the potential applications of quantum computing in the finance industry, covering areas such as risk management and portfolio optimization.
Covers the mathematical foundations of quantum information theory, essential for understanding the theoretical underpinnings of quantum computing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Quantum Computer Systems Design I: Intro to Quantum Computation and Programming.
Quantum Computer Systems Design II: Principles of Quantum...
Most relevant
Quantum Computer Systems Design III: Working with Noisy...
Most relevant
Fundamentals of Quantum Information
Most relevant
QC101 Quantum Computing & Intro to Quantum Machine...
Most relevant
Applied Quantum Computing III: Algorithm and Software
Most relevant
Programming a Quantum Computer with Qiskit
Most relevant
Introduction to Quantum Circuits
Most relevant
Introduction to Quantum Information
Most relevant
Quantum Computing Fundamentals
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser