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

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
Learners develop skills in designing full-stack quantum software
Learners apply classical software techniques to improve quantum hardware reliability and performance
The course is suitable for learners with an interest in quantum computing, computer science, quantum algorithms, and quantum technology
Learners engage with the IBM Qiskit software tools to write quantum programs in Python

Save this course

Save Quantum Computer Systems Design II: Principles of Quantum Architecture 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 II: Principles of Quantum Architecture with these activities:
Connect with Quantum Computing Experts
Seek guidance and support from experienced quantum computing professionals to enhance your learning.
Browse courses on Networking
Show steps
  • Attend industry events and conferences.
  • Reach out to researchers and practitioners in the field.
  • Join online communities and forums.
Review Quantum Mechanics
Review the fundamentals of quantum mechanics to strengthen your understanding of the core concepts covered in this course.
Browse courses on Quantum Mechanics
Show steps
  • Revisit textbooks and lecture notes from previous quantum mechanics courses.
  • Attend online webinars and tutorials on quantum mechanics concepts.
  • Solve practice problems and exercises to test your understanding.
Explore Qiskit Tutorials
Familiarize yourself with Qiskit, an open-source software framework for quantum computing, by following guided tutorials.
Browse courses on Qiskit
Show steps
  • Visit the Qiskit website and access their tutorials section.
  • Choose tutorials that align with the topics covered in the course.
  • Follow the tutorials step-by-step and experiment with the code examples.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in Quantum Computing Workshops
Supplement your theoretical knowledge with hands-on experience by attending quantum computing workshops.
Browse courses on Hands-on Experience
Show steps
  • Search for upcoming workshops offered by universities, research labs, or industry organizations.
  • Select workshops that align with your interests and skill level.
  • Attend the workshops and actively participate in discussions and exercises.
Solve Quantum Circuit Design Problems
Sharpen your problem-solving skills by practicing the design and analysis of quantum circuits.
Browse courses on Quantum Algorithms
Show steps
  • Find online platforms or textbooks with quantum circuit design exercises.
  • Select problems that challenge your understanding of quantum gates and operations.
  • Attempt to solve the problems on your own, referring to course materials for guidance.
  • Compare your solutions with provided answers or discuss them with classmates.
Read 'Quantum Computation and Quantum Information'
Gain a comprehensive understanding of the fundamental principles of quantum computing and quantum information theory.
Show steps
  • Acquire a copy of the book.
  • Allocate dedicated time for reading and studying the material.
  • Take notes and highlight important concepts.
  • Discuss the book's content with classmates or a study group.
Write a Technical Report on Quantum Error Correction
Synthesize your knowledge by creating a comprehensive report exploring the techniques and challenges of quantum error correction.
Browse courses on Quantum Error Correction
Show steps
  • Research different quantum error correction methods.
  • Analyze their advantages and limitations.
  • Discuss the current state and future prospects of quantum error correction.
  • Write a well-structured and detailed technical report.

Career center

Learners who complete Quantum Computer Systems Design II: Principles of Quantum Architecture will develop knowledge and skills that may be useful to these careers:
Quantum Systems Analyst
A Quantum Systems Analyst analyzes and optimizes quantum computing systems. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Software Developer
A Quantum Software Developer develops and maintains software for quantum computing systems. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Algorithm Developer
A Quantum Algorithm Developer develops and analyzes quantum algorithms. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Computing Teacher
A Quantum Computing Teacher teaches about quantum computing. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Computing Writer
A Quantum Computing Writer writes about quantum computing. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Hardware Developer
A Quantum Hardware Developer designs and builds quantum computing hardware. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Computing Researcher
A Quantum Computing Researcher conducts research on quantum computing. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Computing Consultant
A Quantum Computing Consultant provides advice on quantum computing. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Computing Engineer
A Quantum Computing Engineer designs, builds, and maintains quantum computing systems. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Quantum Architect
A Quantum Architect designs and builds quantum computing systems. This course can help you develop the skills you need to be successful in this role by providing you with a strong foundation in the principles of quantum computing, including quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Computer Scientist
A Computer Scientist researches and develops new computer technologies. This course may be useful for Computer Scientists who want to learn about the principles of quantum computing. The course will provide you with a strong foundation in quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Mathematician
A Mathematician studies mathematics. This course may be useful for Mathematicians who want to learn about the principles of quantum computing. The course will provide you with a strong foundation in quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Electrical Engineer
An Electrical Engineer designs, develops, and maintains electrical systems. This course may be useful for Electrical Engineers who want to learn about the principles of quantum computing. The course will provide you with a strong foundation in quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Physicist
A Physicist studies the laws of nature. This course may be useful for Physicists who want to learn about the principles of quantum computing. The course will provide you with a strong foundation in quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. This course may be useful for Software Engineers who want to learn about the principles of quantum computing. The course will provide you with a strong foundation in quantum mechanics, quantum information theory, and quantum algorithms. You will also learn about the different types of quantum computing hardware and software, and how to use them to develop and run quantum computing applications.

Reading list

We've selected 12 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 II: Principles of Quantum Architecture.
This classic textbook covers a wide range of topics in quantum computing, from the basics to more advanced topics such as quantum error correction and quantum information theory. It great resource for those who want to learn more about the field in depth.
Provides a comprehensive overview of quantum computing, covering topics such as quantum algorithms, quantum architectures, and quantum applications. It great resource for those who want to learn about the latest developments in the field.
Is an excellent introduction to quantum computing for beginners, covering the basics such as qubits, quantum gates, and quantum algorithms. It is well-written and easy to follow, making it a great starting point for those new to the field.
Provides a practical introduction to quantum computing, using the Python programming language. It covers topics such as quantum circuits, quantum algorithms, and quantum machine learning. It great resource for those who want to learn how to program quantum computers.
Provides a clear and accessible introduction to quantum computing for a general audience. It covers topics such as qubits, quantum gates, and quantum algorithms, and it does not require any prior knowledge of physics or mathematics.

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 II: Principles of Quantum Architecture.
Quantum Computer Systems Design I: Intro to 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