Commit Graph

300 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
be3f3503a1 Standardize all 14 module READMEs with consistent structure
 Complete standardization of all TinyTorch module READMEs:

📊 **Module Info**: Consistent difficulty, time, prerequisites, next steps
🎯 **Learning Objectives**: Clear, measurable, action-oriented outcomes
🧠 **Pedagogical Framework**: Build → Use → [Context-specific verb]
📚 **What You'll Build**: Concrete code examples and implementations
🚀 **Getting Started**: Prerequisites check + development workflow
🧪 **Testing**: Comprehensive test coverage + inline feedback
🎯 **Key Concepts**: Real-world applications + technical foundations
🎉 **Ready to Build**: Motivational + grid cards for all modules

 All 14 modules now follow identical structure:
- 01_setup: Foundation workflow mastery
- 02_tensor: Core data structures
- 03_activations: Neural network fundamentals
- 04_layers: Building blocks
- 05_networks: Architecture design
- 06_cnn: Computer vision foundations
- 07_dataloader: Data pipeline engineering
- 08_autograd: Automatic differentiation
- 09_optimizers: Learning algorithms
- 10_training: End-to-end orchestration
- 11_compression: Model optimization
- 12_kernels: Performance optimization
- 13_benchmarking: Systematic evaluation
- 14_mlops: Production deployment (capstone)

🎓 **Student Experience**: Predictable navigation, clear expectations, motivational flow
👨‍🏫 **Instructor Experience**: Professional consistency, easy maintenance, coherent course

This establishes the single source of truth that will automatically convert to
clean website chapters via book/convert_readmes.py
2025-07-16 01:44:49 -04:00
Vijay Janapa Reddi
4595617bba PILOT: Implement standardized module README structure (Tensor module)
New Standard Structure Applied:
 📊 Module Info - Consistent difficulty, time, prerequisites
 🎯 Learning Objectives - Clear, measurable outcomes
 🧠 Build → Use → Understand - Pedagogical framework
 📚 What You'll Build - Concrete code examples
 🚀 Getting Started - Prerequisites check + workflow
 🧪 Testing Your Implementation - Inline + module + manual tests
 🎯 Key Concepts - Real-world connections + core ideas
 🎉 Ready to Build? - Motivational ending + grid cards

Benefits for Students:
- Predictable navigation structure
- Clear learning outcomes upfront
- Concrete examples of what they'll build
- Multiple testing approaches for confidence
- Real-world context for motivation

Benefits for Instructors:
- Professional consistency across modules
- Clear pedagogical progression
- Easy to maintain and update
- Coherent course experience

Next: Review this pilot, then apply to remaining 13 modules
2025-07-16 01:31:00 -04:00
Vijay Janapa Reddi
b7f7dae175 Add consistent 'Ready to Build?' endings to README modules
Standardize module endings with motivational section + grid cards:

Added to 4 key modules:
- 01_setup: Foundation workflow mastery message
- 03_activations: Neural networks come alive message
- 06_cnn: Computer vision implementation message
- 09_optimizers: Learning algorithms message

Standard Format:
## 🎉 Ready to Build?
[Module-specific motivational content about what they're building]
Take your time, test thoroughly, and enjoy building something that really works! 🔥

[Grid cards automatically follow via converter]

Progress: 6/14 modules now have consistent endings
-  01_setup, 02_tensor, 03_activations, 06_cnn, 07_dataloader, 09_optimizers
- 🔄 8 more modules to standardize

Result: Better user experience with consistent motivation + clear next steps
2025-07-16 01:29:00 -04:00
Vijay Janapa Reddi
56fa527aba Achieve complete emoji consistency across all modules for student materials
Decision: Keep emojis in section headers for better student experience

Rationale:
- 📊 🎯 🧠 📚 emojis provide visual scanning and semantic meaning
- More engaging and approachable for students
- Clear information architecture (Info, Objectives, Concepts, Implementation)
- 13/14 modules already used this pattern - now 14/14 consistent
- Maintains TOC navigation (vs hidden admonition boxes)

Changes:
- Fixed 01_setup: Added 🎯 Learning Objectives, 🧠 Overview, 📚 What You'll Build
- Fixed 11_compression: Added 📊 Module Info, 🎯 Learning Objectives, 🧠 Overview
- Reverted 06_cnn: Back to ## headers (from admonition boxes) for TOC visibility
- All modules now follow: 📊 Module Info → 🎯 Learning Objectives → 🧠 Build/Overview → 📚 What You'll Build

Result: Consistent, student-friendly visual hierarchy across all 14 modules
2025-07-16 01:25:32 -04:00
Vijay Janapa Reddi
bcc78057b4 Improve module formatting and navigation consistency
Key Improvements:
1. **Meaningful titles**: Keep 'Module: CNN' format instead of just 'CNN'
2. **Clean breadcrumbs**: 'Home → CNN' instead of 'Home → Module 3: 03 Activations'
3. **Remove duplicate info**: Stop generating redundant Module Info boxes
4. **Use source formatting**: Let READMEs control their own presentation
5. **Enhanced README**: Added Jupyter Book admonition formatting to CNN module info

Results:
- More logical navigation and titles
- Single source of truth for module information
- Better formatted content boxes (CNN example with admonitions)
- Eliminated confusing duplicate content
- Cleaner, more professional presentation
2025-07-16 01:22:09 -04:00
Vijay Janapa Reddi
412c90856f Standardize module headers - consistent 🔥 emoji and clean chapter titles
README Updates:
- All modules now use consistent '🔥 Module: [Name]' format
- Removed inconsistent emojis (🧠, 🚀, 📊, 🧱, 🏋️)
- Removed module numbers and descriptive subtitles
- Clean, consistent branding across all 14 modules

Converter Updates:
- Added header cleaning logic to strip module prefixes from chapter titles
- Chapters now show clean names: 'CNN', 'Tensor', 'Setup', etc.
- No emoji or module numbers in final website headers
- Maintains clean, professional appearance

Result: Consistent source files + clean website presentation
2025-07-16 01:18:07 -04:00
Vijay Janapa Reddi
4a2511a429 Streamline interactive elements - remove redundant section header
- Keep the '🎉 Ready to Build?' motivational section
- Keep the grid cards for Binder/Colab/Source access
- Remove the redundant '🚀 Interactive Learning' section header
- Content now flows naturally: motivation → 'Choose your preferred way...' → grid cards
- Eliminates unnecessary section break and improves reading flow
- All chapters updated with cleaner, more streamlined format
2025-07-16 01:12:28 -04:00
Vijay Janapa Reddi
b1f17cb955 Use grid card format from main branch merge for interactive elements
- Updated book/convert_readmes.py to use Jupyter Book grid cards instead of Bootstrap buttons
- Format matches what was in main branch at merge commit 3a687aa
- Three interactive options in clean grid layout:
  🚀 Launch Binder - Interactive browser environment
   Open in Colab - GPU access and cloud compute
  📖 View Source - Browse Python source code
- Added helpful 'Save Your Progress' tip about Binder sessions
- All chapters regenerated with proper grid card format
- Tested successful book build
2025-07-16 01:09:15 -04:00
Vijay Janapa Reddi
f00dd426a3 Restore original interactive elements format - detailed admonition boxes with Bootstrap buttons
- Updated book/convert_readmes.py to use original format from git history
- Three environment options: Builder (blue), Jupyter (green), Colab (light blue)
- Each option has descriptive admonition box explaining its purpose
- Bootstrap-style anchor buttons with proper CSS classes
- Matches original commit abac2b7 format exactly
- All chapters regenerated with proper interactive elements
2025-07-16 01:07:23 -04:00
Vijay Janapa Reddi
f2d45165e2 Simplify interactive elements to match usage paths style - clean text links only 2025-07-16 01:03:17 -04:00
Vijay Janapa Reddi
d1961346cc Update interactive elements to match intro page style - cleaner admonition format 2025-07-16 00:59:54 -04:00
Vijay Janapa Reddi
876528d2c5 Add interactive learning elements (Builder, Jupyter, Colab links) to all chapters 2025-07-16 00:58:59 -04:00
Vijay Janapa Reddi
1304823e1f Remove old notebook files, now using README-based chapters 2025-07-16 00:56:41 -04:00
Vijay Janapa Reddi
3c6f0503be Implement README-to-chapter conversion for cleaner website workflow 2025-07-16 00:56:36 -04:00
Vijay Janapa Reddi
b4ad825fd6 Merge branch 'main' into dev 2025-07-16 00:45:19 -04:00
Vijay Janapa Reddi
55da37fc58 Update book/_toc.yml and tito/commands/book.py with latest fixes and notebook generation logic 2025-07-16 00:44:22 -04:00
Vijay Janapa Reddi
7bd1f383a8 Auto-generate notebooks during book build process 2025-07-15 23:53:26 -04:00
Vijay Janapa Reddi
af996a8b9b Generate notebook files from Python modules for direct access 2025-07-15 23:51:56 -04:00
Vijay Janapa Reddi
e2703d57ae Fix GitHub Actions: install requirements.txt before tito CLI to include rich dependency 2025-07-15 23:36:14 -04:00
Vijay Janapa Reddi
a23e8f9f23 Fix GitHub Actions: create and activate virtual environment for tito CLI 2025-07-15 23:33:43 -04:00
Vijay Janapa Reddi
3090350c68 Revert "Fix tito CLI: skip virtual environment validation in CI environments"
This reverts commit de505f5fd0747273be343e878da6cd57a2a6b5a7.
2025-07-15 23:33:04 -04:00
Vijay Janapa Reddi
68710b9b1b Fix tito CLI: skip virtual environment validation in CI environments 2025-07-15 23:32:33 -04:00
Vijay Janapa Reddi
f0882b2f14 Fix GitHub Actions workflow: remove virtual environment complexity in CI 2025-07-15 23:29:09 -04:00
Vijay Janapa Reddi
5e630e7ebb Fix GitHub workflow to properly activate virtual environment
- Combine venv setup and tito execution in same step
- Add pytest installation for tito environment validation
- Add explanatory comments about GitHub Actions shell behavior
- Remove environment skipping hack in favor of proper setup
- Workflow now uses tito CLI consistently for book generation
2025-07-15 23:26:34 -04:00
Vijay Janapa Reddi
5a1f9624ba Merge branch 'dev' 2025-07-15 22:54:03 -04:00
Vijay Janapa Reddi
d80868d1ae Streamline GitHub workflow to use tito commands
- Replace manual steps with tito book build
- Install tito CLI in workflow
- Add tito/** to trigger paths
- Simplify build process for consistency
2025-07-15 22:53:34 -04:00
Vijay Janapa Reddi
34ebc609ad Merge branch 'feature/interactive-access' into dev 2025-07-15 22:37:46 -04:00
Vijay Janapa Reddi
f5475568b8 Finalize book intro and author attribution
- Updated title to match new tagline format
- Added humble educational foundation section referencing CS249r course
- Confirmed result-oriented 'What You'll Achieve' section works well
- All branding now consistent across book and documentation
- Clean author attribution without unnecessary copyright notices
2025-07-15 21:49:05 -04:00
Vijay Janapa Reddi
6b7a176ad9 Update book footer and remove copyright
- Changed author from 'TinyTorch Team' to 'Vijay Janapa Reddi, Harvard University'
- Removed copyright notice (© Copyright 2025)
- Updated book title to match new tagline
- Footer now shows clean author attribution without copyright clutter
2025-07-15 21:23:42 -04:00
Vijay Janapa Reddi
74f5c140f7 Update module numbering from 00-13 to 01-14 and refresh tagline
- Updated all module references to start from 01 instead of 00
- Changed tagline to 'Build your own ML framework. Start small. Go deep.'
- Added educational foundation section linking to ML Systems book
- Updated README, documentation, CLI examples, and prerequisites
- Regenerated book content with consistent numbering throughout
- Maintains 14 modules total but with natural numbering (01-14)
2025-07-15 21:11:07 -04:00
Vijay Janapa Reddi
b0930f206e Update README.md 2025-07-15 21:09:16 -04:00
Vijay Janapa Reddi
c6f6def0d4 🧪 Test publish command 2025-07-15 20:39:51 -04:00
Vijay Janapa Reddi
8afe207ce5 Renumber modules from 00-13 to 01-14 for natural numbering
 Rename all module directories: 00_setup → 01_setup, etc.
 Update convert_modules.py mappings for new directory names
 Update _toc.yml file paths and titles (1-14 instead of 0-13)
 Regenerate all overview pages with new numbering
 Fix all broken references in usage-paths and intro
 Update chapter references to use natural numbering

Benefits:
- More intuitive course progression starting from 1
- Matches academic course numbering conventions
- Eliminates confusion about 'Module 0' concept
- Cleaner mental model for students and instructors
- All references and links properly updated

Complete transformation: 14 modules now numbered 01-14
2025-07-15 18:51:36 -04:00
Vijay Janapa Reddi
db49b26b0c Add consistent short title for Setup module
 Complete dual-title system: short TOC titles + full page headers
 All 14 modules now have consistent numbered menu titles
 Clean sidebar navigation with descriptive page content

Pattern:
- TOC: '0. Setup' → Page: 'Setup - TinyTorch System Configuration'
- TOC: '2. Activations' → Page: 'Activations - Nonlinearity in Neural Networks'
- Provides scannable menu + descriptive content headers
2025-07-15 18:48:17 -04:00
Vijay Janapa Reddi
19a2dbf408 Improve traditional vs TinyTorch comparison with concrete code examples
 Show actual implementation code instead of vague descriptions
 Contrast 'import torch' with 'class Tensor:' implementations
 Display real function definitions students will write
 Make clear students build every component from scratch

Changes:
- Replace vague 'Build your own tensors' with 'class Tensor:'
- Show actual method signatures: __add__, backward, forward
- Include concrete loss function: mse_loss implementation
- Display real optimizer logic: param.data -= lr * param.grad
- Change ending: 'I built this!' → 'I implemented every line!'
2025-07-15 18:24:28 -04:00
Vijay Janapa Reddi
0d9e56d13a Remove module numbers from headers for cleaner presentation
 Clean source file headers: 'Module X:' → clean descriptive titles
 Regenerate overview pages with clean headers
 More flexible content that works in any context
 Numbers still provided by book TOC structure

Changes:
- Remove 'Module X: ' prefix from all source file headers
- Headers now focus on descriptive content titles
- Book maintains proper chapter ordering via _toc.yml
- Content is more reusable across different presentations
2025-07-15 18:23:18 -04:00
Vijay Janapa Reddi
cbeffd787c Simplify book directory structure
 Remove unnecessary nesting: book/tinytorch-course/ → book/
 Update all path references in scripts and workflows
 Cleaner development experience with shorter paths
 Book builds successfully with simplified structure

Changes:
- Move all book files up one directory level
- Update convert_modules.py paths
- Update GitHub Actions workflow paths
- Update book configuration paths
- Test confirms everything works correctly
2025-07-15 18:21:59 -04:00
Vijay Janapa Reddi
9b90f52a1c Implement interactive access with learning goals admonitions
 Add learning goals extraction with beautiful admonition blocks
 Create hybrid book approach (overview pages + interactive buttons)
 Generate both notebooks (Binder/Colab) and book pages
 Update GitHub Actions for main branch deployment
 All 14 modules now have consistent formatting

Features:
- Extract content from source files (no duplication)
- Interactive launch buttons (GitHub/Binder/Colab)
- Learning objectives as 🎯 tip admonitions
- Notebooks generated in-place for direct access
- Clean separation: dev → main → website deployment
2025-07-15 18:19:29 -04:00
Vijay Janapa Reddi
d41e12aeb0 Update README.md 2025-07-15 18:12:04 -04:00
Vijay Janapa Reddi
c9ddfa235c Update README.md 2025-07-15 18:02:26 -04:00
Vijay Janapa Reddi
5344bc0aa1 Update README.md 2025-07-15 15:23:02 -04:00
Vijay Janapa Reddi
24d7b1f69c Update README.md 2025-07-15 15:20:35 -04:00
Vijay Janapa Reddi
900f0d3cef Update README to reflect current TinyTorch state
- Fix repository URL and directory structure
- Add prominent Jupyter Book documentation link
- List all 14 complete modules with proper organization
- Update installation and workflow instructions
- Add dev/main branch git workflow documentation
- Include modern badges and three user onboarding paths
- Emphasize production ML and inline testing approach
- Reflect current tech stack and learning outcomes
2025-07-15 14:40:36 -04:00
Vijay Janapa Reddi
9b1ba2532c Update README.md 2025-07-15 14:37:46 -04:00
Vijay Janapa Reddi
17142ac594 Configure GitHub Actions to deploy from main branch
- Updated workflow trigger from dev to main branch
- Ensures Jupyter Book deploys only on production releases
- Completes production workflow setup
2025-07-15 13:13:31 -04:00
Vijay Janapa Reddi
c13952ca73 fix: Update GitHub Actions workflow to trigger on dev branch
- Changed trigger from main to dev branch (repository default)
- Updated deploy condition to check for dev branch
- Ensures workflow runs on correct branch for this repository
2025-07-15 13:09:53 -04:00
Vijay Janapa Reddi
a0b8c6cfc1 feat: Add .nojekyll for GitHub Pages compatibility 2025-07-15 12:51:48 -04:00
Vijay Janapa Reddi
0846352fe7 feat: Update GitHub Actions workflow for raw export builds
- Add module conversion step before book building
- Install jupytext dependency for conversion script
- Maintains existing GitHub Pages deployment pipeline
- Automatically converts modules/source/ to notebooks on deploy
2025-07-15 12:51:32 -04:00
Vijay Janapa Reddi
24bf9d2880 feat: Add raw export Jupyter Book conversion system
- Created convert_modules.py for raw source-to-notebook conversion
- Configured Jupyter Book with execution disabled for performance
- Removed NBGrader solution stripping to preserve complete source code
- Cleaned up all built artifacts (_build/, chapters/*.ipynb) from version control
- Updated book configuration for pure source-based builds
- Single source of truth: all content generated from modules/source/ only
2025-07-15 12:50:17 -04:00
Vijay Janapa Reddi
11864d147f Complete interactive Tiny🔥Torch course with all 14 modules
 Converted all TinyTorch modules to interactive student notebooks:
- Foundation: Setup, Tensors, Activations (3 modules)
- Building Blocks: Layers, Networks, CNNs (3 modules)
- Training Systems: DataLoader, Autograd, Optimizers, Training (4 modules)
- Production: Compression, Kernels, Benchmarking, MLOps (4 modules)

🚀 Complete student learning experience:
- Big picture landing page with clear usage paths
- 3 dedicated path guides (exploration, development, classroom)
- Tiny🔥Torch branding with logo integration
- Student notebooks with solutions stripped but educational content preserved
- Interactive Binder integration ready for deployment

📊 Course statistics:
- 14 progressive modules building from CLI to production MLOps
- ~800KB total content across all interactive notebooks
- Professional development workflow with automated testing
- Proven pedagogical outcomes with Build → Use → Understand pattern

Ready for GitHub Pages deployment and student use
2025-07-15 11:36:57 -04:00