The most comprehensive, beginner-friendly quantum computing course with 45 examples covering everything from "what is a qubit?" to industry applications in drug discovery and financial optimization.
Never studied quantum mechanics? No problem! This course is designed for software developers, students, and professionals who want to understand quantum computing without needing a PhD in physics.
- π Zero Prerequisites: Assumes no quantum mechanics or advanced math background
- π οΈ Hands-On Learning: Learn by running real quantum programs, not just reading theory
- π Gentle Learning Curve: Carefully designed progression from basic concepts to advanced applications
- π Beginner-Focused: Includes debugging guides, common mistakes, and troubleshooting
- π Rich Visualizations: Beautiful plots, Bloch spheres, and circuit diagrams make concepts clear
- β‘ Real-World Ready: Industry applications across chemistry, finance, cryptography, and AI
Unlike other courses that oversell quantum computing, we give you an honest assessment of:
- What quantum computers can and cannot do today
- Realistic timeline for practical applications (hint: we're still early!)
- Current hardware limitations and why they matter
- Why learning quantum computing now still makes sense for your career
π Read the Complete Beginner's Guide - Your roadmap to quantum computing mastery
Essential First Steps:
- Hardware Reality Check: Run
python examples/module1_fundamentals/08_hardware_reality_check.py
- Your First Qubit: Run
python examples/module1_fundamentals/01_classical_vs_quantum_bits.py
- Quantum "Magic": Run
python examples/module1_fundamentals/07_no_cloning_theorem.py
- Python 3.11 or higher (3.12+ recommended for best performance)
- Basic programming knowledge (if/else, loops, functions)
- Curiosity about the future of computing!
- New: Docker (optional) for containerized environments with GPU support
You do NOT need:
- β PhD in quantum physics
- β Advanced linear algebra
- β Expensive quantum computer
All examples have been updated and tested for Qiskit 2.x compatibility and headless environment execution (Docker, SSH, remote servers).
# Clone the repository
git clone https://github.com/AIComputing101/quantum-computing-101.git
cd quantum-computing-101
# Build CPU container using unified build script
cd docker
./build-unified.sh cpu
# Run with docker-compose (recommended)
docker-compose up -d qc101-cpu
# Or run specific example directly
docker run -it --rm \
-v $(pwd)/../examples:/home/qc101/quantum-computing-101/examples \
quantum-computing-101:cpu \
python examples/module1_fundamentals/01_classical_vs_quantum_bits.py
# Clone the repository
git clone https://github.com/AIComputing101/quantum-computing-101.git
cd quantum-computing-101
# Install core dependencies (recommended for beginners)
pip install -r examples/requirements-core.txt
# Test your setup
python examples/module1_fundamentals/01_classical_vs_quantum_bits.py
# Verify all examples work (optional)
python verify_examples.py --quick
# NVIDIA GPU acceleration (PyTorch 2.8.0 + CUDA 12.9)
cd docker
./build-unified.sh nvidia
docker-compose up -d qc101-nvidia
# AMD ROCm GPU acceleration (latest ROCm PyTorch)
./build-unified.sh amd
docker-compose up -d qc101-amd
# Run specific example with GPU
docker exec -it qc101-nvidia \
python /home/qc101/quantum-computing-101/examples/module6_machine_learning/01_quantum_neural_network.py
Perfect for complete beginners - now with enhanced explanations and reality checks:
Module | Topic | Examples | Key New Features |
---|---|---|---|
Module 1 | Quantum Fundamentals | 8 β | NEW: No-Cloning, Hardware Reality, Enhanced explanations |
Module 2 | Mathematical Foundations | 5 | Enhanced intuitive explanations |
Module 3 | Quantum Programming | 6 β | NEW: Complete Debugging Guide for beginners |
π New Beginner-Essential Examples:
07_no_cloning_theorem.py
- Why quantum is fundamentally different08_hardware_reality_check.py
- What QC can/can't do today06_quantum_debugging_guide.py
- Essential troubleshooting for beginners
Build algorithmic expertise:
Module | Topic | Examples | Lines of Code |
---|---|---|---|
Module 4 | Quantum Algorithms | 5 | 1,843 |
Module 5 | Error Correction | 5 | 2,111 |
Module 6 | Quantum Machine Learning | 5 | 3,157 |
Real-world applications and quantum cryptography:
Module | Topic | Examples | Key New Features |
---|---|---|---|
Module 7 | Hardware & Cloud | 5 | Enhanced hardware compatibility fixes |
Module 8 | Industry Applications | 6 β | NEW: BB84 Quantum Cryptography |
π New Real-World Example:
06_quantum_cryptography_bb84.py
- Secure quantum key distribution protocol
# Local installation
python examples/module8_applications/01_quantum_chemistry_drug_discovery.py
# Docker (with docker-compose)
cd docker && docker-compose up -d qc101-cpu
docker exec -it qc101-cpu python \
/home/qc101/quantum-computing-101/examples/module8_applications/01_quantum_chemistry_drug_discovery.py
Simulate molecular systems for drug discovery using VQE (Variational Quantum Eigensolver).
# Local installation
python examples/module8_applications/02_financial_portfolio_optimization.py
# Docker with NVIDIA GPU acceleration
cd docker && docker-compose up -d qc101-nvidia
docker exec -it qc101-nvidia python \
/home/qc101/quantum-computing-101/examples/module8_applications/02_financial_portfolio_optimization.py
Optimize investment portfolios using QAOA (Quantum Approximate Optimization Algorithm).
# Local installation
python examples/module8_applications/04_cryptography_cybersecurity.py
# Docker (with docker-compose)
cd docker && docker-compose up -d qc101-cpu
docker exec -it qc101-cpu python \
/home/qc101/quantum-computing-101/examples/module8_applications/04_cryptography_cybersecurity.py
Implement quantum key distribution protocols (BB84, E91) and post-quantum cryptography.
# Local installation
python examples/module4_algorithms/02_grovers_search_algorithm.py
# Docker (with docker-compose)
cd docker && docker-compose up -d qc101-cpu
docker exec -it qc101-cpu python \
/home/qc101/quantum-computing-101/examples/module4_algorithms/02_grovers_search_algorithm.py
Experience quadratic speedup in unstructured search problems.
- π― Advanced GPU Support: NVIDIA CUDA 12.9 + AMD ROCm latest
- β‘ Zero Setup: No Python installation required
- π GPU Acceleration: 5-8x speedup for large simulations
- π Reproducible: Identical environment across all machines
- βοΈ Cloud Ready: Easy deployment to AWS/GCP/Azure
- π Three Variants: CPU, NVIDIA GPU, AMD ROCm
- ποΈ Latest Hardware: PyTorch 2.8.0 + CUDA 12.9, ROCm PyTorch latest
- π₯οΈ Headless Ready: All examples work in non-interactive/remote environments
- π§ Unified Architecture: Single Dockerfile with multi-stage builds
- π¦ Volume Mounts: Live code editing with instant container sync
The Docker setup supports seamless development with volume mounting:
# Start container with volume mounts (via docker-compose)
cd docker
docker-compose up -d qc101-cpu
# Edit examples on your host machine
cd ../examples/module1_fundamentals
# Edit files in your favorite editor - changes sync instantly!
# Run in container - sees your edits immediately
docker exec -it qc101-cpu python \
/home/qc101/quantum-computing-101/examples/module1_fundamentals/01_classical_vs_quantum_bits.py
# Output files appear in your host's outputs/ directory
ls ../outputs/
Volume Mount Benefits:
- β Edit files on host β Changes appear instantly in container
- β Container outputs save to host β Results immediately visible
- β No rebuild needed β Instant feedback loop
- β Use any IDE β VS Code, PyCharm, Vim, etc.
Each Docker variant runs Jupyter Lab on different ports to avoid conflicts:
# CPU variant - Port 8888
cd docker
docker-compose up qc101-cpu
# Access at: http://localhost:8888
# NVIDIA variant - Port 8889
docker-compose up qc101-nvidia
# Access at: http://localhost:8889
# AMD variant - Port 8890
docker-compose up qc101-amd
# Access at: http://localhost:8890
For detailed Docker setup, volume mounting, and advanced configuration, see docker/README.md.
- Interactive Bloch sphere representations
- Circuit diagrams with detailed annotations
- Measurement probability histograms
- Algorithm performance comparisons
- Quantum state evolution animations
- Headless-ready: All visualizations automatically save to files in Docker/remote environments
- Comprehensive CLI interfaces with argparse
- Robust error handling and informative messages
- Extensive docstrings and inline comments
- Object-oriented design with reusable components
- Unit tests and validation checks
- Qiskit 2.x compatible: Fully tested with latest Qiskit API
- IBM Quantum cloud platform examples
- AWS Braket integration tutorials
- Real quantum device noise analysis
- Hardware-optimized circuit compilation
quantum-computing-101/
βββ README.md # This file
βββ LICENSE # Apache 2.0 License
βββ CHANGELOG.md # Version history and updates
βββ QISKIT_2X_MIGRATION.md # Qiskit 2.x compatibility guide (NEW!)
βββ modules/ # Theoretical curriculum
β βββ Module1_Quantum_Fundamentals.md
β βββ Module2_Mathematical_Foundations.md
β βββ ...
β βββ REFERENCE.md # Comprehensive reference guide
βββ examples/ # Hands-on implementations (45 examples)
β βββ README.md # Examples overview
β βββ requirements-core.txt # Core dependencies for beginners (Updated v2.0)
β βββ requirements.txt # All dependencies (Updated v2.0)
β βββ requirements-dev.txt # Development tools
β βββ module1_fundamentals/ # 8 beginner examples
β βββ module2_mathematics/ # 5 math examples
β βββ module3_programming/ # 6 programming examples
β βββ module4_algorithms/ # 5 algorithm examples
β βββ module5_error_correction/# 5 error correction examples
β βββ module6_machine_learning/# 5 ML examples
β βββ module7_hardware/ # 5 hardware examples
β βββ module8_applications/ # 6 industry examples
β βββ utils/ # Shared utilities
βββ docker/ # **v2.0 Unified Architecture** - Complete containerization
β βββ README.md # Comprehensive Docker setup guide
β βββ Dockerfile # Unified multi-variant Dockerfile
β βββ build-unified.sh # New unified build script
β βββ docker-compose.yml # Multi-service orchestration (qc101-cpu/nvidia/amd)
β βββ entrypoint.sh # Container entry point
β βββ requirements/ # Modular requirements for Docker
β β βββ base.txt # Core frameworks for all variants
β β βββ cpu.txt # CPU-specific dependencies
β β βββ gpu-nvidia.txt # NVIDIA CUDA 12.9 packages
β β βββ gpu-amd.txt # AMD ROCm packages
βββ verify_examples.py # Quality assurance tool
βββ BEGINNERS_GUIDE.md # Complete learning pathway (Updated v2.0)
βββ QISKIT_2X_MIGRATION.md # Qiskit 2.x compatibility and headless setup
βββ docs/ # Additional documentation
βββ CONTRIBUTING.md # Contribution guidelines
βββ CODE_OF_CONDUCT.md # Community standards
βββ SECURITY.md # Security policy
We welcome contributions! Please see our Contributing Guidelines for details.
- π Bug Reports: Found an issue? Let us know!
- β¨ Feature Requests: Ideas for new examples or improvements
- π Documentation: Help improve explanations and tutorials
- π§ͺ Testing: Test examples on different platforms
- π¨ Visualizations: Create new ways to visualize quantum concepts
- π§ Performance: Optimize simulation speed and memory usage
# Clone and install development dependencies
git clone https://github.com/AIComputing101/quantum-computing-101.git
cd quantum-computing-101
pip install -r examples/requirements-dev.txt
# Verify all examples work
python verify_examples.py
# Run specific module tests
python verify_examples.py --module module1_fundamentals
- Follow the progressive module structure
- Run examples to reinforce theoretical concepts
- Experiment with parameters to deepen understanding
- Complete exercises at the end of each module
- Comprehensive curriculum ready for classroom use
- Detailed instructor notes in each module
- Exercises and assessment materials
- Flexible module structure for different course lengths
- Production-ready implementations of quantum algorithms
- Extensible framework for algorithm development
- Benchmarking tools for performance analysis
- Integration with popular quantum computing frameworks
- π 8 Complete Modules: Comprehensive learning progression from basics to advanced applications
- π» 45 Production Examples: All examples fully implemented and tested
- π― 100% Qiskit 2.x Compatible: All 46 files updated for Qiskit 2.x API compatibility
- π Multi-Platform: Linux, macOS, Windows support
- π³ Container-Ready: Full Docker support with headless environment compatibility
- π§ Quality Verified: Automated verification tool ensures all examples work
- π Educational Impact: Designed for students, professionals, and complete beginners
- Qiskit: IBM's quantum computing framework
- Cirq: Google's quantum computing framework
- PennyLane: Quantum machine learning framework
- Quantum Open Source Foundation: Community-driven quantum software
- π Technical Issues: Run
python verify_examples.py
to diagnose problems - π Learning Questions: Check the Complete Beginner's Guide
- οΏ½ Qiskit 2.x Issues: See the Qiskit 2.x Migration Guide
- π³ Docker/Headless Problems: Check matplotlib backend configuration in the migration guide
- οΏ½π¬ Community Support: Join quantum computing forums and communities
- π§ Installation Problems: Follow the setup instructions above
- Qiskit 2.x Migration Guide - Complete compatibility fixes documentation
- Qiskit Textbook - Comprehensive quantum computing resource
- IBM Quantum Experience - Run on real quantum computers
- Quantum Computing Stack Exchange - Q&A community
If you use this project in your research, education, or publications, please cite it as:
@misc{quantum-computing-101,
title={Quantum Computing 101: A Comprehensive Beginner-Friendly Course},
author={{Stephen Shao}},
year={2025},
howpublished={\url{https://github.com/AIComputing101/quantum-computing-101}},
note={A complete quantum computing educational resource with production-ready examples covering fundamentals to advanced applications}
}
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- IBM Qiskit Team: For the excellent quantum computing framework
- Quantum Computing Community: For inspiration and feedback
- Open Source Contributors: For making this project better
If you find Quantum Computing 101 helpful, please give it a star β to help others discover it!
Ready to start your quantum journey? Jump to Quick Start or explore the examples directory!
Quantum Computing 101 - Making quantum computing accessible to everyone πβοΈπ