QTM105 · Programming Quantum Circuits with Qiskit
About Course
Write professional Qiskit code with the Qiskit patterns workflow: build parameterized circuits, optimize them with preset pass managers, execute them with the Sampler and Estimator primitives on simulators and free IBM Quantum hardware, and post-process results with error mitigation.
Who it is for
Developers, data scientists and engineers who want to program quantum circuits in Python at a practical, production-minded level.
Prerequisites
QTM104 and working knowledge of Python, including functions, lists and NumPy.
What you will be able to do
- Structure a quantum program using the four Qiskit patterns steps: map, optimize, execute and post-process
- Build parameterized circuits and observables with Parameter and SparsePauliOp and evaluate them with SamplerV2 and EstimatorV2
- Run workloads on IBM Quantum hardware through the free Open Plan using single-submission or batch execution modes
- Apply and compare error-mitigation options and report results with uncertainty
Lessons
- Lesson 1 · The Qiskit workflow and circuit construction
- Lesson 2 · Primitives: Sampler and Estimator
- Lesson 3 · Running on IBM hardware and mitigating errors
- Lesson 4 · Lab and assignment
Lab: GHZ states and expectation values on real hardware
You write a reusable function that builds an n-qubit GHZ state, transpile it with a preset pass manager and run it first on a local simulator and then on a real IBM device within the free monthly allowance. You measure expectation values of ZZ…Z observables with EstimatorV2 at different resilience levels and compare the mitigated and unmitigated results.
Free tools: Google Colab (free) with Qiskit, qiskit-ibm-runtime and qiskit-aer; IBM Quantum Platform Open Plan (free monthly quantum time)
Assessed assignment
Build a small, well-structured Qiskit project that estimates the energy of a two-qubit Hamiltonian, such as H = 0.5·ZZ + 0.3·XI + 0.3·IX, for a sweep of 20 parameter values in a one-parameter ansatz. Organize the code into map, optimize, execute and post-process functions, run the sweep on a simulator and run the best three parameter values on real hardware. Compare results with exact values computed with Statevector. Submit the notebook, a plot with error bars and a one-page README explaining design decisions and how much free quantum time you used.
| Criterion | Weight | What excellent work looks like |
|---|---|---|
| Code structure and quality | 25% | Clear functions for each pattern step, docstrings, fixed seeds and no hard-coded credentials. |
| Correct use of primitives | 30% | Uses PUBs, parameter binding and observables correctly with EstimatorV2; transpilation includes observable layout. |
| Hardware execution and mitigation | 25% | Runs on real hardware within the free allowance and compares at least two resilience settings. |
| Analysis and reporting | 20% | Plots include error bars and exact values; deviations are explained in terms of noise and shots. |
Portfolio piece
A structured Qiskit repository that runs a parameter sweep on simulators and real IBM hardware with mitigated results.
Next step
Continue with QTM106 · Quantum Algorithms and Real-World Applications · 8 hours · $56.00
Course Content
QTM105 · Programming Quantum Circuits with Qiskit (8 h)
-
Lesson 1 · The Qiskit workflow and circuit construction
-
Lesson 2 · Primitives: Sampler and Estimator
-
Lesson 3 · Running on IBM hardware and mitigating errors
-
Lesson 4 · Lab and assignment
-
QTM105 Assessment · Programming Quantum Circuits with Qiskit
