This is a course on the software stack of quantum computing, from gate-level programs to realistic hardware and distributed quantum networks. The course focuses on understanding, analyzing, and extending current approaches to:
- Quantum programming and intermediate representations
- Compilation and hardware-aware optimization
- Noise modeling, calibration, error correction, and error mitigation
- Distributed quantum protocols and network simulation
