Skip to content

rriehle/quantum.edu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quantum Computing Curriculum for Advanced Computer Scientists

Quantum Computing for Advanced Computer Scientists

A Practical, Code-First Approach to Quantum Computing with Predictive Analytics

License: MIT Python 3.8+ Qiskit PennyLane

🎯 Overview

This comprehensive 30-week curriculum transforms expert computer scientists into quantum computing practitioners, with a special focus on practical applications and quantum-enhanced predictive analytics. Designed for those with strong programming skills but average mathematical background, the curriculum emphasizes hands-on implementation over theoretical proofs.

Duration: 30 weeks (7 months) Time Commitment: 15-20 hours/week Prerequisites: Expert programming skills, basic linear algebra, willingness to learn Outcome: Job-ready quantum software engineer with predictive analytics specialization


📚 Curriculum Structure

Core Modules

Module Weeks Topic Focus
1 1-2 Mathematical Foundations Linear algebra, complex numbers, probability
2 3-4 Quantum Mechanics Basics Qubits, superposition, measurement
3 5-7 Quantum Computing Fundamentals Circuits, gates, information theory
4 8-10 Quantum Programming Qiskit, Cirq, PennyLane, Q#
5 11-14 Core Quantum Algorithms Deutsch-Jozsa, Grover, QFT, Shor
6 15-17 NISQ Programming VQE, QAOA, optimization
7 18-21 Quantum Machine Learning QML, neural networks, time-series prediction
8 22-24 Advanced Topics Error correction, fault tolerance
9 25-28 Practical Projects Industry applications, capstone
10 29-30 Industry & Careers Current landscape, future directions

🔮 Special Focus: Quantum-Enhanced Predictive Analytics

A unique 4-week supplementary module covering:

  • Variational quantum forecasting
  • Quantum kernel methods for time-series
  • Quantum reservoir computing
  • Hybrid classical-quantum predictive models
  • Real-world applications in finance, healthcare, and climate modeling

🚀 Quick Start

# Clone the repository
git clone https://github.com/yourusername/quantum.edu.git
cd quantum.edu

# Create virtual environment
python -m venv quantum_env
source quantum_env/bin/activate  # On Windows: quantum_env\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Installation

⚠️ Platform Note: TensorFlow Quantum prefers Linux and is unsupported on macOS. See README-install.md for platform-specific instructions.

For detailed installation instructions including Docker setup and troubleshooting, see README-install.md.

Quick Install (Linux):

pip install -r requirements.txt

📖 Module Details

Week 1: Linear Algebra Essentials

Start your quantum journey with practical linear algebra:

# Example from week1-exercises.py
import numpy as np

def create_bell_state():
    """Create a Bell state - the 'Hello World' of quantum computing."""
    ket_00 = np.array([1, 0, 0, 0])
    ket_11 = np.array([0, 0, 0, 1])
    bell_state = (ket_00 + ket_11) / np.sqrt(2)
    return bell_state

# Run the exercise
bell = create_bell_state()
print(f"Bell state: {bell}")
# Output: Bell state: [0.707 0. 0. 0.707]

Materials:

  • week1-linear-algebra-essentials.md - Complete curriculum
  • week1-exercises.py - Hands-on coding exercises
  • week1-resources-guide.md - Curated learning resources
  • week1-assessment-quiz.md - Self-assessment with solutions

Predictive Analytics Module

Learn quantum-enhanced prediction through practical examples:

# Example from prediction-labs-exercises.py
from quantum_prediction import VariationalQuantumRegressor

# Create quantum predictor for time-series
vqr = VariationalQuantumRegressor(n_qubits=4, n_layers=3)

# Train on historical data
vqr.fit(X_train, y_train)

# Make quantum-enhanced predictions
predictions = vqr.predict(X_test)

Materials:

  • quantum-predictive-analytics-module.md - 4-week deep dive
  • prediction-labs-exercises.py - Complete implementations
  • prediction-integration-guide.md - Integration across curriculum

💻 Hands-On Labs

Lab Structure

Each week includes practical labs with increasing complexity:

  1. Warm-up (30 min) - Concept implementation
  2. Main Lab (2 hours) - Full algorithm/application
  3. Challenge (1 hour) - Extension or optimization
  4. Real-World (Optional) - Industry application

Example Lab: Quantum Stock Price Prediction

# Lab B.1 from prediction module
def quantum_stock_predictor(historical_prices, n_days_ahead=5):
    """Predict stock prices using quantum-classical hybrid model."""

    # 1. Preprocess data
    features = extract_technical_indicators(historical_prices)

    # 2. Quantum feature encoding
    quantum_features = quantum_feature_map(features)

    # 3. Hybrid prediction
    quantum_lstm = HybridQuantumLSTM(
        classical_layers=2,
        quantum_layers=1,
        n_qubits=4
    )

    predictions = quantum_lstm.predict(quantum_features, horizon=n_days_ahead)
    return predictions

# Run prediction
future_prices = quantum_stock_predictor(apple_stock_data)

📊 Assessment & Certification

Assessment Components

Component Weight Description
Weekly Labs 40% Hands-on programming assignments
Module Projects 35% Integrated applications
Capstone Project 25% Industry-relevant quantum application

Certification Requirements

  • ✅ Complete 80% of all labs
  • ✅ Pass module assessments (70% minimum)
  • ✅ Submit working capstone project
  • ✅ Present final project to peers

Capstone Project Options

  1. Quantum Trading Algorithm - Portfolio optimization with prediction
  2. Medical Diagnosis System - Disease progression forecasting
  3. Climate Model - Weather prediction with quantum enhancement
  4. Cryptographic Protocol - Quantum-safe security implementation
  5. Custom Project - Your own quantum application

🛠️ Development Tools

Recommended IDE Setup

VSCode Configuration

{
  "python.linting.enabled": true,
  "python.formatting.provider": "black",
  "jupyter.widgetScriptSources": ["jsdelivr.com", "unpkg.com"],
  "extensions": {
    "recommendations": [
      "ms-python.python",
      "ms-toolsai.jupyter",
      "qsharp-community.qsharp-lang-vscode"
    ]
  }
}

Jupyter Lab Extensions

# Install useful extensions
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install @jupyterlab/plotly-extension

Quantum Cloud Access

IBM Quantum

# Configure IBM Quantum access
from qiskit import IBMQ

IBMQ.save_account('YOUR_API_TOKEN')
IBMQ.load_account()

# List available backends
provider = IBMQ.get_provider(hub='ibm-q')
print(provider.backends())

AWS Braket

# Configure AWS Braket
from braket.aws import AwsDevice

device = AwsDevice("arn:aws:braket::1:device/quantum-simulator/amazon/sv1")

📚 Learning Path

Beginner Path (No Quantum Experience)

  1. Week 1: Complete linear algebra essentials
  2. Week 2-4: Focus on quantum basics
  3. Week 5-10: Master quantum programming
  4. Week 11+: Dive into algorithms

Advanced Path (Some Quantum Knowledge)

  1. Week 1: Quick review + assessment
  2. Jump to Week 8: Start with programming
  3. Focus on Weeks 15-21: NISQ and QML
  4. Add Prediction Module: Specialized skills

Fast Track (Strong Math/Physics)

  1. Complete in 15 weeks: 2x pace
  2. Skip to Week 5: Fundamentals
  3. Focus on implementation: Less theory
  4. Multiple projects: Build portfolio

🌟 Key Features

What Makes This Curriculum Unique

  1. Practical First: Every concept includes working code
  2. NISQ-Focused: Realistic expectations for current hardware
  3. Prediction Integration: Unique focus on forecasting applications
  4. Industry-Ready: Real-world projects and deployment
  5. Flexible Pacing: Self-study or cohort-based
  6. Community Support: Active Discord and forums

🤝 Contributing

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

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Ideas

  • Additional exercises and solutions
  • Real-world datasets
  • Industry case studies
  • Translation to other languages
  • Bug fixes and improvements

📈 Progress Tracking

Study Checklist

Foundation (Weeks 1-10)

  • Complete linear algebra essentials
  • Understand quantum states and measurements
  • Build first quantum circuit
  • Run circuit on real quantum hardware
  • Implement Deutsch-Jozsa algorithm

Intermediate (Weeks 11-20)

  • Master Grover's search algorithm
  • Implement Shor's factoring algorithm
  • Build VQE for molecule simulation
  • Create quantum machine learning model
  • Complete prediction module

Advanced (Weeks 21-30)

  • Understand error correction
  • Build fault-tolerant circuits
  • Complete capstone project
  • Present to community
  • Obtain certificate

Performance Metrics

Track your progress with our built-in analytics:

from curriculum_tracker import ProgressTracker

tracker = ProgressTracker(student_id="your_id")
tracker.log_completion("week1_exercises")
print(tracker.get_progress_report())

# Output:
# Overall Progress: 3.3% (1/30 weeks)
# Current Module: Mathematical Foundations
# Next Milestone: Complete Week 2
# Estimated Completion: 29 weeks

🎓 After the Curriculum

Career Opportunities

  • Quantum Software Engineer ($120k-$200k)
  • Quantum Machine Learning Researcher ($130k-$220k)
  • Quantum Algorithm Developer ($125k-$210k)
  • Quantum Applications Consultant ($140k-$250k)
  • Quantum Systems Architect ($150k-$280k)

Continued Learning

  1. Research Papers: Curated reading list updated monthly
  2. Advanced Topics: Topological quantum computing, quantum complexity
  3. Specializations: Quantum chemistry, cryptography, optimization
  4. Certifications: IBM Qiskit Developer, Microsoft Azure Quantum
  5. PhD Programs: Partnerships with universities

Alumni Network

  • Access to private job board
  • Monthly meetups and workshops
  • Research collaboration opportunities
  • Mentorship program
  • Conference discounts

📜 License

This curriculum is licensed under the MIT License - see the LICENSE file for details.

Citation

If you use this curriculum in your research or teaching, please cite:

@misc{quantum-curriculum-2024,
  title={Quantum Computing Curriculum for Expert Computer Scientists},
  author={Richard Riehle},
  year={2025},
  url={https://github.com/rriehle/quantum.edu}
}

🙏 Acknowledgments

Special thanks to:

  • IBM Quantum team for Qiskit resources
  • Google Quantum AI for Cirq tutorials
  • Microsoft Quantum for Q# materials
  • PennyLane team for QML frameworks
  • The quantum computing community for continuous support

🚀 Start Your Quantum Journey Today

Ready to dive into quantum computing? Here's your first exercise:

# Your first quantum program
from qiskit import QuantumCircuit, execute, Aer

# Create a quantum circuit with 1 qubit
qc = QuantumCircuit(1, 1)

# Put qubit in superposition
qc.h(0)

# Measure the qubit
qc.measure(0, 0)

# Run the circuit
backend = Aer.get_backend('qasm_simulator')
job = execute(qc, backend, shots=1000)
result = job.result()
counts = result.get_counts(qc)

print(f"Your first quantum measurement: {counts}")
# Output: {'0': ~500, '1': ~500}  # Perfect superposition!

Welcome to the quantum era! 🌟

About

Quantum Computing for Advanced Computer Scientists

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages