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.
- The Learning Path
- Why This Series
- Getting Started
- Usage
- Requirements
- Repository Layout
- Further Reading
- License
| # | 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 |
Each notebook sets up the next:
introtoQC1hands you the tools - complex numbers and linear algebra are the language quantum mechanics is written in.introtoQC2introduces the qubit itself: its states, how measurement works, and the full toolkit of single-qubit gates.2QBIT_SYSTEMcombines qubits with CNOT and CZ gates - the moment entanglement becomes possible.Entenglementmakes entanglement concrete: how to create it, how to prove it, and how to scale it up to GHZ states.SuperdenseCodingputs it all to work in a real quantum protocol.
- 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.
pip install qiskit qiskit-aer matplotlib numpy jupyter pylatexencpylatexenc is required for the Matplotlib circuit drawer in modern Qiskit.
jupyter notebookOpen 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.
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).
- 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)
.
├── 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
- 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
MIT