Skip to content

Repository files navigation

Quantum Computing Workshop Series hero

Qiskit Python Simulator Notebook Visualization License

Five notebooks. Zero prerequisites. From print("Hello") to quantum communication.


introtoQC1.ipynb through SuperdenseCoding.ipynb is a guided quantum-computing workshop built for absolute beginners. It starts with the Python and linear-algebra toolkit, walks qubit-by-qubit through superposition, measurement and entanglement, and finishes with a real quantum protocol - superdense coding. Every notebook is self-contained, fully executed, and renders its results (circuit diagrams, Bloch spheres, statevectors, measurement histograms) inline with Matplotlib.

No physics PhD required. No cloud account. Just Jupyter and a curious mind.


Table of Contents

The Learning Path

# Notebook Level What you'll master
1 introtoQC1.ipynb Beginner Python essentials, NumPy & Matplotlib, complex numbers, vector spaces, inner products, matrices, eigenvalues, tensor products
2 introtoQC2.ipynb Beginner Bits vs qubits, Dirac notation, superposition, the rules of measurement, the Bloch sphere, single-qubit gates (X, Y, Z, H, S, T, P, U)
3 2QBIT_SYSTEM.ipynb Intermediate The Hadamard gate, two-qubit gates (CNOT, CZ), Bell-state generation, SWAP exercises
4 Entenglement.ipynb Intermediate What entanglement really is, creating Bell states, the separability criterion, a GHZ-state mini-project
5 SuperdenseCoding.ipynb Advanced The superdense coding protocol - sending 2 classical bits with 1 qubit - verified with statevectors

Why this order

Each notebook sets up the next:

  1. introtoQC1 hands you the tools - complex numbers and linear algebra are the language quantum mechanics is written in.
  2. introtoQC2 introduces the qubit itself: its states, how measurement works, and the full toolkit of single-qubit gates.
  3. 2QBIT_SYSTEM combines qubits with CNOT and CZ gates - the moment entanglement becomes possible.
  4. Entenglement makes entanglement concrete: how to create it, how to prove it, and how to scale it up to GHZ states.
  5. SuperdenseCoding puts it all to work in a real quantum protocol.

Why This Series

  • Zero prerequisites - starts from print("Hello"); no prior physics, math or coding needed.
  • Learn by doing - every concept lands with hands-on tasks, exercises and mini-projects (e.g. the GHZ State Explorer).
  • Math, demystified - inner products, tensor products, eigenvalues and Dirac notation are computed and verified step-by-step, never just asserted.
  • Visual everything - circuit diagrams, Bloch spheres, statevectors and measurement histograms are rendered inline with Matplotlib.
  • Local simulation - everything runs on your machine with the Qiskit Aer simulator; no account or API key required.
  • A real payoff - the series ends with superdense coding, a genuine quantum communication protocol you build yourself.

Getting Started

1. Install the dependencies

pip install qiskit qiskit-aer matplotlib numpy jupyter pylatexenc

pylatexenc is required for the Matplotlib circuit drawer in modern Qiskit.

2. Launch Jupyter

jupyter notebook

Open the notebooks in order (see The Learning Path) and run the cells top to bottom. Every cell produces a rendered figure, so the series doubles as a ready-made visual gallery of quantum computing.

Usage

The notebooks are structured as a workshop, so you can also jump straight to any topic:

# Every notebook is self-contained and re-imports what it needs.
# Finished Part 1? Skip ahead to introtoQC2.ipynb to meet the qubit.
# Only here for entanglement? Entenglement.ipynb stands on its own.

Everything is deterministic: the same circuits always produce the same state vectors, and the measurement histograms match the theoretical probabilities up to sampling noise (each is run with thousands of shots).

Requirements

  • Python 3.10 or newer
  • Qiskit 1.0+ (the notebooks are updated for Qiskit 1.0+)
  • Qiskit Aer (local simulator)
  • NumPy and Matplotlib
  • Jupyter (or JupyterLab)
  • pylatexenc (Matplotlib circuit drawer)

Repository Layout

.
├── introtoQC1.ipynb        # Part 1 - Python & math foundations
├── introtoQC2.ipynb        # Part 2 - qubits, Bloch sphere, single-qubit gates
├── 2QBIT_SYSTEM.ipynb      # Part 3 - two-qubit gates: CNOT, CZ, SWAP
├── Entenglement.ipynb      # Part 4 - entanglement, Bell states, GHZ
├── SuperdenseCoding.ipynb  # Part 5 - superdense coding protocol
├── assets/
│   └── hero.svg            # README banner
├── some good docs/         # recommended reading (PDFs)
│   ├── quantum-computation-and-quantum-information-nielsen-chuang.pdf
│   ├── Mosca.pdf
│   └── Quantum machine learning with python.pdf
└── README.md

Further Reading

  • Nielsen & Chuang - Quantum Computation and Quantum Information (in some good docs/)
  • Mosca - lecture notes on quantum computing (in some good docs/)
  • Qiskit Textbook - https://qiskit.org/textbook
  • QWorld - origin of the superdense coding notebook: https://qworld.net

License

MIT

About

A beginner friendly Quantum Computing Course (presented as workshops)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages