Clean up book directory - remove duplicates and archive unused files

Removed duplicate content:
- user-manual.md (17K) - duplicate of quickstart-guide.md
- instructor-guide.md (12K) - duplicate of classroom-use.md
- leaderboard.md (6K) - old Olympics content, superseded by community.md

Archived development/reference files to docs/archive/book-development/:
- THEME_DESIGN.md, convert_*.py, verify_build.py (build scripts)
- faq.md, kiss-principle.md, vision.md (reference docs)
- quick-exploration.md, serious-development.md (unused usage paths)

Archived unused images to book/_static/archive/:
- Gemini_Generated_Image_*.png (3 AI-generated images)

Result:
- 26% reduction in markdown files (39 → 29)
- No duplication of content
- Cleaner repository structure
- All active files in TOC or properly referenced

See docs/archive/book-development/CLEANUP_SUMMARY.md for details.
This commit is contained in:
Vijay Janapa Reddi
2025-11-07 18:34:11 -05:00
parent 2c14195c6c
commit f5004807eb
15 changed files with 103 additions and 1362 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 980 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 KiB

-483
View File
@@ -1,483 +0,0 @@
# 👨‍🏫 Instructor Guide: NBGrader + TinyTorch
<div style="background: #f0fff4; border: 1px solid #22c55e; padding: 1rem; border-radius: 0.5rem; margin: 1rem 0;">
<strong>📖 Technical Setup & Workflow:</strong> This page provides step-by-step NBGrader setup and daily semester management.<br>
<strong>📖 For Course Overview & Benefits:</strong> See <a href="usage-paths/classroom-use.html">TinyTorch for Instructors</a> for educational philosophy and course structure.
</div>
**Complete workflow for instructors and TAs using TinyTorch with automated grading**
---
## 🎯 The Complete Instructor Journey
This guide walks you through everything you need to know to successfully run a TinyTorch course with automated grading, from initial setup to semester completion.
---
## 📋 Prerequisites
Before you begin, ensure you have:
- **Python 3.8+** installed on your system
- **Git** for version control
- **Terminal/Command Line** access
- **Basic familiarity** with Jupyter notebooks
**Time Investment:** ~30 minutes for initial setup, then 5-10 minutes per assignment
---
## 🚀 Phase 1: Initial Setup (One-Time)
### Step 1: Clone and Setup Repository
```bash
# Clone the TinyTorch repository
git clone https://github.com/your-org/TinyTorch.git
cd TinyTorch
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install all dependencies
pip install -r requirements.txt
pip install nbgrader jupyter jupytext rich
```
### Step 2: Verify Installation
```bash
# Test that everything is working
./bin/tito system doctor
# Expected output:
# ✅ Python 3.x.x
# ✅ Virtual environment active
# ✅ All dependencies installed
# ✅ TinyTorch CLI ready
```
### Step 3: Initialize NBGrader Environment
```bash
# Initialize the grading infrastructure
./bin/tito nbgrader init
# Expected output:
# ✅ NBGrader version: 0.9.5
# 📁 Created directory: assignments
# ✅ NBGrader database initialized
# 🎉 NBGrader environment initialized successfully!
```
### Step 4: Verify Complete Setup
```bash
# Check system status
./bin/tito module status --comprehensive
# Should show:
# 🐍 Environment Health: All ✅ green
# 📊 Module Status: Overview of 17 modules
# 🎯 Priority Actions: Any setup issues to fix
```
---
## 🎓 Phase 2: Course Preparation
### Understanding the TinyTorch Module Structure
TinyTorch has **17 progressive modules**:
**Foundation (Modules 00-02):**
- `00_introduction` - Visual system overview and dependencies
- `01_setup` - Development environment and CLI workflow
- `02_tensor` - Multi-dimensional arrays and operations
**Building Blocks (Modules 03-07):**
- `03_activations` - Mathematical functions and nonlinearity
- `04_layers` - Neural network layer abstractions
- `05_dense` - Fully connected layers and matrix operations
- `06_spatial` - Convolutional operations and computer vision
- `07_attention` - Self-attention and transformer mechanisms
**Training Systems (Modules 08-11):**
- `08_dataloader` - Data pipeline and CIFAR-10 integration
- `09_autograd` - Automatic differentiation engine
- `10_optimizers` - SGD, Adam, and learning rate scheduling
- `11_training` - Training loops, loss functions, and metrics
**Production & Performance (Modules 12-16):**
- `12_compression` - Model pruning and quantization
- `13_kernels` - Custom operations and hardware optimization
- `14_benchmarking` - MLPerf-style evaluation and profiling
- `15_mlops` - Production deployment and monitoring
- `16_capstone` - Final integration project
### Course Planning Recommendations
**📅 Semester Planning (14-16 weeks):**
```
Week 1: 00_introduction + 01_setup
Week 2: 02_tensor
Week 3: 03_activations
Week 4: 04_layers
Week 5: 05_dense
Week 6: 06_spatial
Week 7: 07_attention
Week 8: Midterm / Review
Week 9: 08_dataloader
Week 10: 09_autograd
Week 11: 10_optimizers
Week 12: 11_training
Week 13: 12_compression + 13_kernels
Week 14: 14_benchmarking + 15_mlops
Week 15: 16_capstone
Week 16: Final presentations
```
---
## 📝 Phase 3: Assignment Management
### Creating Student Assignments
**For Individual Modules:**
```bash
# Generate assignment from TinyTorch module
./bin/tito nbgrader generate 01_setup
# This creates:
# assignments/source/01_setup/01_setup.ipynb (instructor version)
```
**For Multiple Modules:**
```bash
# Generate first 4 modules
./bin/tito nbgrader generate --range 01-04
# Or generate all modules at once (start of semester)
./bin/tito nbgrader generate --all
```
**What happens during generation:**
1. Reads the module's `.py` file from `modules/source/XX_module/`
2. Converts to Jupyter notebook using jupytext
3. Processes with NBGrader to create student version
4. Removes instructor solutions, adds `# YOUR CODE HERE` stubs
5. Creates assignments in `assignments/source/XX_module/`
### Releasing Assignments to Students
```bash
# Release individual assignment
./bin/tito nbgrader release 01_setup
# Release multiple assignments
./bin/tito nbgrader release --range 01-04
# This creates:
# assignments/release/01_setup/01_setup.ipynb (student version)
```
**Distribution to Students:**
- Upload `assignments/release/XX_module/XX_module.ipynb` to your LMS
- Or provide direct access to the `assignments/release/` directory
- Students download and work on their local copies
### Monitoring Assignment Status
```bash
# Check what assignments exist
./bin/tito nbgrader status
# Example output:
# 📚 Source assignments: 4
# - 01_setup, 02_tensor, 03_activations, 04_layers
# 🚀 Released assignments: 2
# - 01_setup, 02_tensor
# 📥 Submitted assignments: 1
# - 01_setup
# 🎯 Graded assignments: 0
```
---
## 📊 Phase 4: Grading Workflow
### Collecting Student Submissions
**Manual Collection (Most Common):**
```bash
# Students submit via LMS, you download to:
mkdir -p assignments/submitted/01_setup/student_name/
# Place student notebooks in: assignments/submitted/01_setup/student_name/01_setup.ipynb
```
**NBGrader Exchange (If Using Shared Server):**
```bash
# Collect all submissions for an assignment
./bin/tito nbgrader collect 01_setup
```
### Auto-Grading Process
```bash
# Auto-grade specific assignment
./bin/tito nbgrader autograde 01_setup
# Auto-grade all collected assignments
./bin/tito nbgrader autograde --all
# What happens:
# - Executes all student code
# - Runs hidden test cells
# - Checks assert statements
# - Records pass/fail for each test
# - Creates detailed grading reports
```
### Generating Student Feedback
```bash
# Generate feedback for specific assignment
./bin/tito nbgrader feedback 01_setup
# Generate feedback for all assignments
./bin/tito nbgrader feedback --all
# Creates:
# assignments/feedback/01_setup/student_name/01_setup.html
```
### Exporting Grades
```bash
# Export grades to CSV
./bin/tito nbgrader report --format csv
# Creates: grades.csv with all student scores
```
---
## 🔧 Phase 5: Common Workflows
### Weekly Assignment Routine
```bash
# Monday: Generate and release new assignment
./bin/tito nbgrader generate 03_activations
./bin/tito nbgrader release 03_activations
# Upload assignments/release/03_activations/03_activations.ipynb to LMS
# Announce assignment to students
# Friday: Collect submissions and grade
# (Download student submissions from LMS to assignments/submitted/)
./bin/tito nbgrader autograde 03_activations
./bin/tito nbgrader feedback 03_activations
# Monday: Return graded assignments and feedback to students
```
### Mid-Semester Status Check
```bash
# Comprehensive system status
./bin/tito module status --comprehensive
# Assignment analytics
./bin/tito nbgrader analytics 03_activations
# Export current gradebook
./bin/tito nbgrader report --format csv
```
### End-of-Semester Workflow
```bash
# Generate final gradebook
./bin/tito nbgrader report --format csv
# Archive all assignments and submissions
tar -czf course_archive_fall2024.tar.gz assignments/ gradebook.db
# Clean up for next semester
./bin/tito clean
./bin/tito nbgrader init # Fresh start
```
---
## 🛠️ Phase 6: Troubleshooting & Tips
### Common Issues
**"Module not found" when generating:**
```bash
# Check available modules
ls modules/source/
# Use exact directory name
./bin/tito nbgrader generate 02_tensor # Not just "tensor"
```
**"NBGrader validation failed":**
```bash
# This is expected for student notebooks (they have unimplemented functions)
# Validation failure = students need to implement the code
```
**Environment issues:**
```bash
# Always activate virtual environment first
source .venv/bin/activate
# Check environment health
./bin/tito system doctor
```
### Best Practices
**📋 Assignment Preparation:**
- Generate all assignments at start of semester
- Test each assignment yourself before releasing
- Provide clear due dates and submission instructions
**⏰ Grading Efficiency:**
- Set up consistent folder structure for submissions
- Use batch grading commands (`--all` flags)
- Review auto-graded results before finalizing
**💡 Student Support:**
- Share `./bin/tito module status` command with students
- Encourage testing with provided test functions
- Provide clear error message interpretation
### Advanced Configuration
**Customize point values in `nbgrader_config.py`:**
```python
# Adjust timeout for long-running assignments
c.ExecutePreprocessor.timeout = 300 # 5 minutes per cell
# Customize solution stubs
c.ClearSolutions.code_stub = {
"python": "# YOUR IMPLEMENTATION HERE\nraise NotImplementedError()"
}
```
---
## 📚 Phase 7: Student Guidance
### What to Tell Your Students
**Setup Instructions for Students:**
```bash
# Students should run:
git clone [your-course-repo]
cd TinyTorch
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Test their setup:
./bin/tito system doctor
```
**Working on Assignments:**
```markdown
1. Download the assignment notebook from [LMS]
2. Open in Jupyter: `jupyter lab assignment.ipynb`
3. Look for `# YOUR CODE HERE` markers
4. Implement the required functions
5. Test your work with provided test cells
6. Submit the completed notebook
```
**Debugging Help:**
```bash
# Students can check their module status
./bin/tito module status
# Get help with specific modules
./bin/tito module info 02_tensor
```
---
## 🎯 Quick Reference Commands
### Essential Daily Commands
```bash
# Check overall system status
./bin/tito module status --comprehensive
# Assignment lifecycle
./bin/tito nbgrader generate MODULE_NAME
./bin/tito nbgrader release MODULE_NAME
./bin/tito nbgrader autograde MODULE_NAME
./bin/tito nbgrader feedback MODULE_NAME
# Monitor progress
./bin/tito nbgrader status
./bin/tito nbgrader analytics MODULE_NAME
```
### Batch Operations
```bash
# Work with multiple modules
./bin/tito nbgrader generate --range 01-04
./bin/tito nbgrader release --all
./bin/tito nbgrader autograde --all
./bin/tito nbgrader feedback --all
```
### System Maintenance
```bash
# Environment health
./bin/tito system doctor
# Clean temporary files
./bin/tito clean
# Export final grades
./bin/tito nbgrader report --format csv
```
---
## 📞 Getting Help
**If you encounter issues:**
1. **Check system status**: `./bin/tito system doctor`
2. **Review logs**: Check output messages for specific errors
3. **Consult documentation**: This guide covers 95% of common scenarios
4. **Community support**: [GitHub Issues](https://github.com/your-org/TinyTorch/issues)
**For urgent instructor support:**
- Create detailed issue with error messages
- Include output of `./bin/tito module status --comprehensive`
- Specify which assignment and step is failing
---
## 🎉 Success Metrics
**You'll know you're successful when:**
- ✅ Students can download and run assignments without setup issues
- ✅ Auto-grading provides consistent, fair evaluation
- ✅ Weekly assignment workflow takes <10 minutes
- ✅ Students build a complete ML framework by semester end
- ✅ You have detailed analytics on student progress and common issues
**Ready to run the most comprehensive ML systems course your students will ever take!** 🚀
---
*This guide covers the complete instructor journey from setup to course completion. For specific technical details, see the individual command documentation with `./bin/tito --help`.*
-233
View File
@@ -1,233 +0,0 @@
# 🏆 Leaderboard
**Compete. Optimize. Rank.**
---
## 🎯 Competition Rankings
The TinyTorch Olympics Leaderboard showcases the top-performing systems from students who have completed the capstone challenge. Rankings are updated in real-time as new submissions are evaluated.
<div style="background: #f8f9fa; border: 1px solid #dee2e6; padding: 2rem; border-radius: 0.5rem; text-align: center; margin: 2rem 0;">
<h2 style="margin: 0 0 1rem 0; color: #495057;">Live Leaderboard (Coming Soon)</h2>
<p style="margin: 0; color: #6c757d;">Competition rankings will be displayed here after Module 20 infrastructure is deployed</p>
</div>
---
## 📊 Current Competition Categories
### ⚡ Speed Demon
**Fastest inference on standard hardware**
- Metric: Inferences per second
- Minimum accuracy: ≥90%
- Focus: Computational optimization
### 💾 Memory Miser
**Smallest memory footprint**
- Metric: Peak memory usage (MB)
- Minimum accuracy: ≥85%
- Focus: Efficient architectures
### 📱 Edge Expert
**Best performance on constrained hardware**
- Metric: Composite score
- Platform: Raspberry Pi 4B
- Focus: Complete optimization
### 🔋 Energy Efficient
**Lowest power consumption**
- Metric: Energy per inference (joules)
- Focus: Algorithm efficiency
### 🏃‍♂️ TinyMLPerf
**MLPerf-style benchmark suite**
- Metric: Standardized benchmarks
- Focus: Production readiness
---
## 🏅 How to Compete
### 1. Complete Prerequisites
```bash
# Finish all required modules
tito checkpoint status
# Verify you're ready for capstone
tito module test 20
```
### 2. Submit Your Model
```bash
# Register for competition
tito olympics register
# Submit baseline
tito olympics submit --baseline
# After optimization, submit final
tito olympics submit --final
```
### 3. View Rankings
```bash
# Check your scores
tito olympics scores
# View full leaderboard
tito olympics leaderboard
# Generate report
tito olympics report --format pdf
```
---
## 🎯 Scoring System
### Primary Ranking
- **Category-specific metric**: Speed, memory, energy, etc.
- **Accuracy threshold**: Must meet minimum to qualify
- **Tie-breaker**: Higher accuracy wins
### Bonus Recognition
- **🚀 Innovation Award**: Novel optimization techniques
- **📚 Teaching Award**: Best documented approach
- **🎯 First Blood**: First to beat instructor baseline
### Overall Champion
- Best combined performance across ≥3 categories
- Weighted by difficulty of optimization
- Special recognition and portfolio artifact
---
## 📈 Sample Leaderboard
### ⚡ Speed Demon Category
| Rank | Student | Inf/sec | Accuracy | Optimization |
|------|---------|---------|----------|--------------|
| 🥇 | alice_chen | 847.3 | 95.2% | Vectorization + caching |
| 🥈 | bob_smith | 612.7 | 94.8% | Custom kernels |
| 🥉 | carol_wong | 588.1 | 96.1% | Batch optimization |
| 4 | dave_kim | 542.9 | 93.7% | Parallel processing |
| 5 | eve_patel | 501.2 | 94.1% | Memory layout |
### 💾 Memory Miser Category
| Rank | Student | Memory (MB) | Accuracy | Optimization |
|------|---------|-------------|----------|--------------|
| 🥇 | dave_kim | 12.4 | 91.7% | INT8 quantization |
| 🥈 | eve_patel | 15.8 | 93.2% | Weight pruning |
| 🥉 | frank_liu | 18.2 | 89.9% | Compressed format |
| 4 | grace_lee | 21.5 | 92.4% | Activation sharing |
| 5 | henry_zhao | 24.1 | 90.8% | Efficient layers |
---
## 🌟 Hall of Fame
### Semester Champions
**Spring 2024**
- 🏆 Overall: Jordan Lee (95.2 composite score)
- ⚡ Speed: Alice Chen (847.3 inf/sec)
- 💾 Memory: Dave Kim (12.4 MB)
- 📱 Edge: Grace Lee (94.5 score)
**Fall 2023**
- 🏆 Overall: Sam Park (93.8 composite score)
- ⚡ Speed: Morgan Smith (812.1 inf/sec)
- 💾 Memory: Alex Wong (13.2 MB)
- 📱 Edge: Taylor Brown (92.7 score)
---
## 🎓 What Leaderboard Performance Shows
### To Potential Employers
- **Systems engineering skills**: You can optimize real systems
- **Competitive performance**: You can achieve results under constraints
- **Technical depth**: You understand performance trade-offs
- **Quantifiable achievements**: Clear metrics of capability
### Portfolio Impact
**Strong statement:**
> "Ranked #2 in Memory Efficiency in TinyTorch Olympics (Fall 2024), achieving 13.8 MB footprint with 92.1% accuracy through quantization and pruning techniques."
**Hiring managers recognize:**
- Competitive achievement (leaderboard ranking)
- Technical specificity (quantization, pruning)
- Quantitative results (13.8 MB, 92.1% accuracy)
- Systems thinking (memory vs. accuracy trade-offs)
---
## 🚀 Getting Started
### Ready to Compete?
1. **Complete Module 20** (Capstone)
2. **Optimize your system** using modules 14-19
3. **Submit your model** for evaluation
4. **See your ranking** on the leaderboard
```bash
# Start your Olympic journey
tito olympics register
```
---
## 📅 Competition Timeline
### Ongoing Submissions
- Leaderboard accepts submissions year-round
- Rankings update in real-time
- Semester champions crowned at end of term
### Seasonal Events
- **Mid-semester sprint**: Early optimization challenge
- **Final week rush**: Last chance to climb rankings
- **Victory ceremony**: Recognition of top performers
---
## 🤝 Fair Competition
### Rules & Guidelines
**Allowed:**
- Any technique from modules 1-19
- Custom implementations within TinyTorch
- Novel optimization strategies
- Hardware-specific optimizations
**Not Allowed:**
- External ML frameworks (PyTorch, etc.)
- Pre-trained external models
- Hardcoded test outputs
- Breaking API contracts
**Verification:**
- All submissions automatically validated
- Code review for top 10 in each category
- Reproducibility required
- Fair hardware access provided
---
<div style="background: #e8f4fd; border: 2px solid #1976d2; padding: 2rem; border-radius: 0.5rem; margin: 2rem 0; text-align: center;">
<h3 style="margin: 0 0 1rem 0; color: #1976d2;">🏆 Join the Competition</h3>
<p style="margin: 0 0 1rem 0; color: #424242;">Complete Module 20 and submit your optimized system</p>
<p style="margin: 0; color: #424242;"><strong>Prove your systems engineering skills. See how you rank.</strong></p>
</div>
---
**The leaderboard doesn't lie. Your optimization skills speak for themselves.**
*Ready to compete?* → Complete [Module 20: Capstone](chapters/20-capstone.md)
-646
View File
@@ -1,646 +0,0 @@
# TinyTorch User Manual
## Welcome to Your ML Systems Engineering Journey
This comprehensive user manual will guide you from installation to mastery, whether you're spending 15 minutes exploring or 15 weeks building complete systems.
## 🧭 Navigation Guide
### **For New Users**
- **[🚀 Quick Start](#quick-start)** - Get running in 5 minutes
- **[🎯 Choose Your Path](#learning-paths)** - Find your ideal learning journey
- **[📱 First Commands](#essential-commands)** - Master the basics
### **For Active Learners**
- **[📚 Module Guide](#module-system)** - Understand the learning structure
- **[✅ Checkpoint System](#checkpoint-system)** - Track and validate progress
- **[🌍 Community Features](#community-features)** - Connect with fellow learners
### **For Instructors**
- **[🎓 Teaching Guide](#instructor-resources)** - Classroom setup and management
- **[📊 Progress Tracking](#student-progress)** - Monitor student achievements
- **[📝 Grading System](#nbgrader-integration)** - Automated assessment workflow
---
## 🚀 Quick Start
### **Installation (3 minutes)**
```bash
# 1. Clone repository
git clone https://github.com/mlsysbook/TinyTorch.git
cd TinyTorch
# 2. Setup environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
pip install -e .
# 4. Verify installation
tito system doctor
```
### **First Experience (2 minutes)**
```bash
# See what you'll build
tito demo quick
# Check your learning path
tito checkpoint status
# Start your journey
tito help --interactive
```
**✅ Success Indicators:**
- `tito system doctor` shows all green checkmarks
- `tito checkpoint status` displays 21 learning checkpoints
- `tito demo quick` runs without errors
---
## 🎯 Learning Paths
Choose your journey based on your goals and available time:
### 🔬 **Explorer Path** (15 minutes - 2 hours)
**Goal**: Understand what TinyTorch is and see it in action
```bash
# Quick demonstration
tito demo quick
# See the big picture
tito checkpoint timeline --horizontal
# Try building something small
cd modules/source/01_setup
jupyter lab setup_dev.py
```
**You'll Experience:**
- How neural networks work at the code level
- What building ML systems from scratch looks like
- Whether you want to go deeper
---
### 🎯 **Builder Path** (Weekend - 4 weeks)
**Goal**: Build substantial ML components and understand systems
```bash
# Start structured learning
tito checkpoint status
cd modules/source/01_setup
# Work through foundation modules
# Complete 1-2 modules per session
# Goal: Build working neural network (Modules 1-6)
```
**Milestones:**
- **Week 1**: Tensors and basic operations (Modules 1-2)
- **Week 2**: Neural network components (Modules 3-5)
- **Week 3**: Training systems (Modules 6-8)
- **Week 4**: First real project - CIFAR-10 CNN
---
### 🚀 **Engineer Path** (8-12 weeks)
**Goal**: Complete framework capable of modern ML applications
```bash
# Full curriculum with community participation
tito leaderboard join
tito checkpoint status
# Systematic progression through all modules
# Regular community engagement
# Optimization and competition participation
```
**Journey Stages:**
1. **Foundation** (Weeks 1-4): Neural networks from scratch
2. **Architecture** (Weeks 5-7): Computer vision and language models
3. **Training** (Weeks 8-10): Complete training systems
4. **Optimization** (Weeks 11-12): Performance and deployment
5. **Mastery** (Ongoing): TinyMLPerf competition and community
---
### 🎓 **Instructor Path**
**Goal**: Teach TinyTorch to students with full classroom support
```bash
# Instructor setup
tito nbgrader setup-instructor
tito grade setup-course
# Student progress tracking
tito leaderboard instructor-dashboard
```
**Resources:**
- **[Classroom Setup Guide](usage-paths/classroom-use.html)** - Complete NBGrader workflow
- **[Student Progress Tracking](#student-progress)** - Monitor achievements
- **[Assessment Resources](#instructor-resources)** - Grading and feedback tools
---
## 📱 Essential Commands
### **Daily Learning Workflow**
```bash
# Check your progress
tito checkpoint status
# Work on current module
cd modules/source/0X_module_name
jupyter lab module_name_dev.py
# Complete module when done
tito module complete 0X_module_name
# Celebrate achievement
tito checkpoint test XX
```
### **Getting Help**
```bash
# Interactive guidance
tito help --interactive
# Quick reference
tito help --quick
# Specific help topics
tito help getting-started
tito help workflow
tito help troubleshooting
```
### **Community Engagement**
```bash
# Join the global community
tito leaderboard join
# Submit your progress
tito leaderboard submit
# See your ranking
tito leaderboard status
# Compete in Olympics
tito olympics register
```
### **System Management**
```bash
# Check system health
tito system doctor
# Clean up generated files
tito clean all
# Reset progress (careful!)
tito reset --confirm
```
---
## 📚 Module System
### **Understanding the Structure**
TinyTorch organizes learning into **20 progressive modules**, each building essential ML systems capabilities:
```
modules/source/
├── 01_setup/ 📦 Development environment
├── 02_tensor/ 🔢 N-dimensional arrays + operations
├── 03_activations/ 📈 ReLU, Sigmoid, Softmax
├── 04_layers/ 🧱 Linear layers + parameters
├── 05_losses/ 📉 CrossEntropy, MSE + gradients
├── 06_autograd/ 🔄 Automatic differentiation
├── 07_optimizers/ 📊 SGD, Adam + learning schedules
├── 08_training/ 🎯 Complete training loops
├── 09_spatial/ 🖼️ Conv2d, MaxPool2d + CNNs
├── 10_dataloader/ 📂 Efficient data pipelines
├── 11_tokenization/ 📝 Text processing + vocabularies
├── 12_embeddings/ 🎭 Token + positional embeddings
├── 13_attention/ 👁️ Multi-head attention
├── 14_transformers/ 🤖 Complete transformer blocks
├── 15_profiling/ 🔍 Performance analysis
├── 16_acceleration/ ⚡ Hardware optimization
├── 17_quantization/ 📦 Model compression
├── 18_compression/ 🗜️ Pruning + distillation
├── 19_caching/ 💾 Memory optimization
└── 20_capstone/ 🏆 Complete ML systems
```
### **Module Workflow**
Each module follows the proven **Build → Use → Reflect** pattern:
#### **1. Build Implementation**
```python
# In module_name_dev.py
def your_implementation():
"""Build component from scratch using only NumPy."""
return result
```
#### **2. Use Immediately**
```python
# Test your implementation
from tinytorch.core.module_name import YourComponent
component = YourComponent()
result = component(data)
```
#### **3. Reflect on Systems**
- **Memory Analysis**: How much RAM does this use?
- **Performance Profile**: Where are the bottlenecks?
- **Scaling Behavior**: What breaks with larger inputs?
- **Production Context**: How do real systems handle this?
#### **4. Export and Validate**
```bash
# Export your implementation to the framework
tito module complete 0X_module_name
# Automatically runs checkpoint test
# Celebrates achievement
# Shows next steps
```
---
## ✅ Checkpoint System
### **16 Capability Checkpoints**
The checkpoint system validates your learning through **capability-based assessment**:
```bash
# See all checkpoints
tito checkpoint timeline
# Check current progress
tito checkpoint status
# Test specific capability
tito checkpoint test 05
```
### **Checkpoint Progression**
| Checkpoint | Capability Question | Prerequisites |
|------------|-------------------|---------------|
| 00 | Can I configure my development environment? | Setup complete |
| 01 | Can I create and manipulate ML building blocks? | Module 02 |
| 02 | Can I add nonlinearity for intelligence? | Module 03 |
| 03 | Can I build neural network components? | Module 04 |
| 04 | Can I build complete multi-layer networks? | Module 05 |
| 05 | Can I process spatial data with convolutions? | Module 09 |
| 06 | Can I build attention mechanisms? | Module 13 |
| 07 | Can I stabilize training with normalization? | Module 08 |
| 08 | Can I compute gradients automatically? | Module 06 |
| 09 | Can I optimize with sophisticated algorithms? | Module 07 |
| 10 | Can I build complete training loops? | Module 08 |
| 11 | Can I prevent overfitting? | Module 11 |
| 12 | Can I implement high-performance kernels? | Module 16 |
| 13 | Can I analyze and optimize performance? | Module 15 |
| 14 | Can I deploy ML systems in production? | Module 20 |
| 15 | Can I build complete end-to-end systems? | Capstone |
### **Checkpoint Achievement Flow**
```bash
# Automatic flow when completing modules
tito module complete 02_tensor
# ↓ Automatically triggers
# ↓ Export to tinytorch package
# ↓ Run checkpoint_01_foundation test
# ↓ Show achievement celebration
# ↓ Display next steps
```
---
## 🌍 Community Features
### **Global Learning Community**
Join thousands of learners worldwide building ML systems:
```bash
# Join the community
tito leaderboard join
# Submit your progress
tito leaderboard submit
# See global rankings
tito leaderboard view
```
### **Leaderboard Categories**
**🏃‍♂️ Progress Leaderboard**
- **Checkpoint completion**: How many capabilities achieved?
- **Module completion**: Which modules finished?
- **Achievement dates**: When did you reach milestones?
**🏆 Performance Olympics**
- **Speed competitions**: Fastest training times
- **Memory challenges**: Most memory-efficient implementations
- **Accuracy contests**: Highest model performance
- **Innovation showcases**: Novel optimization techniques
### **Community Interaction**
```bash
# See your community profile
tito leaderboard profile
# View achievement feed
tito leaderboard feed
# Join competitions
tito olympics register --event cnn_marathon
# Share achievements
tito leaderboard share --milestone "First neural network!"
```
### **Privacy and Inclusion**
- **Pseudonymous participation**: Choose your display name
- **Inclusive categories**: Multiple ways to excel and contribute
- **Supportive community**: Celebration of all learning achievements
- **Privacy controls**: Share what you're comfortable sharing
---
## 🎓 Instructor Resources
### **Classroom Setup**
Complete NBGrader integration for seamless course management:
```bash
# Initial instructor setup
tito nbgrader setup-instructor
tito grade setup-course
# Student workspace preparation
tito nbgrader create-student-repos
```
### **Student Progress Tracking**
```bash
# Class overview
tito grade class-overview
# Individual student progress
tito grade student-progress <student_name>
# Checkpoint completion rates
tito checkpoint class-stats
```
### **Assignment Management**
```bash
# Release new module
tito nbgrader release 05_losses
# Collect submissions
tito nbgrader collect 05_losses
# Auto-grade submissions
tito nbgrader autograde 05_losses
# Manual grading interface
tito nbgrader formgrade 05_losses
```
### **Course Customization**
**Semester Planning:**
- **8-week intensive**: Modules 1-12 (foundations + one specialization)
- **16-week comprehensive**: All 20 modules with optimization
- **4-week bootcamp**: Modules 1-8 (neural network foundations)
**Difficulty Adjustment:**
- **Beginner**: Extended explanations and scaffolding
- **Advanced**: Additional optimization challenges
- **Research**: Custom project integration
---
## 🔧 Troubleshooting Guide
### **Common Issues and Solutions**
#### **Installation Problems**
**Issue**: `tito: command not found`
```bash
# Solution: Ensure virtual environment is activated
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e .
```
**Issue**: Import errors in modules
```bash
# Solution: Check system health
tito system doctor
# Fix common issues
pip install -r requirements.txt --force-reinstall
```
#### **Module Development Issues**
**Issue**: Notebook won't open
```bash
# Solution: Check Jupyter installation
pip install jupyter jupyterlab
jupyter lab --version
```
**Issue**: Tests failing after implementation
```bash
# Solution: Debug with verbose output
tito checkpoint test 03 --verbose
# Check implementation against expected interface
python modules/source/03_activations/activations_dev.py
```
#### **Export and Integration Issues**
**Issue**: `tito module complete` fails
```bash
# Solution: Check module structure
tito module validate 05_losses
# Fix export directives
# Ensure #| default_exp tinytorch.core.losses at top of file
```
**Issue**: Checkpoint tests fail after export
```bash
# Solution: Check package imports
python -c "from tinytorch.core.losses import CrossEntropyLoss; print('Success')"
# Reinstall in development mode
pip install -e . --force-reinstall
```
### **Getting More Help**
1. **Interactive CLI Help**: `tito help --interactive`
2. **System Diagnostics**: `tito system doctor`
3. **Community Support**: Join the leaderboard for peer help
4. **Documentation**: Check module README files
5. **Instructor Support**: Contact course staff through established channels
---
## 📊 Frequently Asked Questions
### **Learning Questions**
**Q: How long does it take to complete TinyTorch?**
A: Depends on your goals:
- **Quick exploration**: 15 minutes - 2 hours
- **Weekend project**: Build neural networks (8-12 hours)
- **Complete journey**: 8-12 weeks for full framework
- **Instructor preparation**: 2-3 weeks for course setup
**Q: Do I need ML experience to start?**
A: No! TinyTorch teaches ML systems from fundamentals. You need:
- Basic Python programming (functions, classes)
- High school math (matrix multiplication)
- Curiosity about how things work internally
**Q: How is this different from PyTorch tutorials?**
A: PyTorch teaches you to USE frameworks. TinyTorch teaches you to BUILD them:
- **PyTorch**: `torch.nn.Linear(784, 128)` (black box)
- **TinyTorch**: You implement every line of Linear layer
- **Result**: Deep understanding of how frameworks actually work
### **Technical Questions**
**Q: What's the difference between modules and checkpoints?**
A:
- **Modules**: 20 hands-on coding sessions where you build components
- **Checkpoints**: 16 capability tests that validate your learning
- **Relationship**: Modules provide code, checkpoints verify understanding
**Q: Can I skip modules or do them out of order?**
A: No, the progression is carefully designed:
- Each module builds on previous ones
- Checkpoints verify prerequisites
- Skipping breaks the learning flow and later modules won't work
**Q: What if I get stuck on a module?**
A: Multiple support options:
- `tito help troubleshooting` for common issues
- `tito system doctor` for technical problems
- Community leaderboard for peer support
- Module README files for detailed guidance
### **Community Questions**
**Q: Is the leaderboard competitive or collaborative?**
A: Both! We celebrate all achievements:
- **Multiple categories**: Progress, speed, memory efficiency, innovation
- **Inclusive design**: Many ways to excel and contribute
- **Supportive community**: Everyone's learning journey matters
- **Privacy controls**: Share only what you're comfortable sharing
**Q: Can I participate without sharing my progress publicly?**
A: Yes! Leaderboard participation is optional:
- All learning features work independently
- Checkpoint system tracks your progress locally
- You can join community later if you change your mind
### **Instructor Questions**
**Q: How much setup is required for classroom use?**
A: Minimal - TinyTorch includes complete teaching infrastructure:
- NBGrader integration works out-of-the-box
- Student repositories auto-generated
- Progress tracking built-in
- Grading workflow automated
**Q: Can I customize the curriculum for my class?**
A: Absolutely:
- **Flexible duration**: 4-16 weeks depending on depth
- **Difficulty adjustment**: Extra scaffolding or advanced challenges
- **Custom projects**: Integration with existing coursework
- **Modular design**: Focus on specific topics as needed
---
## 🚀 Next Steps
### **Ready to Start?**
Choose your path and begin your ML systems engineering journey:
🔬 **[Explorer (15 minutes)](#explorer-path)**: Quick taste with `tito demo quick`
🎯 **[Builder (Weekend)](#builder-path)**: Build neural networks from scratch
🚀 **[Engineer (8-12 weeks)](#engineer-path)**: Complete framework development
🎓 **[Instructor](#instructor-path)**: Teach TinyTorch to your students
### **Essential First Commands**
```bash
# System check
tito system doctor
# Interactive guidance
tito help --interactive
# See the journey ahead
tito checkpoint timeline
# Start building
cd modules/source/01_setup
jupyter lab setup_dev.py
```
### **Join the Community**
```bash
# Connect with learners worldwide
tito leaderboard join
# Share your progress
tito leaderboard submit
# Compete and learn
tito olympics explore
```
---
**You're about to build everything from tensors to transformers. Let's start your journey! 🚀**
@@ -0,0 +1,103 @@
# Book Directory Cleanup Summary
Date: November 7, 2025
Branch: website-content-improvements
## Files Deleted (Duplicates)
### 1. user-manual.md (17K)
- **Reason**: Complete duplicate of quickstart-guide.md
- **Status**: quickstart-guide.md is in TOC and actively maintained
### 2. instructor-guide.md (12K)
- **Reason**: Duplicate of usage-paths/classroom-use.md
- **Status**: classroom-use.md is in TOC ("For Instructors")
### 3. leaderboard.md (6.2K)
- **Reason**: Old "TinyTorch Olympics" content
- **Status**: Superseded by community.md and Module 20 (MLPerf® Edu Competition)
**Total Deleted**: ~35KB of duplicate content
## Files Archived (Development/Reference)
Moved to: `docs/archive/book-development/`
### Development Files:
- THEME_DESIGN.md (4.5K) - Design documentation
- convert_modules.py (17K) - Build script
- convert_readmes.py (11K) - Build script
- verify_build.py (3.2K) - Build script
### Documentation (Not in TOC):
- faq.md (18K) - FAQ content (may add to TOC later)
- kiss-principle.md (6.7K) - Design philosophy
- vision.md (7.3K) - Project vision document
### Unused Usage Paths:
- quick-exploration.md (2.7K) - Alternative usage path
- serious-development.md (6.6K) - Alternative usage path
- **Note**: Only classroom-use.md is in active TOC
**Total Archived**: ~77KB of reference content
## Images Archived
Moved to: `book/_static/archive/`
- Gemini_Generated_Image_1as0881as0881as0.png
- Gemini_Generated_Image_b34tigb34tigb34t.png
- Gemini_Generated_Image_b34tiib34tiib34t.png
**Reason**: AI-generated images not used in current site
## Files Remaining in book/ (All Active)
### Root Level (In TOC):
- intro.md (12K) - Homepage
- quickstart-guide.md (8.4K) - Getting Started
- tito-essentials.md (8.9K) - CLI reference
- learning-progress.md (6.4K) - Progress tracking
- checkpoint-system.md (11K) - Checkpoint system
- testing-framework.md (13K) - Testing guide
- resources.md (5.4K) - Additional resources
- community.md (1.5K) - Community page
### Subdirectories:
- chapters/ (21 files) - All 20 modules + introduction
- chapters/milestones.md - Referenced in intro
- appendices/api-reference.md - API documentation
- usage-paths/classroom-use.md - Instructor guide (in TOC)
### Assets:
- logo-tinytorch-*.png (3 files) - Active logos
- tensortorch.png - Project image
- _static/ - CSS, JS, favicon
## Result
**Before Cleanup**: 39 markdown files in book/
**After Cleanup**: 29 markdown files (26% reduction)
**Benefits**:
- ✅ No duplicate content
- ✅ Clear separation of active vs archived content
- ✅ Easier maintenance
- ✅ Cleaner repository structure
- ✅ All active files are in TOC or properly referenced
## Files to Consider Adding to TOC
If we want to surface this content:
- appendices/api-reference.md - Could add to Resources section
- chapters/milestones.md - Already referenced, could add to TOC
- docs/archive/book-development/faq.md - Could add if FAQ is needed
## Notes
All archived files are preserved and can be:
1. Restored if needed
2. Referenced in documentation
3. Updated and added to TOC later
4. Used as reference for future content