Learn Quantum Computation using Qiskit

Learn Quantum Computation using Qiskit

Greetings from the Qiskit Community team! This textbook is a university quantum algorithms/computation course supplement based on Qiskit to help learn:

  1. The mathematics behind quantum algorithms
  2. Details about today's non-fault-tolerant quantum devices
  3. Writing code in Qiskit to implement quantum algorithms on IBM's cloud quantum systems

About the Textbook

This is a free digital textbook that will teach you the concepts of quantum computing while you learn to use the Qiskit SDK.

Run the Code Inline

This textbook is built on a jupyter notebook framework that allows for easy reading, but it also allows readers to edit and run the code right in the textbook. The chapters can also be opened as Jupyter notebooks in the IBM Quantum Experience, no installs required!

# Click 'try', then 'run' to see the output,
# you can change the code and run it again.
print("This code works!")
from qiskit import QuantumCircuit
qc = QuantumCircuit(2) # Create circuit with 2 qubits
qc.h(0)    # Do H-gate on q0
qc.cx(0,1) # Do CNOT on q1 controlled by q0

Learn with Real Quantum Systems

The best way to learn is by doing. Qiskit allows users to run experiments on state-of-the-art quantum devices from the comfort of their homes. The textbook teaches not only theoretical quantum computing but the experimental quantum physics that realises it.

Using the Textbook

If you're reading the textbook independently, you don't have to read it all in order, but we recommend you read chapters 1-3 first.

Curriculum Integration

The textbook can be followed as an independent course, however, it has been designed to accompany a traditional university course. The textbook shows students how to use Qiskit to experiment with quantum algorithms and hardware, and uses this to reinforce their understanding.

Use the Textbook in Your Course

If you are using the Qiskit Textbook in your course, you can join the IBM Quantum Educators Program. The Program provides:

  • The ability to reserve time for priority access to our open systems for in-class demonstrations
  • Access to additional premium systems beyond our open systems
  • Access to a 5-qubit system with full microwave control using Qiskit Pulse


If you have any questions or suggestions about the textbook or would like to incorporate it into your curriculum, please contact Frank Harkins ([email protected]). In the true spirit of open-source, any chapter contributions are welcome in this GitHub repository.


Learn Quantum Computation using Qiskit is the work of several individuals. If you use it in your work, cite it using this bib file or directly as:

Abraham Asfaw, Luciano Bello, Yael Ben-Haim, Sergey Bravyi, Lauren Capelluto, Almudena Carrera Vazquez, Jack Ceroni, Richard Chen, Albert Frisch, Jay Gambetta, Shelly Garion, Leron Gil, Salvador De La Puente Gonzalez, Francis Harkins, Takashi Imamichi, David McKay, Antonio Mezzacapo, Zlatko Minev, Ramis Movassagh, Giacomo Nannicni, Paul Nation, Anna Phan, Marco Pistoia, Arthur Rattew, Joachim Schaefer, Javad Shabani, John Smolin, Kristan Temme, Madeleine Tod, Stephen Wood, James Wootton.