Commit Graph

36 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
97e0563614 Add community and benchmark features with baseline validation
- Implement tito benchmark baseline and capstone commands
- Add SPEC-style normalization for baseline benchmarks
- Implement tito community join, update, leave, stats, profile commands
- Use project-local storage (.tinytorch/) for user data
- Add privacy-by-design with explicit consent prompts
- Update site documentation for community and benchmark features
- Add Marimo integration for online notebooks
- Clean up redundant milestone setup exploration docs
- Finalize baseline design: fast setup validation (~1 second) with normalized results
2025-11-20 00:17:21 -05:00
Vijay Janapa Reddi
f3445edcbb Improve mobile responsiveness for comparison grid
Add CSS class to comparison grid and mobile-specific styling
to stack grid columns vertically on small screens for better UX.
2025-11-17 23:41:43 -05:00
Vijay Janapa Reddi
a13b4f7244 Improve SIGCSE paper with reviewer feedback and clean up repository
Paper improvements:
- Add differentiated time estimates (60-80h experienced, 100-120h typical, 140-180h struggling)
- Moderate cognitive load claims with hedging language and empirical validation notes
- Add ML Systems Research subsection with citations (Baydin AD survey, Chen gradient checkpointing, TVM, FlashAttention)
- Add comprehensive Threats to Validity section (selection bias, single institution, demand characteristics, no control group, maturation, assessment validity)
- Define jargon (monkey-patching) at first use with clear explanation

Documentation updates:
- Restructure TITO CLI docs into dedicated section (overview, modules, milestones, data, troubleshooting)
- Update student workflow guide and quickstart guide
- Remove deprecated files (testing-framework.md, tito-essentials.md)
- Update module template and testing architecture docs

Repository cleanup:
- Remove temporary review files (ADDITIONAL_REVIEWS.md, EDTECH_OPENSOURCE_REVIEWS.md, TA_STRUGGLING_STUDENT_REVIEWS.md, etc.)
- Remove temporary development planning docs
- Update demo GIFs and configurations
2025-11-16 23:46:38 -05:00
Vijay Janapa Reddi
1dda0e3bb9 Enhance intro page carousel with mobile responsiveness and sidebar textbook link
- Remove carousel text labels, rely on larger terminal frame titles (20px bold)
- Fix navigation arrow positioning: moved to top: 405px with z-index: 100
- Reduce carousel height from 500px to 450px for better spacing
- Add clickable sidebar link to mlsysbook.ai via JavaScript
- Fix quickstart button link to use .html extension
- Add mobile responsive CSS for logo, headings, and carousel
- Update Terminalizer configs with larger frame title font
- Add textbook link with hover effects in intro page
2025-11-16 23:45:39 -05:00
Vijay Janapa Reddi
cd5eeb1782 Fix carousel arrows overlapping GIF - move outside carousel-track
Changes to HTML:
- Move carousel-nav outside carousel-track container
- Navigation now appears as separate element below the carousel

Changes to CSS:
- Remove absolute positioning (no longer needed)
- Use simple flexbox layout with margin-top: 1rem
- Remove bottom/left/right positioning properties

This fixes the overlap issue where arrows were positioned at the bottom
of the carousel-track, overlapping the GIF content. Arrows now appear
cleanly below the entire carousel as a separate row.
2025-11-16 23:09:03 -05:00
Vijay Janapa Reddi
144b734f68 Position carousel arrows at vertical center following standard conventions
Changes to CSS:
- Position carousel-nav absolutely at top:50% with translateY(-50%)
- Use space-between to place arrows on left/right edges
- Increase arrow size to 44px for better visibility
- Add semi-transparent background: rgba(226, 232, 240, 0.95)
- Enhance shadow for better visibility over content
- Use pointer-events:none on container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper positioning
- Remove carousel-indicators div (not using dot indicators)
- Simplify to just prev/next arrow buttons

This follows standard carousel UX conventions where navigation arrows
appear at the vertical center of the content, positioned on the left/right
edges. Arrows are now centered on the heading text ("Clone & Setup" etc.)
rather than below it, making them more visible and easier to use.
2025-11-16 23:02:23 -05:00
Vijay Janapa Reddi
eacf407d36 Remove redundant carousel description text
Removed the <p> description lines from all carousel items:
- "git clone → ./setup → tito system doctor"
- "tito module start 01 → Code → Test inline"
- "tito module complete → Your code becomes tinytorch/"
- "tito milestone run 03 → 1986 MLP uses YOUR code"

Now carousel shows only clean headings (Clone & Setup, Build in Jupyter, etc.)
below each GIF. The workflow details are already visible in the GIF animations,
making the text descriptions redundant.
2025-11-16 23:01:17 -05:00
Vijay Janapa Reddi
b37f10fa03 Move carousel navigation arrows below carousel content
Changes to CSS:
- Remove absolute positioning from .carousel-nav
- Use flexbox centered layout with 2rem gap between arrows
- Reduce arrow size back to 36px (from 40px)
- Add margin-top: 1.5rem for spacing from carousel text

Changes to HTML:
- Move carousel-nav outside carousel-track
- Navigation now appears below carousel text instead of overlaid on GIF

This fixes overlap issues - arrows are now cleanly positioned
below the carousel text labels, not on top of the GIF terminal window.
2025-11-16 22:58:12 -05:00
Vijay Janapa Reddi
9016780862 Fix carousel navigation arrow overlap with heading text
Changes to CSS:
- Position carousel-nav absolutely at top:40% of carousel-track
- Move arrows to sides (space-between) instead of center bottom
- Increase arrow size to 40px for better visibility
- Add box-shadow to arrows for depth
- Use pointer-events:none on nav container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper absolute positioning

This fixes the overlap where left/right navigation arrows were appearing
on top of the carousel heading text ("Build in Jupyter" etc).
Arrows now appear on the left/right sides of the GIF at the vertical center.
2025-11-16 22:53:15 -05:00
Vijay Janapa Reddi
c8826b0e4c Add animated carousel demos with Terminalizer
- Add 4 workflow demo GIFs (Clone & Setup, Build in Jupyter, Export with TITO, Validate with History)
- Create Terminalizer YAML configs for reproducible renders (120x30, vibrant color themes)
- Add render-all.sh script for batch GIF generation
- Update carousel CSS for proper GIF display with emoji fallbacks
- Update intro.md carousel to reference GIFs
- Add comprehensive README with setup instructions

All configs use consistent styling:
- Dimensions: 120 columns × 30 rows (wider format)
- Theme: Vibrant colors with good contrast
- Font: Monaco 12px monospace
- Quality: 100% for crisp output
2025-11-16 18:20:12 -05:00
Vijay Janapa Reddi
a2b106e305 Fix static assets deployment: add missing JS files to conf.py and ensure .nojekyll is copied to build output 2025-11-15 12:00:59 -05:00
Vijay Janapa Reddi
d149446fcd Simplify pip install indicator to inline coming soon text
- Remove separate badge, add inline (coming soon) text
- Cleaner design that works with existing under construction banner
2025-11-14 18:33:47 -05:00
Vijay Janapa Reddi
39c13ed34e Add Work in Progress indicator for pip install
- Add alpha release badge above pip install command on intro page
- Update README status badge to reflect alpha status
- Clarify that package is in active development
2025-11-14 18:31:26 -05:00
Vijay Janapa Reddi
75d1f163e5 Update site content and documentation
- Refactor resources.md to focus on ML Systems textbook as primary companion
- Remove Academic Foundation section from credits.md (moved to resources)
- Update quickstart guide, FAQ, and student workflow documentation
- Improve classroom use documentation with updated guidance
2025-11-14 18:27:22 -05:00
Vijay Janapa Reddi
4bb0190144 Update build scripts and site configuration
- Update PDF build scripts for site directory structure
- Update Jupyter Book configuration files
- Update site README with current build instructions
2025-11-14 18:27:20 -05:00
Vijay Janapa Reddi
d3cfe9299b Enhance intro page with interactive hero carousel and ML timeline
- Add hero carousel component with auto-advance and keyboard navigation
- Add interactive ML history timeline with milestone popups
- Add comprehensive CSS styling for carousel and timeline components
- Update intro page content with tier-based structure and improved messaging
- Add install command display and enhanced visual design
2025-11-14 18:27:17 -05:00
Vijay Janapa Reddi
01ca6a4544 Update site navigation to include tier overview pages
- Add tier overview pages to each tier section in navigation
- Reorder resources section to place Learning Resources before Credits
- Improve navigation structure for better tier-based learning flow
2025-11-14 18:27:15 -05:00
Vijay Janapa Reddi
057000b4c1 Add tier overview pages for Foundation, Architecture, Optimization, and Capstone
- Add foundation.md: Overview of Foundation Tier (modules 01-07)
- Add architecture.md: Overview of Architecture Tier (modules 08-13)
- Add optimization.md: Overview of Optimization Tier (modules 14-19)
- Add olympics.md: Overview of Capstone Competition (module 20)

These pages provide comprehensive tier-level context and learning objectives
2025-11-14 18:27:13 -05:00
Vijay Janapa Reddi
7a27b7a518 Update site branding and add documentation comments
- Update site title to Tiny🔥Torch branding
- Add emojis to tier captions for visual consistency
- Update intro page heading and description
- Add comprehensive comments explaining branding and UI changes
2025-11-13 17:50:52 -05:00
Vijay Janapa Reddi
d941c6822a Update site intro: refine title and quickstart link 2025-11-13 11:47:39 -05:00
Vijay Janapa Reddi
b9f142b2d8 Update site documentation and development guides
- Improve site navigation and content structure
- Update development testing documentation
- Enhance site styling and visual consistency
- Update release notes and milestone templates
- Improve site rebuild script functionality
2025-11-13 10:42:51 -05:00
Vijay Janapa Reddi
57111ea139 Fix failing module tests
- Fix 14_profiling: Replace Tensor with Linear model in test_module, fix profile_forward_pass calls
- Fix 15_quantization: Increase error tolerance for INT8 quantization test, add export marker for QuantizedLinear
- Fix 19_benchmarking: Return Tensor objects from RealisticModel.parameters(), handle memoryview in pred_array.flatten()
- Fix 20_capstone: Make imports optional (MixedPrecisionTrainer, QuantizedLinear, compression functions)
- Fix 20_competition: Create Flatten class since it doesn't exist in spatial module
- Fix 16_compression: Add export markers for magnitude_prune and structured_prune

All modules now pass their inline tests.
2025-11-12 14:19:33 -05:00
Vijay Janapa Reddi
842a76d3e1 Standardize emoji usage across all site pages for professional consistency
- Removed emojis from all section headers (## and ###)
- Reduced emojis in body text and callout boxes
- Standardized link references (removed emoji prefixes)
- Maintained professional tone while keeping content accessible
- Updated quickstart-guide, student-workflow, tito-essentials, faq, datasets, community, resources, testing-framework, learning-progress, checkpoint-system, and all chapter files
2025-11-12 11:42:03 -05:00
Vijay Janapa Reddi
22e9e5d138 Restructure site navigation: modules-first, separate capstone, streamline sections
- Reorganized navigation to prioritize modules (Foundation/Architecture/Optimization tiers)
- Separated Capstone Competition from Optimization tier
- Removed Visual Learning Map from Course Orientation (broken mermaid diagrams)
- Streamlined Using TinyTorch section
- Redesigned landing page for professional, student-focused experience
- Reduced emojis in navigation captions
- Fixed build error by excluding modules directory patterns
- Created symlinks for all module ABOUT files in site/modules/
2025-11-12 11:39:57 -05:00
Vijay Janapa Reddi
19d45605ee Fix Optimization Tier range in TOC: 14-19 → 14-20 2025-11-12 10:31:20 -05:00
Vijay Janapa Reddi
25df5b0e96 Simplify and condense site documentation content 2025-11-11 22:23:21 -05:00
Vijay Janapa Reddi
7fd544962d Add visual learning journey with Mermaid diagrams and integrate new pages
## New Documentation Pages Integrated into Site Navigation

**site/learning-journey-visual.md** - 10 interactive Mermaid diagrams:
1. Complete Learning Flow - Full flowchart through all 20 modules & 6 milestones
2. Module Dependencies - Shows how modules depend on each other
3. Three-Tier Timeline - Visual progression through Foundation/Architecture/Optimization
4. Historical Milestones - Gantt chart showing ML history recreation (1957→2024)
5. Student Learning Paths - Decision tree for different learning approaches
6. Capability Progression - Skill levels unlocked at each tier
7. Workflow Cycle - The edit → export → validate loop
8. Dataset Strategy - When to use shipped vs downloaded datasets
9. Time vs Outcomes Quadrant - Comparing learning path investments
10. Difficulty Curve - Line chart showing module difficulty progression

## Site Navigation Updates (_toc.yml)

**Added to "Using TinyTorch" section:**
- Student Workflow (student-workflow.md) - Essential edit → export → validate cycle
- Datasets Guide (datasets.md) - Complete dataset documentation

**Added to "Course Orientation" section:**
- Visual Learning Map (learning-journey-visual.md) - NEW Mermaid diagram showcase
- FAQ (faq.md) - Comprehensive answers to common questions

## Mermaid Integration

- Mermaid already configured in _config.yml (v10.6.1)
- All diagrams use color coding:
  - Blue: Foundation modules
  - Orange: Critical modules (Autograd, Training)
  - Purple: Advanced architecture modules
  - Green: Milestone achievements
  - Yellow: North Star milestone (CIFAR-10)
  - Red: Capstone

## Benefits

**Visual learners**: Diagrams show the complete learning journey at a glance
**Navigation**: All new pages now appear in site sidebar
**Discoverability**: FAQ answers "Why TinyTorch vs alternatives"
**Dataset clarity**: Students understand shipped vs downloaded data strategy
**Journey visualization**: See the path from tensors to transformers [Claude Code](https://claude.com/claude-code)
2025-11-11 22:13:31 -05:00
Vijay Janapa Reddi
2af17bf858 Prepare TinyTorch for December 2024 community release
## Documentation Consistency
- Fix module count: All docs now correctly show 20 modules (01-20)
- Update Optimization Tier: Modules 14-20 (added 19 Benchmarking, 20 Competition)
- Correct tier descriptions across student-workflow, learning-progress, classroom-use

## New Documentation
- **FAQ (site/faq.md)**: Comprehensive FAQ addressing:
  - Why TinyTorch vs PyTorch/TensorFlow direct usage
  - Why TinyTorch vs micrograd/nanoGPT
  - Who should use TinyTorch
  - Course structure and flexibility
  - Practical getting started questions

- **Datasets (site/datasets.md)**: Complete dataset documentation:
  - Ship-with-repo datasets (TinyDigits 310KB, TinyTalks 40KB)
  - Downloaded datasets (MNIST 10MB, CIFAR-10 170MB)
  - Design philosophy and rationale
  - Usage instructions per milestone

- **Release Checklist (DECEMBER_2024_RELEASE.md)**:
  - Comprehensive pre-launch checklist
  - Documentation, technical, community preparation tasks
  - Version recommendation: v0.9.0
  - Success metrics and launch timeline

## Module Count Corrections
- learning-progress.md: 18→20 modules, added Benchmarking & Competition to table
- student-workflow.md: 18→20 modules, updated Optimization tier description
- classroom-use.md: 18→20 modules in feature list

## Version Recommendation
Proposed **v0.9.0** for December 2024 release:
- Signals feature-complete for individual learners
- Reserves v1.0 for classroom integration (Spring 2025)
- Allows v0.9.x patches for post-launch refinements [Claude Code](https://claude.com/claude-code)
2025-11-11 22:04:36 -05:00
Vijay Janapa Reddi
b03e954c0c Complete Phase 2 and 3 workflow documentation updates
Updated remaining documentation to clarify the actual TinyTorch workflow and mark optional/future features appropriately.

**Phase 2 (Important files):**
- **learning-progress.md**: Added workflow context at top, clear modules vs checkpoints vs milestones explanation, module progression tables by tier, marked checkpoints as optional
- **checkpoint-system.md**: Added prominent "Optional Progress Tracking" banner at top, clarified this is not required for core workflow

**Phase 3 (Supporting files):**
- **classroom-use.md**: Added "Coming Soon" banner for NBGrader integration, clarified current status vs planned features, updated to reflect 18 modules (not 20)

Key clarifications across all files:
- Core workflow: Edit modules → `tito module complete N` → Run milestone scripts
- Checkpoints are optional capability tracking (helpful for self-assessment)
- Instructor features marked as "coming soon" / "under development"
- All pages reference canonical student-workflow.md

Completes the workflow documentation audit identified by website-manager.
2025-11-11 21:49:37 -05:00
Vijay Janapa Reddi
30f9faf618 Add canonical student workflow documentation
Created new student-workflow.md as the single source of truth for the TinyTorch development cycle. Updated quickstart-guide.md, tito-essentials.md, and intro.md to emphasize the simple workflow and reference the canonical guide.

Key changes:
- **New file**: site/student-workflow.md - Complete workflow guide
- **quickstart-guide.md**: Added workflow context and step-by-step examples
- **tito-essentials.md**: Simplified to focus on essential commands, marked checkpoint system as optional
- **intro.md**: Added workflow section early, simplified getting started, marked instructor features as "coming soon"

The actual workflow:
1. Edit modules in modules/source/
2. Export with `tito module complete N`
3. Validate by running milestone scripts

Checkpoint system and instructor features are documented as optional/coming soon, not primary workflow.
2025-11-11 21:31:38 -05:00
Vijay Janapa Reddi
2a496b28fe Remove emoji prefixes from markdown headers in milestones and site chapters 2025-11-11 21:17:22 -05:00
Vijay Janapa Reddi
aeb6638975 Update milestones.md to reflect standardized milestone structure
Aligned website milestone documentation with the comprehensive README files:

1. Updated milestone naming consistency:
   - M06: '2024 Systems Age' → '2018 MLPerf' (historically accurate)
   - Updated Acts table to reflect correct module ranges

2. Fixed all script paths to match new naming convention:
   - M01: perceptron_trained.py → 01_rosenblatt_forward.py + 02_rosenblatt_trained.py
   - M02: xor_crisis folder → xor folder, updated script names
   - M05: vaswani_shakespeare.py → 01_vaswani_generation.py + 02_vaswani_dialogue.py
   - M06: optimize_models.py → 01_baseline_profile.py + 02_compression.py + 03_generation_opts.py

3. Enhanced M06 (MLPerf) section:
   - Added historical context (2018 MLCommons establishment)
   - Explained systematic optimization methodology
   - Included quantitative results (8-16× compression, 12-40× speedup)
   - Shows 3-script progressive optimization workflow

4. Maintained excellent 'Two Dimensions' framing:
   - Pedagogical Acts (WHY you're learning)
   - Historical Milestones (WHAT you can build)
   - Connection table showing how they relate

Documentation hierarchy: Milestone READMEs are canonical source,
website milestones.md provides overview + navigation.
2025-11-11 18:31:04 -05:00
Vijay Janapa Reddi
946c1599f1 Add pedagogical narrative: The Learning Journey
Created comprehensive six-act narrative explaining module progression:
- Act I: Foundation (01-04) - Building atomic components
- Act II: Learning (05-07) - The gradient revolution
- Act III: Data & Scale (08-09) - Real-world complexity
- Act IV: Language (10-13) - Sequential intelligence
- Act V: Production (14-19) - Optimization & deployment
- Act VI: Integration (20) - Complete AI systems

Changes:
1. Created site/chapters/learning-journey.md
   - Complete pedagogical narrative (6 acts, ~500 lines)
   - Explains WHY modules flow this way
   - Shows HOW each act builds on previous
   - Connects to milestones and tier structure
   - Student guidance for using the narrative

2. Updated site/intro.md (landing page)
   - Added "Understanding Your Complete Learning Journey" section
   - Three-card navigation: Tiers + Acts + Milestones
   - Guides students to three complementary views

3. Updated site/chapters/milestones.md
   - Added "Two Dimensions of Your Progress" section
   - Shows pedagogical (acts) vs historical (milestones) dimensions
   - Mapping table connecting acts to unlocked milestones

4. Updated site/chapters/00-introduction.md
   - Added cross-reference to learning-journey.md
   - Links pedagogical narrative to tier structure

5. Updated site/_toc.yml
   - Added learning-journey.md to Course Orientation section
   - Reorganized: Structure → Journey → Milestones

Rationale:
Website had WHAT (tiers), WHEN (milestones), WHERE (progress),
but lacked WHY (pedagogical progression) and HOW (learning story).
Learning journey fills this gap - explains module flow from atoms
to intelligence through narrative arc.

Uses both "tiers" (structure) and "acts" (narrative) complementarily.(https://claude.com/claude-code)
2025-11-11 18:22:35 -05:00
Vijay Janapa Reddi
eab6fb2be4 Standardize milestone naming with numbered sequence and historical anchors
Applied consistent naming pattern: 0X_[figure]_[task].py

M01 (1957 Perceptron):
- forward_pass.py → 01_rosenblatt_forward.py
- perceptron_trained.py → 02_rosenblatt_trained.py

M02 (1969 XOR):
- xor_crisis.py → 01_xor_crisis.py
- xor_solved.py → 02_xor_solved.py

M03 (1986 MLP):
- mlp_digits.py → 01_rumelhart_tinydigits.py
- mlp_mnist.py → 02_rumelhart_mnist.py

M04 (1998 CNN):
- cnn_digits.py → 01_lecun_tinydigits.py
- lecun_cifar10.py → 02_lecun_cifar10.py

M05 (2017 Transformer):
- vaswani_chatgpt.py → 01_vaswani_generation.py
- vaswani_copilot.py → 02_vaswani_dialogue.py
- profile_kv_cache.py → 03_vaswani_profile.py

Benefits:
- Clear execution order (01, 02, 03)
- Historical context (rosenblatt, lecun, vaswani)
- Descriptive purpose (generation, dialogue, profile)
- Consistent structure across all milestones

Updated documentation:
- README.md: Updated all milestone examples
- site/chapters/milestones.md: Updated bash commands
2025-11-11 12:20:36 -05:00
Vijay Janapa Reddi
e298709094 Add jupyter-book to site/requirements.txt
- Added jupyter-book>=0.15.0,<1.0.0 dependency for documentation builds
- This dependency is referenced by GitHub Actions workflows
- Required for both HTML and PDF book generation
2025-11-11 11:56:25 -05:00
Vijay Janapa Reddi
a2e4586f18 Update documentation after module reordering
All module references updated to reflect new ordering:
- Module 15: Quantization (was 16)
- Module 16: Compression (was 17)
- Module 17: Memoization (was 15)

Updated by module-developer and website-manager agents:
- Module ABOUT files with correct numbers and prerequisites
- Cross-references and "What's Next" chains
- Website navigation (_toc.yml) and content
- Learning path progression in LEARNING_PATH.md
- Profile milestone completion message (Module 17)

Pedagogical flow now: Profile → Quantize → Prune → Cache → Accelerate
2025-11-10 19:37:41 -05:00