Commit Graph

18 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
0438b59513 🔧 Fix DEVELOPMENT header placement in 01_setup module
- Moved ## 🔧 DEVELOPMENT to proper location at start of Step 2 where actual development begins
- Removed misplaced header from test function area
- Headers now correctly organize: Development → Auto Testing → Module Summary
2025-07-20 09:53:42 -04:00
Vijay Janapa Reddi
1fd05fb514 Add structural organization headers to 01_setup module
- Added ## 🔧 DEVELOPMENT section before test functions
- Added ## 🤖 AUTO TESTING section before nbgrader block
- Updated to ## 🎯 MODULE SUMMARY: Setup Configuration

Improves notebook organization without changing any code logic or content.
2025-07-20 09:52:32 -04:00
Vijay Janapa Reddi
0355e0a44b Fix 01_setup: Correct pattern - Tests → STANDARDIZED MODULE TESTING → Module Summary
CORRECT PATTERN NOW:
1.  Unit tests (test_unit_personal_info_basic, test_unit_system_info_basic)
2.  ## 🧪 Module Testing
3.  STANDARDIZED MODULE TESTING cell
4.  run_module_tests_auto call
5.  ## 🎯 Module Summary (immediately after, no code between)

 Removed duplicate test functions that were incorrectly placed after run_module_tests_auto
 Clean separation: Tests → Testing → Summary
 No code between STANDARDIZED MODULE TESTING and Module Summary
2025-07-20 09:24:01 -04:00
Vijay Janapa Reddi
49b0a78b99 🧹 Remove duplicate nbgrader cells from 01_setup
Cleaned up duplicate/redundant nbgrader cells that were just comments referencing test functions. The actual test functions remain in their proper location after the standardized testing section.

Removed:
- Duplicate test-personal-info nbgrader cell (just a comment)
- Duplicate test-system-info nbgrader cell (just a comment)
- Redundant 'Inline Test Functions' section

This eliminates confusion and follows the clean pattern established by other modules.
2025-07-20 09:05:38 -04:00
Vijay Janapa Reddi
dd71fca2c9 Fix 01_setup: Add test code between testing section and summary
Module 01_setup now follows correct pattern:
1. ## 🧪 Module Testing (explanation)
2. Standardized testing cell with run_module_tests_auto
3. Actual test functions (test_unit_personal_info_basic, test_unit_system_info_basic)
4. ## 🎯 Module Summary

This ensures students see actual test implementations before the summary.
2025-07-20 09:03:13 -04:00
Vijay Janapa Reddi
48f7b2dea7 🧪 Add standardized module testing to all modules
Ensures consistent testing framework across all TinyTorch modules with:

 Added standardized testing sections to modules that were missing them:
- 01_setup: Added complete testing section + module summary
- 02_tensor: Added testing section + comprehensive module summary
- 15_mlops: Standardized existing testing section to match convention

 All modules now follow the consistent pattern:
1. ## 🧪 Module Testing (markdown explanation)
2. Locked nbgrader cell with standardized-testing ID
3. run_module_tests_auto call to discover and run all tests
4. ## 🎯 Module Summary (educational wrap-up)

 Benefits:
- Consistent testing experience across all 16 modules
- Automatic test discovery and execution before module completion
- Standardized educational flow: learn → implement → test → reflect
- Professional testing practices with locked testing framework

 Verification: All 16 modules now have both:
- '## 🧪 Module Testing' section ✓
- 'run_module_tests_auto' call ✓

This ensures students always verify their implementations work correctly
before moving to the next module, following TinyTorch's educational philosophy.
2025-07-20 09:00:17 -04:00
Vijay Janapa Reddi
6d30438748 🧪 Fix setup module: Wrap all test code in test_ functions
- Remove loose test code from nbgrader cells that ran automatically on import
- Keep only proper test_unit_personal_info_basic() and test_unit_system_info_basic() functions
- Prevents tests from running when module is imported as package
- Follows established test naming conventions (test_unit_*)
- Improves module reliability and reduces side effects

Fixed issues:
- NBGrader cells now reference test functions instead of running test code directly
- All assertions and test logic properly contained in named test functions
- Module can be imported without automatically executing tests
2025-07-20 08:56:18 -04:00
Vijay Janapa Reddi
771ed98a80 🧹 Remove Jupyter notebooks from modules/source - Python-first workflow
- Delete all 15 .ipynb files from modules/source directories
- Align with TinyTorch's Python-first development philosophy
- .py files are the source of truth, .ipynb files are temporary outputs
- Prevents version control conflicts with notebook metadata
- Students work directly with .py files using Jupytext format
- Notebooks can be regenerated when needed via 'tito nbdev generate'

Removed files:
- All *_dev.ipynb files across modules 01-15
- Keeps repository clean and focused on source code
2025-07-20 08:41:26 -04:00
Vijay Janapa Reddi
82e18761fe Foundation: Standardize test naming in setup and tensor modules
- Rename test functions to follow test_unit_<name> convention
- Setup module: test_personal_info → test_unit_personal_info_basic
- Setup module: test_system_info → test_unit_system_info_basic
- Tensor module: test_tensor_* → test_unit_tensor_*
- Establishes consistent unit test naming for core foundation modules
2025-07-20 08:38:46 -04:00
Vijay Janapa Reddi
7b620d98aa refactor: Replace "Master" with "Reflect" in learning framework
- Updated learning philosophy from "Build, Use, Master" to "Build, Use, Reflect"
- Changed setup module: "Build → Use → Reflect"
- Changed capstone module: "Build → Optimize → Reflect"
- Promotes inclusive language and emphasizes metacognition over dominance
- Better pedagogical approach focusing on thoughtful analysis and system thinking
2025-07-16 11:48:28 -04:00
Vijay Janapa Reddi
507cdf50f5 refactor: Implement YAML-based difficulty and time system
- Added educational metadata (difficulty, time_estimate) to all module.yaml files
- Updated convert_readmes.py to read from YAML instead of hardcoded mappings
- Standardized difficulty progression: 🥷
- Fixed path resolution for YAML reading in book build process
- Eliminated duplication: single source of truth for educational metadata
- Capstone gets special ninja treatment (🥷) as beyond-expert level
2025-07-16 11:48:09 -04:00
Vijay Janapa Reddi
19a8123333 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
647b5677b5 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
672f959dde 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
e1fd90af2f 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
074f695fb3 Generate notebook files from Python modules for direct access 2025-07-15 23:51:56 -04:00
Vijay Janapa Reddi
01e4aec62b 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
d82c75f9dc 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