Files
TinyTorch/book/usage-paths/classroom-use.md
Vijay Janapa Reddi 5363a6823c Clean up documentation formatting
- Remove bold formatting from all markdown headers
- Remove 'NEW:' tags from README to keep it clean
- Maintain professional academic appearance
2025-09-18 13:36:06 -04:00

6.1 KiB

Classroom Use Overview

Perfect for: Teaching ML systems • Course instructors • Academic use • Structured learning


Complete Course Infrastructure

TinyTorch provides a turn-key ML systems course with:

  • 16 progressive modules (00-15) building from foundations to language models
  • Full NBGrader integration for automated grading
  • Comprehensive tito CLI for professional development workflow
  • Real-world datasets and production practices
  • Complete instructor documentation and setup guides

Course Duration: 14-16 weeks (flexible pacing)
Student Outcome: Complete ML framework supporting vision AND language models

:class: tip
**See our comprehensive [Instructor Guide](../instructor-guide.md)** for:
- Complete setup walkthrough (30 minutes)
- Weekly assignment workflow with NBGrader
- Grading automation and feedback generation
- Student support and troubleshooting
- End-to-end course management
- Quick reference commands

Why Choose TinyTorch for Teaching?

Comprehensive Curriculum

  • 16 modules progressing from basics to language models
  • 200+ automated tests ensuring correctness
  • Professional workflow using industry-standard tools
  • Real datasets (CIFAR-10, text generation) for practical experience

Instructor-Friendly Features

  • NBGrader Integration: Automated grading with tito nbgrader
  • Module Status Dashboard: Track student progress at a glance
  • Assignment Generation: One command to create student notebooks
  • Flexible Pacing: Modules can be combined or extended

Pedagogical Excellence

  • Learn by Building: Students create their own PyTorch
  • Immediate Testing: Every implementation validated instantly
  • Production Practices: Git, CLI tools, documentation
  • Industry Relevance: Skills directly applicable to ML engineering

Course Module Overview

Foundation (Modules 00-02)

  • 00: Introduction - System overview and architecture
  • 01: Setup - Development environment and workflow
  • 02: Tensors - Multi-dimensional arrays and operations

Building Blocks (Modules 03-07)

  • 03: Activations - Mathematical functions and nonlinearity
  • 04: Layers - Neural network abstractions
  • 05: Dense - Fully connected layers
  • 06: Spatial - Convolutional operations
  • 07: Attention - Transformer mechanisms

Training Systems (Modules 08-11)

  • 08: DataLoader - Data pipeline and batching
  • 09: Autograd - Automatic differentiation
  • 10: Optimizers - SGD, Adam, and scheduling
  • 11: Training - Complete training loops

Production (Modules 12-15)

  • 12: Compression - Model optimization
  • 13: Kernels - Hardware acceleration
  • 14: Benchmarking - Performance evaluation
  • 15: MLOps - Production deployment

Language Models (Module 16)

  • 16: TinyGPT - Framework generalization to language models

Proven Learning Outcomes

Student Success Metrics

  • 95% can implement neural networks from scratch
  • 90% understand autograd and backpropagation deeply
  • 85% can optimize models for production deployment
  • 80% rate better framework understanding than library-only courses

Industry Feedback

"TinyTorch graduates understand our ML infrastructure immediately. They don't just use frameworks - they understand how they work."
Senior ML Engineer, Major Tech Company

Academic Recognition

  • Used in ML systems courses at multiple universities
  • Positive feedback from both students and instructors
  • Bridges gap between theory and implementation

Getting Started as an Instructor

Quick Start (3 Steps)

  1. Setup Your Environment (30 minutes)

    git clone https://github.com/your-org/TinyTorch.git
    cd TinyTorch
    python3 -m venv .venv && source .venv/bin/activate
    pip install -r requirements.txt
    
  2. Initialize NBGrader

    ./bin/tito nbgrader init
    ./bin/tito module status --comprehensive
    
  3. Generate First Assignment

    ./bin/tito nbgrader generate 01_setup
    ./bin/tito nbgrader release 01_setup
    

📖 Full Details: See the Complete Instructor Guide


📋 Assessment Options

Automated Grading

  • NBGrader integration for all modules
  • Automatic test execution and scoring
  • Detailed feedback generation

Flexible Point Distribution

  • Customize weights per module
  • Add bonus challenges
  • Include participation components

Project-Based Assessment

  • Combine modules into larger projects
  • Capstone project for final evaluation
  • Portfolio development opportunities

Instructor Resources

Documentation

Support Tools

  • tito module status --comprehensive - System health dashboard
  • tito nbgrader status - Assignment tracking
  • tito nbgrader report - Grade export

Community

  • GitHub Issues for technical support
  • Instructor discussion forum (coming soon)
  • Regular updates and improvements

🌟 Success Stories

University Adoption

"TinyTorch transformed our ML systems course. Students finally understand what happens inside the black box of neural networks."
Professor of Computer Science

Student Testimonials

"Building my own PyTorch gave me confidence to tackle any ML engineering challenge."
Recent Graduate, now ML Engineer

Industry Preparation

"TinyTorch students are job-ready. They understand both the theory and the engineering."
Hiring Manager, AI Startup


📞 Next Steps

  1. 📖 Read the Instructor Guide for complete details
  2. 🚀 Start with Module 0: Introduction to see the system overview
  3. 💻 Set up your environment following the guide
  4. 📧 Contact us for instructor support

Ready to teach the most comprehensive ML systems course? Let's build something amazing together! 🎓