Quantum software practice
Build practical skill alongside the mathematics. These eight notebooks connect circuits, compilation, noise, algorithms and testing. Each has a worked program, assertions and exercises. All eight were executed locally in a clean, pinned environment on 6 November 2026: 31 code cells and 13 plotted figures passed their checks.
Download the complete notebook bundle · Environment pins · Tested dependency lock
Start on your own computer
Section titled “Start on your own computer”Extract the bundle and open a terminal in its folder. The verified environment uses Python 3.13.2 on macOS arm64. The direct pins and full lock record that environment; other platforms may need compatible wheels and a fresh execution check. Use the following commands with Python 3.13 installed:
python3.13 -m venv .venv.venv/bin/python -m pip install -r requirements.txt -c requirements.lock.txt.venv/bin/python -m pip check.venv/bin/python execute_notebooks.pyThe executor writes result-bearing copies into executed/. To explore interactively, open the source notebooks in your preferred notebook editor and select this virtual environment as the Python kernel. Predict a result, run a cell, inspect its amplitudes or plot, then explain the assertion. The source notebooks start with clean outputs.
Qiskit 2.6.1, Aer 0.18.2 and IBM Runtime 0.51.0 are pinned together. The execution report records source hashes and the exact package versions. In these single-register statevector and measurement examples, native Qiskit strings put q0 on the right; the browser labs label their q0-first display explicitly.
Choose a notebook
Section titled “Choose a notebook”01 · Circuits, amplitudes and the phase you cannot see in a histogram
Section titled “01 · Circuits, amplitudes and the phase you cannot see in a histogram”Core · Download notebook
Compare H on zero and one, inspect Y’s imaginary amplitude and test a global phase.
Read alongside: P01, P04, P11, F04, F11.
02 · Bell circuits, finite shots and honest uncertainty
Section titled “02 · Bell circuits, finite shots and honest uncertainty”Core · Download notebook
Construct a Bell circuit, decode registers and assess finite-shot uncertainty.
Read alongside: P04, P12, F13, F18.
03 · Transpilation: change the circuit, preserve its meaning
Section titled “03 · Transpilation: change the circuit, preserve its meaning”Undergraduate · Download notebook
Compile for a line-connected target and verify the resulting layout and unitary at four optimisation levels.
Read alongside: P17.
04 · Explicit noise: what the model changes and what it assumes
Section titled “04 · Explicit noise: what the model changes and what it assumes”Undergraduate · Download notebook
Check amplitude damping against an exact density matrix, then investigate readout bias.
05 · Two oracle algorithms: recover bits and recover a hidden XOR period
Section titled “05 · Two oracle algorithms: recover bits and recover a hidden XOR period”Undergraduate · Download notebook
Build oracle circuits, recover a BV string and solve Simon’s binary constraints.
Read alongside: P11, P13, A04, A05.
06 · Order finding for a small modular multiplication
Section titled “06 · Order finding for a small modular multiplication”Undergraduate · Download notebook
Compute modular multiplication, run inverse QFT and verify candidate orders and factors for a small integer.
Read alongside: P11, A11, A12, A13, A14.
07 · Quantum software tests that catch plausible wrong programs
Section titled “07 · Quantum software tests that catch plausible wrong programs”Undergraduate · Download notebook
Catch missing phase gates, reversed controls and angle defects using independent and relational tests.
Read alongside: P11, P12, P13, P14, P15.
08 · A tested local workflow and an explicit hardware handoff
Section titled “08 · A tested local workflow and an explicit hardware handoff”Undergraduate · Download notebook
Use the Runtime interface locally with Aer, then inspect the explicit optional hardware handoff.
Make testing a habit
Section titled “Make testing a habit”Read P11–P15 in order: exact state and operation checks, probabilistic assertions, metamorphic properties, debugging and mutation testing. Start with a specification, independently calculate a small expected result and deliberately break the program. A useful test should explain which defect it catches.
Keep five things in your execution record: the question, input and convention; circuit and compilation settings; environment and target; shots and statistical assumptions; and the check that would reject a plausible wrong answer. Seeds make a run reproducible; independent reasoning makes a test meaningful.
From a local run to hardware
Section titled “From a local run to hardware”Notebook 08 runs locally by default. Its optional hardware section leaves RUN_ON_QPU=False and requires an explicit code change plus your own authorised access. Review the selected target, current usage allocation and execution limits before a hardware run. The published execution evidence covers the local path; no remote jobs were submitted.
Connect practical work to roles
Section titled “Connect practical work to roles”The EU Quantum Technology Competence Framework v3.0 describes skills across classical and quantum domains. The mapping below connects study activities to concrete evidence you can keep. It is a study guide for choosing practice. Read the framework, April 2025.
| Work direction | Study and practice | Evidence to produce |
|---|---|---|
| Quantum software development | P04, P11–P15; notebooks 01, 05, 07 | A circuit builder with phase-sensitive regression tests and mutation results |
| Compilation and systems | P17; notebooks 03, 08 | A target-aware compilation report with final layout and equivalence checks |
| Experiment and application work | P12, P20; notebooks 02, 04 | A shot-budget analysis and a validated noise-model comparison |
| Security engineering | A33 and the Security Practitioner pathway | A cryptographic inventory, dependency map and migration test plan |
| Algorithm research | A11–A15 and the algorithm atlas | A derivation, independent small-instance reference and complete resource assumptions |
Programming, data analysis, testing and communication support this work alongside quantum-specific knowledge. Build a small portfolio of reproducible evidence rather than relying on a circuit screenshot alone.