mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-03-12 12:33:40 -05:00
Introduces documentation for TinyTorch module development, including guides for developers and AI assistants. Provides comprehensive resources for creating high-quality, educational modules, focusing on real-world applications and systems thinking.
📚 TinyTorch Documentation
Welcome to the TinyTorch documentation! This directory contains guides organized by audience and purpose.
🎯 Find Your Documentation
🎓 Students (Taking the ML Systems Course)
Start here if you're learning ML systems:
- Project Guide - Track your progress through all 12 modules
- Quickstart - Get up and running quickly
- Main README - Project overview and introduction
👨🏫 Instructors (Teaching or Designing the Course)
Understanding the educational philosophy:
- Pedagogical Principles - The "Build → Use → Understand" framework
- Vision - High-level course philosophy and learning approach
- Testing Architecture - Dual testing system for education
🔧 Human Developers (Building New Modules)
Creating or contributing to TinyTorch modules:
- Development Guide - Start here for complete development methodology
- Module Development Guide - Educational design and best practices
- Module Creation Checklist - Step-by-step process
- Quick Reference - Commands and common patterns
🤖 AI Assistants (Development Support)
Coding patterns and quality enforcement:
.cursor/rules/- Specific implementation patterns, code examples, and anti-patterns- Automatic guidance during development through cursor rules
📊 Documentation Architecture
Clear Audience Separation
docs/
├── students/ # 🎓 Course participants
│ └── project-guide.md # Module progression and workflow
├── pedagogy/ # 👨🏫 Instructors and course designers
│ ├── pedagogical-principles.md # Educational theory
│ ├── vision.md # Course philosophy
│ └── testing-architecture.md # Assessment strategy
├── development/ # 🔧 Human module developers
│ ├── README.md # Development methodology
│ ├── module-development-guide.md # Complete guide
│ ├── module-creation-checklist.md # Step-by-step process
│ └── quick-module-reference.md # Commands and patterns
└── README.md # 📍 This file - navigation hub
.cursor/rules/ # 🤖 AI assistants (not in docs/)
├── module-development-best-practices.mdc # Coding patterns
├── testing-patterns.mdc # Test requirements
└── nbdev-educational-pattern.mdc # NBDev structure
No Duplication by Design
- Students: Course navigation and module progression
- Instructors: Educational philosophy and theory
- Human Developers: Methodology, workflow, and educational design
- AI Assistants: Specific coding patterns and implementation examples
🚀 Quick Navigation
| I am a... | I want to... | Go to... |
|---|---|---|
| Student | Start the course | Project Guide |
| Student | Get unstuck on setup | Quickstart |
| Instructor | Understand the pedagogy | Pedagogical Principles |
| Instructor | Design a new course | Vision |
| Developer | Build a new module | Development Guide |
| Developer | Need quick help | Quick Reference |
| Contributor | Understand the philosophy | Pedagogical Principles |
🔑 Core Principles (Across All Documentation)
Educational Excellence
- "Build → Use → Understand → Repeat" - Every module follows this cycle
- Real-world relevance - Connect to production ML engineering
- Immediate feedback - Students see their code working
- Progressive complexity - Build understanding step by step
Real Data, Real Systems
- Use production datasets (CIFAR-10, ImageNet), not synthetic data
- Include progress feedback for downloads and long operations
- Test with realistic scales and performance constraints
- Think about caching, user experience, and systems concerns
All documentation follows the TinyTorch principle: Build → Use → Understand → Repeat