Files
TinyTorch/modules/setup
Vijay Janapa Reddi 6d8fb078f7 🧹 Clean up setup module - NBDev behind the scenes
- Focused on original purpose: just setting up development environment
- Students don't see NBDev educational features explanations
- Simple workflow: hello world, basic class, export, test, progress
- NBDev #|hide directive works behind scenes for instructor solutions
- Clean and simple, just like the original but with hidden solutions

Back to basics: setup is about setup, not teaching NBDev features
2025-07-10 16:30:23 -04:00
..

Module 0: Setup

Learning Objectives

This module teaches you the TinyTorch development workflow. By the end, you'll be comfortable with:

  • Writing code in Jupyter notebooks using nbdev conventions
  • Exporting notebook code to Python modules
  • Running tests and using the TinyTorch CLI
  • Understanding the development rhythm you'll use for all modules

What You'll Build

A simple "Hello World" system that demonstrates the complete development cycle:

  • Basic utility functions
  • A simple SystemInfo class
  • Tests to verify everything works
  • Experience with the full notebook → export → test workflow

Module Structure

modules/setup/
├── setup_dev.ipynb        # 📓 Main development notebook
├── README.md              # 📖 This guide
└── __init__.py            # 📦 Module marker

Development Workflow

1. Work in the Notebook

cd modules/setup
jupyter lab setup_dev.ipynb

2. Export Your Code

python bin/tito.py sync

3. Test Your Implementation

python bin/tito.py test --module setup

4. Check Your Progress

python bin/tito.py info

Key Concepts

  • nbdev workflow: Write in notebooks, export to Python
  • Export directive: Use #| export to mark code for export
  • Module → Package mapping: This module exports to tinytorch/core/utils.py
  • Teaching vs. Building: Learn by modules, build by function (see VISION.md)
  • Test integration: Tests run automatically via CLI
  • Module development: Each module is self-contained

Success Criteria

All tests pass
Code exports cleanly to tinytorch/core/utils.py
You understand the development rhythm
Ready to tackle the Tensor module


Next Module: Tensor - Core data structures and operations