A collection of Jupyter notebooks for learning quantum computing concepts using IBM's Qiskit framework. Covers single-qubit gates, Deutsch's algorithm, and common circuit implementation patterns.
This repository provides hands-on educational notebooks that guide students through fundamental quantum computing topics. Each notebook combines theoretical explanations with runnable Qiskit code, Bloch sphere visualizations, and exercises. The project includes a fully configured devcontainer for instant setup in GitHub Codespaces or VS Code.
- Interactive Jupyter notebooks with inline Bloch sphere and circuit visualizations
- Coverage of all standard single-qubit gates (I, X, Y, Z, H, S, T) with matrix representations
- Implementation of Deutsch's algorithm with phase kickback oracles
- Comparison of StatevectorSampler and AerSimulator execution patterns
- Bell state creation and tensor product demonstrations
- Exercises at the end of each notebook for self-assessment
- Zero-config GitHub Codespaces support via devcontainer
- Basic understanding of quantum mechanics concepts
- Familiarity with Python programming
- Understanding of linear algebra is helpful but not required
- GitHub account (for Codespaces) or Docker (for local devcontainer)
Option 1: GitHub Codespaces (Recommended)
- Click the Code button at the top of this repository.
- Select the Codespaces tab.
- Click Create codespace on main.
- Wait for the environment to build automatically.
- Open any
.ipynbfile and start learning.
Option 2: Local Development with VS Code
- Clone the repository:
git clone https://github.com/danielcregg/quantum-computing-week5-notebooks.git cd quantum-computing-week5-notebooks - Open in VS Code and install the Dev Containers extension.
- Press
F1and select Dev Containers: Reopen in Container.
Option 3: Manual Setup
pip install qiskit qiskit-aer matplotlib pylatexenc sympy numpy scipy jupyterOpen any of the following notebooks in Jupyter or VS Code:
| Notebook | Topic |
|---|---|
SingleQubitGates.ipynb |
Standard single-qubit gates (I, X, Y, Z, H, S, T) with Bloch sphere visualizations |
DeutschOracle.ipynb |
Deutsch's algorithm with query oracles and phase kickback |
ImplementationPatterns.ipynb |
StatevectorSampler vs AerSimulator patterns, Bell states, tensor products |
Run cells sequentially to follow the guided instruction, then attempt the exercises at the end of each notebook.
- Python 3.12 -- Programming language
- Qiskit 2.0+ -- IBM's open-source quantum computing framework
- Qiskit Aer 0.17+ -- High-performance quantum circuit simulator
- Matplotlib -- Bloch sphere and circuit diagram visualization
- NumPy / SciPy -- Numerical and scientific computing
- SymPy -- Symbolic mathematics for gate representations
- Jupyter -- Interactive notebook environment
- Dev Containers -- Reproducible development environment
This project is licensed under the MIT License. See the LICENSE file for details.