- Fixed test functions to only run when modules executed directly
- Added proper __name__ == '__main__' guards to all test calls
- Fixed syntax errors from incorrect replacements in Module 13 and 15
- Modules now import properly without executing tests
- ProductionBenchmarkingProfiler (Module 14) and ProductionMLSystemProfiler (Module 16) fully working
- Other profiler classes present but require full numpy environment to test completely
- Clean up CLAUDE.md module structure from 10+ parts to 8 logical sections
- Remove confusing 'Concept, Context, Connections' framework references
- Simplify to clear flow: Introduction → Background → Implementation → Testing → Integration
- Keep Build→Use→Understand compliance for Education Architect
- Remove thinking face emoji from ML Systems Thinking section
- Focus on substance over artificial framework constraints
- Add ML systems thinking reflection questions to Module 02 tensor
- Consolidate all development standards into CLAUDE.md as single source of truth
- Remove 7 unnecessary template .md files to prevent confusion
- Restore educational markdown explanations before all unit tests
- Establish Documentation Publisher agent responsibility for thoughtful reflection questions
- Update module standards to require immediate testing pattern and ML systems reflection
CRITICAL FIX:
- Fixed tensor_dev.py markdown cells from comments to triple quotes
- All markdown content now visible in notebooks again
- Added CRITICAL markdown format rule to template
WORKFLOW IMPROVEMENTS:
- Added AGENT_WORKFLOW_RESPONSIBILITIES.md with clear lane division
- Each agent is expert in their domain only
- No overlap: Education Architect ≠ Documentation Publisher ≠ Module Developer
Agent responsibilities:
- Education Architect: learning strategy only
- Module Developer: code implementation only
- Quality Assurance: testing validation only
- Documentation Publisher: writing polish only
- Add 5 C's framework for systematic concept understanding
- Separate implementation from testing for clearer learning flow
- Consolidate 15+ fragmented markdown cells into 4 focused sections
- Create clean progression: Concept → Implementation → Test → Usage
- Establish model structure for other modules to follow
Module 02 Updates:
- Restore full 5 C's educational content (CONCEPT, CODE STRUCTURE, CONNECTIONS, CONSTRAINTS, CONTEXT)
- Use integrated code-comment format for natural flow
- Maintain all essential educational information
- Clear section header: 'Before We Code: The 5 C's'
New Format Standard:
- Create FIVE_CS_FORMAT_STANDARD.md to codify the approach
- Define exact structure for all future modules
- Include complete example with tensor implementation
- Specify when and how to use the format
The 5 C's content is excellent - this improves the presentation
format while preserving all educational value. Students get
complete context before implementation in a natural, scannable format.
Replace verbose bullet format with code-comment approach that:
- Integrates concepts directly with implementation preview
- Shows exactly where each principle applies in actual code
- Feels more natural and less academic
- Maintains educational value while respecting student time
- Bridges gap between understanding and coding
The code-comment style helps students see the connection between
concepts and implementation rather than treating them as separate
academic content.
- Add comprehensive 5 C's educational framework before Tensor class
- Explain CONCEPT: What tensors are in ML context
- Detail CODE STRUCTURE: What we're building
- Show CONNECTIONS: PyTorch/TensorFlow/NumPy relationships
- Define CONSTRAINTS: Implementation requirements
- Provide CONTEXT: Why tensors matter in ML systems
This completes the educational scaffolding for Module 02, ensuring
students understand WHY they're building tensors before HOW to
implement them.
- Add tensor_dev.ipynb converted from tensor_dev.py
- Add activations_dev.ipynb converted from activations_dev.py
These notebooks provide interactive learning environments for students
to explore tensor operations and activation functions.
- Tests tensor integration with NumPy arrays and operations
- Validates tensor-NumPy compatibility for scientific computing
- Ensures broadcasting works correctly between tensors and scalars
- Verifies integration with NumPy functions on tensor data
- Positioned before MODULE SUMMARY as per educational structure
Removes redundant "DEVELOPMENT" headers from several notebook files.
These headers are no longer necessary and declutter the notebook content, improving readability and focus on the core content and testing sections.
✅ Standardized test explanations with consistent format
📝 Added markdown cells before all test functions
🎯 Improved educational clarity for student understanding
Changes:
- 01_setup: Added 2 test explanations (personal_info, system_info)
- 02_tensor: Added 3 test explanations (creation, properties, arithmetic)
- 12_compression: Added 8 test explanations (metrics, pruning, quantization, distillation, etc.)
All 15 modules now follow standardized test documentation pattern:
### 🧪 Unit Test: [Component Name]
[Brief explanation of validation purpose]
Ensures every test has clear educational context for students.
- Added test_unit_tensor_creation() call after function definition
- Added test_unit_tensor_properties() call after function definition
- Added test_unit_tensor_arithmetic() call after function definition
Ensures test functions are actually executed when cells run, providing immediate feedback to students.
- Added ## 🔧 DEVELOPMENT section before Step 1 where development begins
- Added ## 🤖 AUTO TESTING section before nbgrader block
- Updated to ## 🎯 MODULE SUMMARY: Tensor Foundation
Improves notebook organization without changing any code logic or content.
Module 02_tensor now follows the correct pattern learned from layers_dev:
1. ## 🧪 Module Testing (explanation)
2. Standardized testing cell with run_module_tests_auto
3. Actual test functions (test_unit_tensor_creation, test_unit_tensor_properties, test_unit_tensor_arithmetic)
4. ## 🎯 Module Summary
✅ Moved test functions from end of file to proper location after standardized testing
✅ Removed duplicate test functions
✅ Students now see actual test implementations before the summary
✅ run_module_tests_auto will auto-discover and run all tests
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.
- 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
- Added bold formatting to match other modules' style
- Enhanced clarity with more specific descriptors
- Added 'efficiently' and 'with proper broadcasting' for precision
- Now consistent with activations and other modules formatting
- Improves visual hierarchy and readability in built book
✅ 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