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
Explores quantum computing systems and their design principles, which is standard in industry
Taught by Fred Chong, Jonathan Baker, Yongshan Ding, and Casey Duckering, who are recognized for their work in quantum computing
Develops skills and knowledge in quantum computing, which are core skills for quantum software development
Provides hands-on experience with IBM Qiskit software tools and cloud-accessible quantum hardware
Covers a range of topics relevant to quantum computing, including quantum gates, quantum algorithms, and quantum hardware architectures
Requires prerequisites in linear algebra, compiler, and circuit optimization, which may not be suitable for beginners

Save this course

Save Quantum Computer Systems Design III: Working with Noisy Systems 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 III: Working with Noisy Systems with these activities:
Review linear algebra
Linear algebra is a fundamental tool for understanding quantum computing.
Browse courses on Linear Algebra
Show steps
  • Review the basics of linear algebra.
  • Practice solving linear algebra problems.
Review quantum mechanics
Quantum mechanics is the foundation of quantum computing.
Browse courses on Quantum Mechanics
Show steps
  • Review the basics of quantum mechanics.
  • Practice solving quantum mechanics problems.
Follow the Qiskit tutorials
The Qiskit tutorials provide a great way to learn the basics of quantum computing and how to use Qiskit to write and run quantum programs.
Browse courses on Qiskit
Show steps
  • Visit the Qiskit website.
  • Choose a tutorial.
  • Follow the steps in the tutorial.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Build a simple quantum circuit
Building a simple quantum circuit will help you understand the basic principles of quantum computing and how to use Qiskit to write and run quantum programs.
Browse courses on Qiskit
Show steps
  • Install the Qiskit SDK.
  • Create a new Qiskit project.
  • Write a simple quantum circuit.
  • Run your circuit on a quantum simulator.
Join a quantum computing study group
Joining a quantum computing study group will allow you to connect with other students and researchers who are interested in quantum computing.
Show steps
  • Find a quantum computing study group.
  • Attend the study group meetings.
  • Participate in the discussions.
Solve quantum computing problems
Solving quantum computing problems will help you develop your problem-solving skills and your understanding of quantum computing.
Show steps
  • Find a quantum computing problem to solve.
  • Design a quantum circuit to solve the problem.
  • Run your circuit on a quantum simulator.
  • Analyze the results.
Read Quantum Computation and Quantum Information
Quantum Computation and Quantum Information is a classic textbook on quantum computing.
Show steps
  • Read the book.
  • Work through the exercises.
Volunteer at a quantum computing lab
Volunteering at a quantum computing lab will give you hands-on experience with quantum computing and allow you to network with other people in the field.
Show steps
  • Start volunteering.
  • Find a quantum computing lab that is looking for volunteers.
  • Apply to volunteer.
  • Complete the volunteer training program.

Career center

Learners who complete Quantum Computer Systems Design III: Working with Noisy Systems will develop knowledge and skills that may be useful to these careers:
Quantum Software Engineer
Quantum Software Engineers design, develop, and test software for quantum computers. With a high-performance computing background, one would use knowledge from quantum computing courses to program quantum computers to solve complex computational problems. Quantum Computer Systems Design III: Working With Noisy Systems provides a solid foundation to build upon for a career in this field.
Quantum Architect
Quantum Architects lead the design and development of quantum hardware, software, and algorithms. They work with a multidisciplinary team in quantum technologies that include software engineers, hardware engineers, and physicists. Quantum Computer Systems Design III: Working With Noisy Systems lays the groundwork with hardware components and introduces noise aware quantum compiling. Understanding how noise aware quantum compiling works and the challenges associated with noisy systems is helpful for those wishing to be Quantum Architects.
Quantum Programmer
Quantum Programmers develop and write programs for quantum computers. These programs can be used to solve a variety of problems, from drug discovery to materials science. Quantum Computer Systems Design III: Working With Noisy Systems provides a solid foundation for a career in this field. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Hardware Engineer
Quantum Hardware Engineers design, develop, and test quantum computer hardware. They work with a multidisciplinary team in quantum technologies that include software engineers, hardware engineers, and physicists. Quantum Computer Systems Design III: Working With Noisy Systems can help build a strong foundation for a career in this field. The course covers topics such as quantum program compilation, synthesis, and qubit memory management. This course would be beneficial to someone who wants to be a quantum hardware engineer to become familiar with these concepts.
University Professor
University Professors hold positions where they conduct and teach research in a college or university setting. Through quantum simulation, it is possible to explore complex scientific questions within a simulated environment. They write papers on their research and give presentations at conferences. Quantum Computer Systems Design III: Working With Noisy Systems can help build a strong foundation for a career in this field. The course helps students become familiar with writing simple quantum programs and executing them on cloud-accessible quantum hardware.
Quantum Computing Consultant
Quantum Computing Consultants advise clients on how to use quantum computing to solve business problems. They may also work with clients to develop and implement quantum computing solutions. A background in quantum computing would be very helpful for a career in this field. Quantum Computer Systems Design III: Working With Noisy Systems introduces topics such as quantum program compilation, synthesis, and qubit memory management. This course would be a great way to get a head start in this field.
Research Scientist
Research Scientists are tasked with performing independent research to gain a deeper understanding of complex topics. They work in various fields such as physics, chemistry, biology, and computer science. Those with a background in quantum computing can use their knowledge to explore quantum simulation. Familiarity with quantum programming is a must for those doing work in quantum simulation. The concepts and skills learned in Quantum Computer Systems Design III: Working With Noisy Systems are beneficial to have for a career in this field.
Quantum Computing Educator
Quantum Computing Educators teach quantum computing to students at universities and colleges. Quantum Computer Systems Design III: Working With Noisy Systems may be helpful course for someone who wants to become a quantum computing educator. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Computing Researcher
Quantum Computing Researchers conduct research in the field of quantum computing. They work on a variety of topics, including quantum algorithms, quantum hardware, and quantum software. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum computing researcher. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Technology Developer
Quantum Technology Developers design and develop new quantum technologies. These technologies can be used to solve a variety of problems, from drug discovery to materials science. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum technology developer. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Computing Sales Engineer
Quantum Computing Sales Engineers sell quantum computing hardware and software to businesses and organizations. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum computing sales engineer. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Computing Business Analyst
Quantum Computing Business Analysts work with businesses to help them understand how quantum computing can benefit their operations. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum computing business analyst. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Algorithm Developer
Quantum Algorithm Developers design and develop new quantum algorithms. These algorithms can be used to solve a variety of problems, from drug discovery to materials science. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum algorithm developer. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Quantum Computing Policy Analyst
Quantum Computing Policy Analysts work on policy issues related to quantum computing. They may work for government agencies, think tanks, or corporations. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful introductory course for someone who wants to become a quantum computing policy analyst. The course covers topics such as quantum program compilation, synthesis, and qubit memory management.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. They analyze data using advanced machine learning techniques and algorithms to develop predictive models. Data Scientists can use quantum computing to develop more powerful machine learning algorithms. Quantum Computer Systems Design III: Working With Noisy Systems may be a helpful course for someone who wants to become a data scientist who uses quantum computing.

Reading list

We've selected seven 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 III: Working with Noisy Systems.
Classic textbook on quantum computing and quantum information. It covers a wide range of topics, from the basics of quantum mechanics to the latest advances in quantum computing.
Provides a comprehensive overview of the field of quantum computing. It covers a wide range of topics, from the basics of quantum computing to the latest advances in quantum computing.
Offers a comprehensive overview of the field of quantum computing, providing insights into both the current state of the art and future research directions.
Is focused on providing a practical introduction to quantum computing. It offers an overview of the field, as well as detailed explanations of various algorithms and techniques.
Provides an introduction to quantum computing for computer science students, with a focus on the practical aspects of the field.
Provides a clear and concise explanation of the principles of quantum computing. It is written for a non-technical audience and assumes no prior knowledge of quantum mechanics.
Provides a gentle introduction to quantum computing, making it suitable for readers with little to no prior knowledge in the field.

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 III: Working with Noisy Systems.
Quantum Computer Systems Design II: Principles of Quantum...
Most relevant
Quantum Computer Systems Design I: Intro to Quantum...
Most relevant
Applied Quantum Computing III: Algorithm and Software
Most relevant
Fundamentals of Quantum Information
Most relevant
QC101 Quantum Computing & Intro to Quantum Machine...
Most relevant
Programming a Quantum Computer with Qiskit
Most relevant
Introduction to Quantum Circuits
Most relevant
Introduction to Quantum Information
Most relevant
Machine Learning for Semiconductor Quantum Devices
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