Teaching - Noro-Official/OQS GitHub Wiki
Teaching Quantum with OpenQStack
OpenQStack is built from the ground up to support educators who want to teach quantum computing in a hands-on, visual, and conceptually rigorous way.
This page explains how OpenQStack supports various educational contexts—from lecture demos to full semester labs—and how you can integrate it into your teaching today.
Why OpenQStack in the Classroom?
Quantum computing is often taught abstractly—heavy on algebra, light on experience. OpenQStack changes that by giving students direct access to:
- Interactive state manipulation
- Visualizations (Bloch spheres, probability bars)
- Customizable error channels
- Full error correction cycles
- Modular decoding logic
All in a familiar Python + Jupyter environment.
Use Cases
Lecture Demos
Show a full encode → error → syndrome → recovery cycle in real time:
from openqstack.qec import BitFlipCode
from openqstack.visualize import show_state
psi = [1, 0]
code = BitFlipCode()
encoded = code.encode(psi)
corrupted = code.apply_random_X_error(encoded)
recovered = code.recover(corrupted, code.measure_syndrome(corrupted))
decoded = code.decode(recovered)
show_state(decoded, label="Final Logical State")
Labs and Notebooks
Use scaffolded Jupyter notebooks to guide students through:
- Building a code step by step
- Exploring different noise models
- Analyzing logical error rates
- Designing custom recovery strategies
Homework + Projects
Assign meaningful, open-ended quantum projects:
- Create a new error channel
- Compare decoder performance under different noise
- Visualize surface code syndrome patterns
See: Assessment Ideas
Supported Learning Goals
OpenQStack is aligned with modern quantum computing curricula. You can use it to support learning objectives such as:
- Understanding quantum noise and decoherence
- Modeling bit-flip and phase-flip errors
- Executing and analyzing error correction codes
- Building intuition for superposition, entanglement, and measurement
- Designing classical feedback systems for quantum recovery
Pedagogical Design
- Concept-first: Emphasizes what’s happening, not just how to code it
- Interactive: Students can experiment with inputs, visualize results, and test hypotheses
- Modular: You can swap in your own error models, visualizations, or codes
- Instructor-friendly: Easy to run live, scaffold into labs, or deploy in notebooks
Curriculum Integrations
OpenQStack can be used as part of:
- Undergraduate intro to quantum computing courses
- Graduate QEC modules
- MOOC-style platforms (Google Colab ready)
- Physics, EE, and CS department electives
- Quantum club workshops and hackathons
Community
We welcome contributions from educators:
- Want to adapt OpenQStack to your course?
- Want to share a lab or notebook?
- Want to build your own curriculum on top?
Let’s collaborate. OpenQStack is nonprofit, open-source, and designed to empower the next generation of quantum learners.
Next Steps
Contact
If you're using OpenQStack in your course or institution, we'd love to hear from you.
Please open an issue or email the