Skip to content

This is a complete educational project designed to teach quantum computing from the ground up. With 8 progressive modules and 40+ hands-on examples, this project provides the most comprehensive open-source quantum computing curriculum available.

License

Notifications You must be signed in to change notification settings

AIComputing101/quantum-computing-101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Quantum Computing 101 πŸš€βš›οΈ

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.

License: Apache 2.0 Python 3.11+ Qiskit Beginner Friendly Examples

🎯 Perfect for Complete Beginners

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.

🌟 What Makes This Course Special

  • πŸŽ“ 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

🚨 Reality Check Included

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

πŸš€ Quick Start for Beginners

πŸ“– New to Quantum Computing? Start Here!

πŸ‘‰ Read the Complete Beginner's Guide - Your roadmap to quantum computing mastery

Essential First Steps:

  1. Hardware Reality Check: Run python examples/module1_fundamentals/08_hardware_reality_check.py
  2. Your First Qubit: Run python examples/module1_fundamentals/01_classical_vs_quantum_bits.py
  3. Quantum "Magic": Run python examples/module1_fundamentals/07_no_cloning_theorem.py

Prerequisites (Don't Worry - We Teach Everything!)

  • 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

Installation

Option 1: Docker (Recommended - Zero Setup!)

# Clone the repository
git clone https://github.com/AIComputing101/quantum-computing-101.git
cd quantum-computing-101

# Build and run CPU container
cd docker
./build.sh cpu
./run.sh -v cpu -e module1_fundamentals/01_classical_vs_quantum_bits.py

# Or start interactive session
./run.sh -v cpu -i

Option 2: Local Python Installation

# 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

Option 3: GPU-Accelerated (For Advanced Users)

# NVIDIA GPU acceleration (5-8x speedup with CUDA 12.6)
cd docker
./build.sh gpu-nvidia
./run.sh -v gpu-nvidia -e module6_machine_learning/01_quantum_neural_network.py

# AMD ROCm GPU acceleration (ROCm 6.x with MI300 series support)
./build.sh gpu-amd
./run.sh -v gpu-amd -e module6_machine_learning/01_quantum_neural_network.py

πŸ“š Learning Modules

πŸŽ“ Foundation Tier (Modules 1-3) - NEW BEGINNER FOCUS!

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 different
  • 08_hardware_reality_check.py - What QC can/can't do today
  • 06_quantum_debugging_guide.py - Essential troubleshooting for beginners

🧠 Intermediate Tier (Modules 4-6)

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

🏭 Advanced Tier (Modules 7-8) - NOW WITH MORE APPS!

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

πŸ’‘ Example Highlights

πŸ”¬ Quantum Chemistry & Drug Discovery

# Local installation
python examples/module8_applications/01_quantum_chemistry_drug_discovery.py

# Docker
./docker/run.sh -v cpu -e module8_applications/01_quantum_chemistry_drug_discovery.py

Simulate molecular systems for drug discovery using VQE (Variational Quantum Eigensolver).

πŸ’° Financial Portfolio Optimization

# Local installation
python examples/module8_applications/02_financial_portfolio_optimization.py

# Docker with NVIDIA GPU acceleration
./docker/run.sh -v gpu-nvidia -e module8_applications/02_financial_portfolio_optimization.py

Optimize investment portfolios using QAOA (Quantum Approximate Optimization Algorithm).

πŸ” Quantum Cryptography

# Local installation
python examples/module8_applications/04_cryptography_cybersecurity.py

# Docker
./docker/run.sh -v cpu -e module8_applications/04_cryptography_cybersecurity.py

Implement quantum key distribution protocols (BB84, E91) and post-quantum cryptography.

🎯 Grover's Search Algorithm

# Local installation
python examples/module4_algorithms/02_grovers_search_algorithm.py

# Docker
./docker/run.sh -v cpu -e module4_algorithms/02_grovers_search_algorithm.py

Experience quadratic speedup in unstructured search problems.

🐳 Docker Benefits (New v2.0!)

  • 🎯 Advanced GPU Support: NVIDIA CUDA 12.6 + AMD ROCm 6.x
  • ⚑ 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 (1.2GB), NVIDIA GPU (3.5GB), AMD ROCm (3.2GB)
  • πŸ—οΈ Latest Hardware: Supports NVIDIA H100/A100 and AMD MI300A/MI300X GPUs

πŸ› οΈ Features

🎨 Rich Visualizations

  • Interactive Bloch sphere representations
  • Circuit diagrams with detailed annotations
  • Measurement probability histograms
  • Algorithm performance comparisons
  • Quantum state evolution animations

πŸ’» Professional Code Quality

  • 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

🌐 Hardware Integration

  • IBM Quantum cloud platform examples
  • AWS Braket integration tutorials
  • Real quantum device noise analysis
  • Hardware-optimized circuit compilation

πŸ“– Documentation Structure

quantum-computing-101/
β”œβ”€β”€ README.md                    # This file
β”œβ”€β”€ LICENSE                      # Apache 2.0 License  
β”œβ”€β”€ CHANGELOG.md                 # Version history and updates
β”œβ”€β”€ 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/                      # **NEW v2.0** - Complete containerization
β”‚   β”œβ”€β”€ README.md               # Docker setup guide
β”‚   β”œβ”€β”€ requirements/           # Modular requirements for Docker
β”‚   β”‚   β”œβ”€β”€ base.txt            # Core frameworks for all variants
β”‚   β”‚   β”œβ”€β”€ cpu.txt             # CPU optimizations
β”‚   β”‚   β”œβ”€β”€ gpu-nvidia.txt      # NVIDIA CUDA 12.6 packages
β”‚   β”‚   └── gpu-amd.txt         # AMD ROCm 6.x packages with MI300 support
β”‚   β”œβ”€β”€ Dockerfile.cpu          # Lightweight CPU container (1.2GB)
β”‚   β”œβ”€β”€ Dockerfile.gpu-nvidia   # NVIDIA CUDA 12.6 container (3.5GB)  
β”‚   β”œβ”€β”€ Dockerfile.gpu-amd      # AMD ROCm 6.x container with MI300 support (3.2GB)
β”‚   β”œβ”€β”€ Dockerfile.base         # Multi-stage base image
β”‚   β”œβ”€β”€ docker-compose.yml      # Complete orchestration
β”‚   β”œβ”€β”€ build.sh               # Smart build script with GPU detection
β”‚   └── run.sh                 # Comprehensive container runner
β”œβ”€β”€ verify_examples.py          # Quality assurance tool
β”œβ”€β”€ BEGINNERS_GUIDE.md          # Complete learning pathway (Updated v2.0)
└── docs/                       # Additional documentation
    β”œβ”€β”€ CONTRIBUTING.md         # Contribution guidelines
    β”œβ”€β”€ CODE_OF_CONDUCT.md      # Community standards
    └── SECURITY.md             # Security policy

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Ways to Contribute

  • πŸ› 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

Development Setup

# 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

πŸŽ“ Educational Use

For Students

  • 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

For Educators

  • Comprehensive curriculum ready for classroom use
  • Detailed instructor notes in each module
  • Exercises and assessment materials
  • Flexible module structure for different course lengths

For Researchers

  • Production-ready implementations of quantum algorithms
  • Extensible framework for algorithm development
  • Benchmarking tools for performance analysis
  • Integration with popular quantum computing frameworks

πŸ“Š Project Stats

  • πŸ“š 8 Complete Modules: Comprehensive learning progression from basics to advanced applications
  • πŸ’» 45 Production Examples: All examples fully implemented and tested
  • 🎯 100% Compatibility: All examples verified with current Qiskit versions
  • 🌍 Multi-Platform: Linux, macOS, Windows support
  • πŸ”§ Quality Verified: Automated verification tool ensures all examples work
  • πŸ“ˆ Educational Impact: Designed for students, professionals, and complete beginners

πŸ”— Related Projects

πŸ“ž Support & Community

When You Need Help:

  • πŸ› Technical Issues: Run python verify_examples.py to diagnose problems
  • πŸ“š Learning Questions: Check the Complete Beginner's Guide
  • πŸ’¬ Community Support: Join quantum computing forums and communities
  • πŸ”§ Installation Problems: Follow the setup instructions above

Useful Resources:

πŸ“– Citation

If you use this project in your research, education, or publications, please cite it as:

BibTeX

@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}
}

πŸ“‹ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

πŸ™ Acknowledgments

  • IBM Qiskit Team: For the excellent quantum computing framework
  • Quantum Computing Community: For inspiration and feedback
  • Open Source Contributors: For making this project better

⭐ Star This Project

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 πŸš€βš›οΈπŸŒ

About

This is a complete educational project designed to teach quantum computing from the ground up. With 8 progressive modules and 40+ hands-on examples, this project provides the most comprehensive open-source quantum computing curriculum available.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •