Skip to content
Quantum ComputingAN INTERACTIVE OPEN TEXTBOOK
charithj.com.au

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

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:

Terminal window
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.py

The 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.

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.

Read alongside: P20, F22.

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.

Read alongside: P17, P20.

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.

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.

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 directionStudy and practiceEvidence to produce
Quantum software developmentP04, P11–P15; notebooks 01, 05, 07A circuit builder with phase-sensitive regression tests and mutation results
Compilation and systemsP17; notebooks 03, 08A target-aware compilation report with final layout and equivalence checks
Experiment and application workP12, P20; notebooks 02, 04A shot-budget analysis and a validated noise-model comparison
Security engineeringA33 and the Security Practitioner pathwayA cryptographic inventory, dependency map and migration test plan
Algorithm researchA11–A15 and the algorithm atlasA 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.