- 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
- 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.
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.
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.
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.
- 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
- 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
- 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
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
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
- 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)
✅ 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