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

See: In-Class Notebook Labs

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