Files
TinyTorch/site
Vijay Janapa Reddi 56d8feb2ba 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
..
2025-11-14 18:27:22 -05:00

TinyTorch Course Book

This directory contains the TinyTorch course content built with Jupyter Book.

🌐 View Online

Live website: https://mlsysbook.github.io/TinyTorch/

📚 Build Options

Option 1: HTML (Default Website)

cd site
jupyter-book build .

Output: _build/html/index.html

No LaTeX installation required!

cd site
make install-pdf    # Install dependencies
make pdf-simple     # Build PDF

Output: _build/tinytorch-course.pdf

Option 3: PDF (LaTeX Method - Professional Quality)

Requires LaTeX installation (texlive, mactex, etc.)

cd site
make pdf

Output: _build/latex/tinytorch-course.pdf

🚀 Quick Commands

Using the Makefile (recommended):

make html        # Build website
make pdf-simple  # Build PDF (no LaTeX needed)
make pdf         # Build PDF via LaTeX
make clean       # Remove build artifacts
make install     # Install dependencies
make install-pdf # Install PDF dependencies

Using scripts directly:

./build_pdf_simple.sh  # PDF without LaTeX
./build_pdf.sh         # PDF with LaTeX

📖 Detailed Documentation

See PDF_BUILD_GUIDE.md for:

  • Complete setup instructions
  • Troubleshooting guide
  • Configuration options
  • Build performance details

🏗️ Structure

site/
├── _config.yml              # Jupyter Book configuration
├── _toc.yml                 # Table of contents
├── chapters/                # Course chapters (01-20)
├── _static/                 # Images, CSS, JavaScript
├── intro.md                 # Book introduction
├── quickstart-guide.md      # Quick start for students
├── tito-essentials.md       # CLI reference
└── ...                      # Additional course pages

🎯 Content Overview

📚 20 Technical Chapters

Foundation Tier (01-07):

  • Tensor operations, activations, layers, losses, autograd, optimizers, training

Architecture Tier (08-13):

  • DataLoader, convolutional networks (CNNs), tokenization, embeddings, attention, transformers

Optimization Tier (14-19):

  • Profiling, memoization (KV caching), quantization, compression, acceleration, benchmarking

Capstone (20):

  • Torch Olympics Competition project

🔧 Development

Local Development Server

jupyter-book build . --path-output ./_build-dev
python -m http.server 8000 -d _build-dev/html

Visit: http://localhost:8000

Auto-rebuild on Changes

pip install sphinx-autobuild
sphinx-autobuild site site/_build/html

🤝 Contributing

To contribute to the course content:

  1. Edit chapter files in chapters/
  2. Test your changes: jupyter-book build .
  3. Preview in browser: Open _build/html/index.html
  4. Submit PR with your improvements

📦 Dependencies

Core dependencies are in requirements.txt:

  • jupyter-book
  • numpy, matplotlib
  • sphinxcontrib-mermaid
  • rich (for CLI output)

PDF dependencies (optional):

  • pyppeteer (HTML-to-PDF, no LaTeX)
  • LaTeX distribution (for pdflatex method)

🎓 For Instructors

Using this book for teaching:

  1. Host locally: Build and serve on your institution's server
  2. Customize content: Modify chapters for your course
  3. Generate PDFs: Distribute offline reading material
  4. Track progress: Use the checkpoint system for assessment

See instructor guide for more details.

📝 License

MIT License - see LICENSE file in repository root

🐛 Issues

Report issues: https://github.com/mlsysbook/TinyTorch/issues


Build ML systems from scratch. Understand how things work.