We may earn an affiliate commission when you visit our partners.
Abhilash Nelson

If you are a Udemy Business user, please check with your employer before downloading software.

Hello and welcome to my new course The Dummies guide to Practical Quantum Computing with IBM Qiskit. Our current classical computing technology is based on bits or binary digits 1 and 0 . 1 for ON and 0 OFF. Even though it have two states, a bit can exist in only one state at a time. Just like a coin having two faces head and tail.

NOTE: In classical computers a programmer can simply But for Quantum Computers we have to DESIGN CIRCUITS for performing specific tasks.

Read more

If you are a Udemy Business user, please check with your employer before downloading software.

Hello and welcome to my new course The Dummies guide to Practical Quantum Computing with IBM Qiskit. Our current classical computing technology is based on bits or binary digits 1 and 0 . 1 for ON and 0 OFF. Even though it have two states, a bit can exist in only one state at a time. Just like a coin having two faces head and tail.

NOTE: In classical computers a programmer can simply But for Quantum Computers we have to DESIGN CIRCUITS for performing specific tasks.

Quantum computing concept is entirely different from classical one. It use the quantum mechanical property of tiny sub atomic particles like electrons to perform computation. Instead of 1 and 0, a qubit or quantum bit uses the spin position 'up' and 'down' of electrons.

But unlike bits, qubits can exist in both state simultaneously. Like a coin keeps on spinning, we could say it is having equal probability for both head and tail. Or it is both head and tail at the same time.

For example consider an 1 bit calculation of finding the best path. 0 means right and 1 means left. A classical computer with a single bit have to first set bit to 0 to go to left path and later 1 to go to right path to find the best path. But a quantum computer with a single qubit can go through both the path simultaneously and arrive at a solution in just only half the time.

As the number of qubits increases, this speed increases exponentially compared to classical computers. Computations like data analytic, artificial intelligence which require large parallel processing ability can perform calculations in matter of milli-seconds where it now takes ages to complete.

Even though its not going to replace our laptops or mobile phones, Quantum computers will be able to solve these road blocks of traditional computers in data processing. Recently Google announced it has a quantum computer that is 100 million times faster than any classical computer in its lab.

The first section of our course from sessions 1 to 6, we are learning essential details about quantum mechanics, and quantum bits which will start with an introduction to quantum mechanics. We will try to have a quick understanding about the difference between quantum mechanics and classical physics, dual nature of particles, double slit experiment, superposition, quantum entanglement etc in the most simplest way of explanation.

In the next session we will discuss about the difference between classical bits and quantum bits called qubits. Creating, representing and processing a classical bit. Then how a qubit is generated, what's inside the qubit, how data is represented in qubit and what makes it faster than classical bits.

Then we will see in details how a qubit is created and how its retaining its information. We will also discuss the structure of a quantum computer and the way qubits are dealt within it.

Then we will learn about scalars and vectors. How vectors and matrices are used to represent the state of a quantum bit. About representing the qubit as Ket vectors and matrices. We will also learn basic matrix operations.

After learning about classical bits and qubits, we can now proceed with gates. At first we will learn about classical gates, its working and also different types of classical gates and their truth tables.

In the next session, we will learn about the popular quantum frameworks by leading companies researching on quantum computers, their merits and demerits.

Having all concepts clear, now we can proceed with the practical part of our course. We will at first setup our computer by installing python environment. Its made easy by installing python distribution called anaconda. Then we will proceed with installing and testing qiskit, the quantum framework by IBM

Once we have qiskit in our computer and the quantum simulator running, we will be coding our first quantum circuit using the simple quantum gate called the Pauli x gate. Later we will try customizing the input and output to the Pauli x gate and verify the operations.

Once we verified in simulator, its time we can try that in a real quantum computer. IBM provides access to their number of quantum computers located in research facilities around the world. Using IBM quantum experience interface we can simply create our Pauli x gate circuit to work in a real quantum computer and get output.

Then we will check how we can represent matrices as state vectors using dirac notation. We will see how Pauli x gate matrices will be represented as a state vector.

Similarly we will proceed with Pauli Y gate. We will check the state vector and try with the operations in our qiskit simulator at first and then implement it in the IBM real quantum computer.

Like that, another gate called the Pauli Z gate. For this one also we will learn about the operations in our qiskit simulator at first and then implement it in real quantum computer.

In the next session, we will learn about the Eigen value and Eigen vectors of our already learnt Pauli x, y and z gates.

After that, we will learn about a new gate called as the Hadamard gate or the H gate. This gate is capable of generating superposition from a classical qubit. We will have an introduction about the operations of H gate. Then we will implement the H gate in our qiskit simulator. We will check the bloch sphere and histogram representation using qiskit.

Using H gate we will also try creating few custom circuits in which we will try to replicate an X gate operations only using the H and Z gates. In the next circuit we will

check the phenomenon of collapsing the superposition when we measure the qubit.

Then we will try the Hadamard gate in an IBM quantum computer.

After H gate we will take few quick sessions dealing with few more gates. The first one called as the R Phi gate. Then we will check two more gates called as the S and T gates. And finally will deal with the U and I gates. We will check the transition matrix and operations of those gates.

Those were gates with single qubit operations. Now we will proceed with gates that are capable of multi-qubit operations. Before that, we will learn about representing multi-qubits and its states. We will be using a package called qiskit-notebook for representing the multi-qiskit state vector.

At first we will try to create a multi-qubit circuit using single qubit gates. At first we will try with X and H gates combined to form the circuit. And later we will try using two qubits and a single gate.

After that we will proceed with a real multi-qubit gate called as CNOT gate or the Controlled NOT gate. We will learn more about CNOT gate, the truth table and its operations. At first we will try the CNOT gate with classical qubits. We will implement it in qiskit. Later we will try the CNOT gate with only one superposition qubit and after that with both superposition qubits.

Then we will proceed with implementing CNOT gate in the Real quantum computer from IBM.

We can also create identity circuits using CNOT gate. Using these equivalence circuit we can mimic operations of other gates which cannot be performed in a real quantum computer.

At first we will create an identity circuit using a CNOT gate wrapped with H gates so that it will act like a CNOT gate placed in opposite direction.

Then we will try another equivalence circuit using a CNOT gate in between Hadamard gates which will generate operations of a Controlled Z gate or CZ gate.

Like that we will create an equivalence circuit for another theoretical gate called as the CY gate or the Controlled Y gate.

There is another gate called as the SWAP gate. Like the name indicates, it can swap the qubit states between each other. We will also create circuit identity or circuit equivalence for swap gate.

Similarly for another gate called the Tiffoli gate, we will create circuit identity or circuit equivalence for tiffoli gate and we will implement that circuit in qiskit.

And that's all with gates, we will now proceed with learning an important algorithm called as the Deutsch–Jozsa algorithm or DJ algorithm which demonstrates quantum parallelism.

The underlying mathematics of this algorithm is very complex and we are just trying learn it in just a very shallow manner. At first we will see the DJ problem that the algorithm is dealing with and later we will learn about the algorithm design. We will implement it in qiskit later and will verify the results.

We will then proceed with discussing about two interesting technologies.

The first one called as QKD or Quantum key distribution which utilizes the unique properties of quantum  systems to generate and distribute cryptographic key. Quantum cryptography also uses the same physics principles to communicate virtually non-hackable data over a dedicated communications link.

Then we will discuss about Quantum tele-portation which is a technique for transferring quantum information from a sender at one location to a receiver some distance away.

Overall this will be a nice course for a beginner who are fascinated about quantum computing and want to learn more about quantum computing. Actual quantum computing is all about complex boring mathematics and formulas which I have tried my maximum to avoid convert it in a very simple way to make it understandable to a beginner.

In this course we are strictly following the IBM Qiskit documentation and text book. Almost all of the illustrations and examples used in this course are from the IBM qiskit documentation website which you may refer for further learning from this point.

Quantum computers could help the development of new breakthroughs in science, medications, machine learning, material science, finance which helps mankind to become the best civilization in the whole universe. In fact quantum computer is so powerful that no one knows how to use its true potential and till now no quantum algorithm is perfect. The hardware and code are still in its development stage providing great opportunities in future for quantum computing professionals. 

That's all about the topics which are currently included in this quick course. The code, and jupyter notebook files used in this course has been uploaded and shared in a folder. I will include the link to download them in the last session or the resource section of this course. You are free to use the code in your projects with no questions asked.

Also after completing this course, you will be provided with a course completion certificate which will add value to your portfolio.

So that's all for now, see you soon in the class room. Happy learning and have a great time.

References and Credits:

IBM's qiskit  learn

IBM's qiskit textbook

IBM's qiskit documentation

blog cloudflare - the-quantum-menace

towardsdatascience demystifying quantum gates one qubit at a time 54404ed80640

wikipedia - Quantum_logic_gate

jonathan-hui qc quantum computing series 10ddd7977abd

youtube - Coding with Qiskit

youtube - Veritasium, a much simplified explanation to every complex quantum concepts

Very much inspired by works and articles of Professor Andrea Morello. Quantum Engineering, University of New South Wales

Enroll now

What's inside

Learning objective

Learn and understand about general quantum computing based on ibm qiskit documentation

Syllabus

Course Introduction and Table of Contents
Introduction to Quantum Mechanics
Introduction to Quantum Mechanics - Part 1
Introduction to Quantum Mechanics - Part 2
Read more
Classical Bit vs Quantum Qubit
Classical Bit vs Quantum Qubit - Part 1
Classical Bit vs Quantum Qubit - Part 2
Classical Bit vs Quantum Qubit - Part 3
Classical Bit vs Quantum Qubit - Part 4
Creating, Retaining and Reading out Qubits
Creating, Retaining and Reading out Qubits - Part 1
Creating, Retaining and Reading out Qubits - Part 2
Vector and Matrix Quantum States
Classic Logic Gates Overview
Pauli Y-gate Operations
Popular Quantum Frameworks
Installing Anaconda Python Distribution
Pauli Y-gate - Part 1
Installing and Testing Qiskit
Error: name 'qiskit' is not defined
Error: module 'qiskit' has no attribute '__qiskit_version__'
Pauli X-gate in Qiskit
Pauli X-gate in Qiskit - Part 1
Pauli X-gate in Qiskit - Part 2
NameError: name 'Aer' is not defined
NameError: name 'execute' is not defined
Pauli Y-gate - Part 2
Error with plot_bloch_multivector() 'Arrow3D' object has no attribute
Pauli X-gate input and output customizations
QiskitError: 'No counts for experiment "0"'
Pauli X-gate in Real IBM Quantum Computer
Pauli Y-gate - Part 3 - in Real Quantum Computer
Pauli Matrixes as State Vectors
Pauli Z-gate
Eigen Vectors of XYZ gates
Multi Qubit Circuit using Single Qubit Gates - sample circuit 2
16. Hadamard Gate Introduction
Hadamard Gate Introduction
Hadamard Gate in Qiskit
CZ Circuit Identity - Part 2
Hadamard Gate Exercises
Hadamard Gate Exercises - Part 1
Hadamard Gate Exercises - Part 2 - X with H and Z
Hadamard Gate Exercises - Part 3 - Superposition Collapse
H gate in Real Quantum Computer
R phi Gate
CNOT gate with classical Qubits
S and T Gates
U and I Gates
Multi Qubit states introduction
CNOT gate with control qubit superposition
Representing Multi Qubit States
CY Circuit Identity
Multi Qubit Circuit using Single Qubit Gates - sample circuit 1
CNOT gate with control qubit superposition - In Real Quantum Computer
CNOT gate with both qubit superposition
CNOT gate with both qubit superposition target x
SWAP Circuit Identity
CNOT Circuit Identities
CNOT Circuit Identities - Part 1
CNOT Circuit Identities - Part 2
CZ Circuit Identity
CZ Circuit Identity - Part 1
DJ Algorithm Design
Toffoli Gate
Toffoli Circuit Identity
DJ Problem Overview
DJ Algorithm Implementation

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses IBM's Qiskit, a leading quantum computing framework, providing learners with practical experience in a cutting-edge technology used by researchers and industry professionals
Covers quantum key distribution and quantum teleportation, which are fascinating topics that may inspire learners to pursue further study in quantum information science
Explores the Deutsch-Jozsa algorithm, which demonstrates quantum parallelism and offers a glimpse into the potential speedups achievable with quantum computers
Relies heavily on IBM Qiskit documentation, which may require learners to cross-reference external resources to fully grasp the concepts and implementations
Requires learners to install Anaconda Python distribution, which may present a barrier to entry for those unfamiliar with Python environments and package management
Provides access to IBM's quantum computers, allowing learners to run their quantum circuits on real hardware and gain hands-on experience with quantum computing systems

Save this course

Save Beginners guide: Practical Quantum Computing with IBM Qiskit 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 Beginners guide: Practical Quantum Computing with IBM Qiskit with these activities:
Review Linear Algebra Fundamentals
Solidify your understanding of linear algebra concepts, which are essential for understanding quantum computing's mathematical foundations.
Browse courses on Linear Algebra
Show steps
  • Review matrix operations such as addition, multiplication, and transposition.
  • Practice solving systems of linear equations.
  • Understand eigenvalues and eigenvectors and their significance.
Read 'Quantum Computing for Everyone' by Chris Bernhardt
Gain a broader understanding of quantum computing principles through an accessible and beginner-friendly book.
Show steps
  • Read the book chapter by chapter, taking notes on key concepts.
  • Work through the examples and exercises provided in the book.
  • Reflect on how the concepts relate to the course material.
Qiskit Code Challenges
Reinforce your Qiskit coding skills by tackling coding challenges that test your understanding of quantum gates and circuits.
Show steps
  • Find Qiskit coding challenges online (e.g., on coding platforms or Qiskit's website).
  • Attempt to solve each challenge independently, referring to documentation as needed.
  • Compare your solutions with others and learn from different approaches.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Quantum Computing Glossary
Solidify your understanding of quantum computing terminology by creating a glossary of key terms and concepts.
Show steps
  • Identify key terms and concepts from the course materials.
  • Write clear and concise definitions for each term.
  • Organize the glossary alphabetically or by topic.
  • Share your glossary with other students for feedback.
Simulate a Simple Quantum Algorithm
Apply your knowledge by implementing and simulating a basic quantum algorithm, such as Deutsch-Jozsa, using Qiskit.
Show steps
  • Choose a simple quantum algorithm to implement.
  • Write the Qiskit code to create the quantum circuit for the algorithm.
  • Simulate the circuit using Qiskit's simulator.
  • Analyze the results and verify the algorithm's correctness.
Read 'Programming Quantum Computers' by Eric R. Johnston, Nic Harrigan, and Mercedes Gimeno-Segovia
Deepen your understanding of quantum programming with a practical guide that covers Qiskit and other languages.
Show steps
  • Read the book and follow along with the code examples.
  • Experiment with different quantum algorithms and circuits.
  • Try to solve the exercises and challenges presented in the book.
Contribute to Qiskit Documentation
Enhance your understanding of Qiskit by contributing to its open-source documentation, improving clarity and adding examples.
Show steps
  • Identify areas in the Qiskit documentation that need improvement or clarification.
  • Fork the Qiskit documentation repository on GitHub.
  • Make your changes and submit a pull request.
  • Respond to feedback from the Qiskit community and revise your contributions.

Career center

Learners who complete Beginners guide: Practical Quantum Computing with IBM Qiskit will develop knowledge and skills that may be useful to these careers:
Quantum Software Developer
A quantum software developer designs, develops, and tests quantum software applications, often working with quantum hardware developers. This role requires a strong understanding of quantum mechanics and quantum algorithms, as well as software engineering principles. This course helps build a foundation in quantum computing, especially with the IBM Qiskit framework. The course covers essential quantum concepts, qubits, and quantum gates like Pauli-X, Pauli-Y, and Hadamard gates. A quantum software developer will use this knowledge to design and implement quantum algorithms, test quantum circuits, and explore quantum key distribution. The practical coding experience with Qiskit and real IBM quantum computers makes this course particularly useful.
Quantum Algorithm Developer
A quantum algorithm developer researches, designs, and implements quantum algorithms to solve complex problems faster than classical computers. They typically have a background in computer science, mathematics, and physics. This role requires a deep understanding of quantum mechanics, quantum information theory, and algorithm design. This course helps build intuition for quantum algorithms by exploring quantum gates and quantum circuits using IBM Qiskit. The course touches on the Deutsch–Jozsa algorithm and quantum parallelism, which are key concepts in quantum algorithm design. Hands-on experience with quantum gates and circuits will prove helpful for a quantum algorithm developer.
Quantum Security Analyst
A quantum security analyst assesses and mitigates the security risks posed by quantum computers to existing cryptographic systems, and develops quantum-resistant cryptographic solutions. This role requires a background in cryptography, computer science, and quantum computing. Quantum key distribution and quantum teleportation are part of this course. As such, this course helps the analyst understand quantum mechanics, qubits, and quantum gates. Knowing quantum key distribution in particular enables the analyst to design better quantum-resistant security systems. The practical coding experience helps the quantum security analyst.
Quantum Data Scientist
A quantum data scientist applies quantum computing techniques to solve data analysis problems, such as machine learning and optimization. They work at the intersection of data science and quantum computing. This role requires a strong understanding of both classical and quantum algorithms. This course helps build a foundation in quantum computing with IBM Qiskit. The course introduces quantum mechanics, qubits, and quantum gates, which the Quantum data scientist can use to implement quantum machine learning algorithms and perform quantum data analysis. The practical coding experience with Qiskit and access to real quantum computers makes this course relevant.
Quantum Technical Writer
A quantum technical writer creates documentation, tutorials, and articles related to quantum computing technologies. This role requires strong writing skills and a good understanding of quantum computing concepts. This course helps write about quantum computing topics, covering quantum mechanics, qubits, quantum gates, and quantum algorithms. By gaining hands-on experience with IBM Qiskit and real quantum computers, the quantum technical writer can create more accurate and informative content. This course provides a good base.
Quantum Application Engineer
A quantum application engineer focuses on developing and deploying quantum computing applications for specific industries or domains, such as finance, healthcare, or materials science. This role requires a mix of quantum computing knowledge and domain expertise. This course helps explore the practical aspects of quantum computing using IBM Qiskit, covering quantum gates, quantum circuits, and basic quantum algorithms. An application engineer can leverage the knowledge of quantum gates and quantum circuits, using the course to implement domain-specific quantum applications. The course's hands-on experience with quantum computers helps in understanding the hardware-software interface.
Quantum Educator
A quantum educator teaches quantum computing concepts to students, professionals, or the general public. This role requires a strong understanding of quantum mechanics and the ability to communicate complex ideas clearly. This course helps prepare educators to teach introductory quantum computing concepts using IBM Qiskit by following the IBM Qiskit documentation. The course covers quantum mechanics, qubits, quantum gates, and basic quantum algorithms, and it provides hands-on coding experience with Qiskit. The experience of working with real IBM quantum computers helps the educator to provide concrete examples and demonstrations. This course, designed for beginners, may especially help an educator.
Quantum Consultant
A quantum consultant advises organizations on the potential applications of quantum computing and helps them develop quantum strategies. This role requires a broad understanding of quantum computing, as well as business and communication skills. This course may be useful in providing a solid foundation in quantum computing with IBM Qiskit, covering the essential concepts of quantum mechanics, qubits, and quantum gates. A quantum consultant can leverage this knowledge to assess the feasibility of quantum solutions and communicate effectively with clients. The exposure to algorithms, such as the Deutsch-Jozsa algorithm, may be helpful.
Cryptographer
A cryptographer researches and designs secure communication systems, often working with mathematical algorithms to encrypt and decrypt data. This role requires a strong understanding of cryptography, mathematics, and computer science. The concepts of quantum key distribution and quantum teleportation featured in this course may be useful. The course helps any cryptographer explore the impact of quantum computing on modern cryptography. The knowledge of quantum mechanics, qubits, and quantum gates in this course makes it useful for cryptographers.
Quantum Computing Researcher
A quantum computing researcher explores new quantum algorithms, develops quantum hardware, and investigates the theoretical limits of quantum computation. A doctoral degree is typically required for this role. This career requires a deep understanding of quantum mechanics, computer science, and mathematics. This course may be useful by providing hands-on experience with quantum computing using IBM Qiskit. It explores quantum mechanics, qubits, and quantum gates. The course will help the quantum computing researcher implement basic quantum circuits and understand the practical aspects of quantum computing, which is beneficial for testing theoretical concepts and developing new algorithms.
Computational Physicist
A computational physicist uses computational methods to solve complex physics problems, often involving quantum mechanics. This career often requires an advanced degree. This course may be useful in introducing quantum computing concepts and providing hands-on experience with quantum simulations using IBM Qiskit. Understanding quantum mechanics, qubits, and quantum gates allows a computational physicist to take advantage of quantum algorithms. The experience with basic quantum circuits and quantum parallelism adds valuable skills to their toolkit.
Research Scientist
A research scientist conducts scientific research in a variety of fields, often working in academia, government, or industry. This role requires a strong background in a scientific discipline and a passion for discovery. This course may be useful in providing a foundation in quantum computing, enabling the research scientist to explore potential applications of quantum computing in their field. The course explores quantum mechanics, qubits, quantum gates, and basic quantum algorithms. The practical coding experience with IBM Qiskit will help the scientist conduct quantum experiments.
Quantum Hardware Engineer
A quantum hardware engineer designs, builds, and tests quantum computing hardware, such as qubits and quantum control systems. This role requires a background in physics, electrical engineering, or a related field, and often requires a graduate degree. While this course focuses on the software side of quantum computing, it may be useful by providing insights into how quantum algorithms are implemented on real quantum hardware. The course explores quantum gates, qubit manipulation, and quantum circuits, which helps better appreciate the requirements and limitations of quantum hardware. A quantum hardware engineer can benefit from this course by learning about the software aspects of quantum computing.
Simulation Scientist
A simulation scientist develops and runs computer simulations to model real-world phenomena in diverse fields such as engineering, physics, or finance. This role typically requires a strong foundation in mathematical modeling and computational methods. This course may be useful since it provides practical experience with quantum simulations using IBM Qiskit. The course explores quantum mechanics, qubits, and quantum gates, which helps the simulation scientist design and implement quantum simulations. The hands-on coding experience allows the scientist to create and test quantum models, potentially leading to more accurate and efficient simulations.
Machine Learning Engineer
A machine learning engineer develops and implements machine learning models and algorithms. This role requires a strong understanding of machine learning principles and programming skills. This course may be helpful, given quantum computers' capacity to accelerate machine learning tasks. A machine learning engineer can use the knowledge of quantum gates and quantum circuits to explore and implement quantum machine learning algorithms, potentially leading to faster and more efficient models. The experience gained in this course would be useful. The course introduces quantum computing using the tools of IBM.

Reading list

We've selected two 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 Beginners guide: Practical Quantum Computing with IBM Qiskit.
Provides a gentle introduction to quantum computing concepts without requiring a strong background in physics or advanced mathematics. It focuses on explaining the core ideas in an accessible way, making it ideal for beginners. It is especially helpful for understanding the underlying principles behind quantum algorithms and quantum circuits. This book serves as a valuable resource for gaining a high-level understanding of the field.
Provides a practical guide to programming quantum computers using Qiskit and other quantum programming languages. It covers a wide range of topics, from basic quantum gates to more advanced quantum algorithms. It is particularly useful for students who want to gain hands-on experience in quantum programming. This book valuable resource for learning how to translate quantum algorithms into executable code.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser