Commit Graph

32 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
e82bc8ba97 Complete comprehensive system validation and cleanup
🎯 Major Accomplishments:
•  All 15 module dev files validated and unit tests passing
•  Comprehensive integration tests (11/11 pass)
•  All 3 examples working with PyTorch-like API (XOR, MNIST, CIFAR-10)
•  Training capability verified (4/4 tests pass, XOR shows 35.8% improvement)
•  Clean directory structure (modules/source/ → modules/)

🧹 Repository Cleanup:
• Removed experimental/debug files and old logos
• Deleted redundant documentation (API_SIMPLIFICATION_COMPLETE.md, etc.)
• Removed empty module directories and backup files
• Streamlined examples (kept modern API versions only)
• Cleaned up old TinyGPT implementation (moved to examples concept)

📊 Validation Results:
• Module unit tests: 15/15 
• Integration tests: 11/11 
• Example validation: 3/3 
• Training validation: 4/4 

🔧 Key Fixes:
• Fixed activations module requires_grad test
• Fixed networks module layer name test (Dense → Linear)
• Fixed spatial module Conv2D weights attribute issues
• Updated all documentation to reflect new structure

📁 Structure Improvements:
• Simplified modules/source/ → modules/ (removed unnecessary nesting)
• Added comprehensive validation test suites
• Created VALIDATION_COMPLETE.md and WORKING_MODULES.md documentation
• Updated book structure to reflect ML evolution story

🚀 System Status: READY FOR PRODUCTION
All components validated, examples working, training capability verified.
Test-first approach successfully implemented and proven.
2025-09-23 10:00:33 -04:00
Vijay Janapa Reddi
92781736a1 Restructure TinyTorch: Move TinyGPT to examples, improve testing framework
Major changes:
- Moved TinyGPT from Module 16 to examples/tinygpt (capstone demo)
- Fixed Module 10 (optimizers) and Module 11 (training) bugs
- All 16 modules now passing tests (100% health)
- Added comprehensive testing with 'tito test --comprehensive'
- Renamed example files for clarity (train_xor_network.py, etc.)
- Created working TinyGPT example structure
- Updated documentation to reflect 15 core modules + examples
- Added KISS principle and testing framework documentation
2025-09-22 09:37:18 -04:00
Vijay Janapa Reddi
d5c96296a4 Remove redundant modules and streamline to 16-module structure
- Remove 00_introduction module (meta-content, not substantive learning)
- Remove 16_capstone_backup backup directory
- Remove utilities directory from modules/source
- Clean up generated book chapters for removed modules

Result: Clean 16-module progression (01_setup → 16_tinygpt) focused on
hands-on ML systems implementation without administrative overhead.
2025-09-18 16:41:43 -04:00
Vijay Janapa Reddi
5363a6823c Clean up documentation formatting
- Remove bold formatting from all markdown headers
- Remove 'NEW:' tags from README to keep it clean
- Maintain professional academic appearance
2025-09-18 13:36:06 -04:00
Vijay Janapa Reddi
e053dc9a71 Improve Jupyter Book styling and configuration
- Replace ugly gray background with clean white theme
- Add proper logo styling and configuration
- Update book chapters from module READMEs
- Add educational-ml-docs-architect agent
- Clean up custom CSS for better readability
- Configure logo.png in correct location
- Update tito book command with proper chapters
2025-09-18 09:48:01 -04:00
Vijay Janapa Reddi
4de61031d1 Implement interactive ML Systems questions and standardize module structure
Major Educational Framework Enhancements:
• Deploy interactive NBGrader text response questions across ALL modules
• Replace passive question lists with active 150-300 word student responses
• Enable comprehensive ML Systems learning assessment and grading

TinyGPT Integration (Module 16):
• Complete TinyGPT implementation showing 70% component reuse from TinyTorch
• Demonstrates vision-to-language framework generalization principles
• Full transformer architecture with attention, tokenization, and generation
• Shakespeare demo showing autoregressive text generation capabilities

Module Structure Standardization:
• Fix section ordering across all modules: Tests → Questions → Summary
• Ensure Module Summary is always the final section for consistency
• Standardize comprehensive testing patterns before educational content

Interactive Question Implementation:
• 3 focused questions per module replacing 10-15 passive questions
• NBGrader integration with manual grading workflow for text responses
• Questions target ML Systems thinking: scaling, deployment, optimization
• Cumulative knowledge building across the 16-module progression

Technical Infrastructure:
• TPM agent for coordinated multi-agent development workflows
• Enhanced documentation with pedagogical design principles
• Updated book structure to include TinyGPT as capstone demonstration
• Comprehensive QA validation of all module structures

Framework Design Insights:
• Mathematical unity: Dense layers power both vision and language models
• Attention as key innovation for sequential relationship modeling
• Production-ready patterns: training loops, optimization, evaluation
• System-level thinking: memory, performance, scaling considerations

Educational Impact:
• Transform passive learning to active engagement through written responses
• Enable instructors to assess deep ML Systems understanding
• Provide clear progression from foundations to complete language models
• Demonstrate real-world framework design principles and trade-offs
2025-09-17 14:42:24 -04:00
Vijay Janapa Reddi
50b470463a Add introduction module to Jupyter Book and refactor classroom documentation
- Create comprehensive introduction module (00-introduction.md) for Jupyter Book
- Add visual system overview and architecture documentation
- Update TOC to include introduction as module 0 in Foundation section
- Refactor classroom-use.md to be high-level overview pointing to instructor guide
- Eliminate duplication between classroom-use and instructor guide
- Ensure all 17 modules (00-16) are properly documented

Features:
- Introduction module provides system overview and dependency visualizations
- Clear separation: classroom-use = overview, instructor-guide = detailed workflow
- Professional navigation structure with all modules properly ordered
- Cross-references between related documentation sections

Successfully built and tested with jupyter-book build.
2025-09-16 08:22:57 -04:00
Vijay Janapa Reddi
08ab153b64 Fix book conversion script to handle dynamic module names
- Replace hardcoded module names array with dynamic reading from module.yaml files
- Add get_module_names() function to read actual module structure
- Fix IndexError in get_prev_module_name() and get_next_module_name() functions
- Update navigation logic to use actual module count instead of hardcoded assumptions
- Successfully converts all 16 modules to chapters with proper navigation
- Book build now completes without errors
2025-07-18 15:01:16 -04:00
Vijay Janapa Reddi
6a8175d834 📂 Reorganize chapter files to match new 16-module structure
🔄 Chapter File Reorganization:
- Renamed 05-networks.md → 05-dense.md
- Renamed 06-cnn.md → 06-spatial.md
- Created 07-attention.md with transformer-focused content
- Renumbered all subsequent chapters (7→8, 8→9, 9→10, etc.)
- Updated final module: 15-capstone.md → 16-capstone.md

📚 Attention Chapter Content:
- Added comprehensive attention module introduction
- Covers self-attention, multi-head attention, transformer foundations
- Explains Query-Key-Value mechanism and scaled dot-product attention
- Connects to previous modules (tensors, activations, layers, dense)
- Positions attention as foundation for modern AI (GPT, BERT, ViTs)

 Build Verification:
- Jupyter Book builds successfully with no missing file errors
- All 16 chapters now properly indexed in table of contents
- New structure: Foundation (1-3), Building Blocks (4-7), Training (8-11),
  Inference & Serving (12-16)

Result: Complete alignment between repository structure, book chapters,
and table of contents. Students can now navigate the full 16-module course
with proper attention coverage and updated section organization.
2025-07-18 08:57:33 -04:00
Vijay Janapa Reddi
7cda82daa7 build: Update generated book content with all improvements
- Regenerated all chapters with YAML-based difficulty ratings
- Updated book with improved navigation and fixed appendix links
- Applied copyright year 2025 across all pages
- Integrated inclusive language changes throughout generated content
- Book now reflects all UX and consistency improvements
2025-07-16 11:48:38 -04:00
Vijay Janapa Reddi
1f66a6053c Fix capstone difficulty rating and improve timeline messaging
- Updated book generation to include 15_capstone with 5-star difficulty rating
- Changed time estimate from '20-40 hours' to 'Capstone Project' for better visitor experience
- Removed specific week references from project phases for more encouraging presentation
- Maintained detailed project structure while making timeline more flexible
- Ensures consistent 5-star rating for expert-level modules across the framework
2025-07-16 11:11:58 -04:00
Vijay Janapa Reddi
57f9ddbff4 Update generated tensor chapter with fixed learning objectives
- Reflects the source README.md improvements in the built book
- Ensures consistency between source and generated content
2025-07-16 08:34:15 -04:00
Vijay Janapa Reddi
1cb070c7d6 Remove unnecessary breadcrumb navigation from book chapters
- Removed 'Home → Module Name' breadcrumbs that added clutter without value
- Chapters now start cleanly with title and difficulty/time badges
- Maintains the useful difficulty stars and time estimates
- Improves visual hierarchy and reduces interface noise

Result: Cleaner, more focused chapter headers
2025-07-16 07:41:21 -04:00
Vijay Janapa Reddi
6597043dba Fix broken grid cards across all book chapters
Problem: Grid cards were showing raw HTML code instead of rendering properly
Root cause: README converter was adding new grid cards while preserving
original ones, creating duplicate/conflicting grid sections

Solution:
- Modified book/convert_readmes.py to remove existing grid cards from
  source READMEs before adding new interactive elements
- Added regex patterns to clean up grid-related markup
- Regenerated all 14 book chapters with fixed converter
- Grid cards now render properly as interactive buttons

Result: All chapters now have clean, properly formatted grid cards
that render correctly in Jupyter Book
2025-07-16 07:39:13 -04:00
Vijay Janapa Reddi
6d101b360b 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
bbde0b7bf2 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
0cb435aee5 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
12d7f6eec9 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
50d2d63d31 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
8ee4be7951 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
23f3534d82 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
5a145e8615 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
f6e9fb4591 Simplify interactive elements to match usage paths style - clean text links only 2025-07-16 01:03:17 -04:00
Vijay Janapa Reddi
dd94d8d44a Update interactive elements to match intro page style - cleaner admonition format 2025-07-16 00:59:54 -04:00
Vijay Janapa Reddi
0dc3ca16a3 Add interactive learning elements (Builder, Jupyter, Colab links) to all chapters 2025-07-16 00:58:59 -04:00
Vijay Janapa Reddi
63f61078d0 Remove old notebook files, now using README-based chapters 2025-07-16 00:56:41 -04:00
Vijay Janapa Reddi
e283e95056 Implement README-to-chapter conversion for cleaner website workflow 2025-07-16 00:56:36 -04:00
Vijay Janapa Reddi
9203957d07 Generate notebook files from Python modules for direct access 2025-07-15 23:51:56 -04:00
Vijay Janapa Reddi
827aaabff6 🧪 Test publish command 2025-07-15 20:39:51 -04:00
Vijay Janapa Reddi
b34f3681dd 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
e2475e498e 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
cb68c0e1bb 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