Commit Graph

1204 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
4bfd32f345 Add energy consumption limitation and restructure future work thematically 2025-11-18 06:31:39 -05:00
Vijay Janapa Reddi
d98ffe3ef1 Restructure milestone and systems sections for clearer flow 2025-11-18 06:29:57 -05:00
Vijay Janapa Reddi
2cbfbd1479 Add Harvard TinyML, clarify bottom-up positioning, standardize code listing captions 2025-11-18 06:27:46 -05:00
Vijay Janapa Reddi
dfa3a6e3bf Define undefined jargon: FLOPs, BPE, KV caching for arXiv accessibility 2025-11-18 05:23:15 -05:00
Vijay Janapa Reddi
19e3288821 Reduce redundancy and improve flow: fix terminology, split dense paragraphs, streamline systems-first messaging 2025-11-18 05:19:13 -05:00
Vijay Janapa Reddi
e71d188d05 Improve abstract clarity and trim verbose content 2025-11-18 05:15:15 -05:00
Vijay Janapa Reddi
11d45d432c Fix technical inaccuracies: Adam memory line 569, convolution complexity consistency, ImageNet calculation 2025-11-18 05:12:35 -05:00
Vijay Janapa Reddi
d62fd12431 Add missing references and improve related work positioning
- Added CS231n, CMU DL Systems, JAX references
- Clarified MiniTorch includes efficiency considerations
- Acknowledged d2l.ai NumPy implementation track
- Positioned TinyTorch relative to university courses
- Fixed mischaracterizations identified by reviewers
2025-11-18 05:05:01 -05:00
Vijay Janapa Reddi
f8de0565ca Refine production language precision in KV caching description 2025-11-18 05:01:50 -05:00
Vijay Janapa Reddi
c245f37923 Fix critical Adam memory factual error
Changed incorrect 3× parameter memory to accurate 2× optimizer state (momentum + variance) = 4× total training memory
2025-11-18 05:01:17 -05:00
Vijay Janapa Reddi
f3445edcbb Improve mobile responsiveness for comparison grid
Add CSS class to comparison grid and mobile-specific styling
to stack grid columns vertically on small screens for better UX.
2025-11-17 23:41:43 -05:00
Vijay Janapa Reddi
cc4a4a6f9e Fix GIF paths for subdirectory deployments
Add JavaScript to dynamically fix GIF image paths in hero carousel
for both main site and dev subdirectory deployments. The fix detects
the current page directory and prepends it to relative _static paths.
2025-11-17 23:41:06 -05:00
Vijay Janapa Reddi
35b5176f3b Redesign paper header with white paper style
- Add orange-red accent bar on left side of header
- Style header with grey text for TinyTorch branding and author name
- Move page numbers to bottom center for cleaner layout
- Add subtle separator line with proper spacing
- Keep first page completely clean with no header
- Adjust header spacing for better visual balance
2025-11-17 13:37:50 -05:00
Vijay Janapa Reddi
936bbeb31c Remove temporary planning documents
Deleted outdated planning and strategy documents:
- paper/SUGGESTED_ADDITIONS.md (temporary paper planning doc)
- docs/development/ temporary planning files (not tracked in git)

Kept active documentation files for testing, module templates, and quick references.
2025-11-17 00:29:38 -05:00
Vijay Janapa Reddi
28ad3c6e86 Update 04-validate-history.gif 2025-11-17 00:29:01 -05:00
Vijay Janapa Reddi
279ace4153 Fix terminal box alignment in carousel demo YAML files
- Add proper padding to account for emoji display width (2 columns)
- Ensure all box content lines are exactly 100 characters wide
- Update fix-box-alignment.py to calculate display width correctly
- Apply fixes to all 4 carousel demo YMLs

This ensures the terminal box borders align properly in generated GIFs.
2025-11-17 00:03:44 -05:00
Vijay Janapa Reddi
66e030745e Fix carousel JavaScript errors - add safety checks for missing elements
- Add checks for carousel elements existence before initializing
- Prevent auto-advance from starting if no slides exist
- Add safety checks for dots/indicators that may not be present
- Fixes TypeError when carousel is not on the page
2025-11-17 00:00:54 -05:00
Vijay Janapa Reddi
a13b4f7244 Improve SIGCSE paper with reviewer feedback and clean up repository
Paper improvements:
- Add differentiated time estimates (60-80h experienced, 100-120h typical, 140-180h struggling)
- Moderate cognitive load claims with hedging language and empirical validation notes
- Add ML Systems Research subsection with citations (Baydin AD survey, Chen gradient checkpointing, TVM, FlashAttention)
- Add comprehensive Threats to Validity section (selection bias, single institution, demand characteristics, no control group, maturation, assessment validity)
- Define jargon (monkey-patching) at first use with clear explanation

Documentation updates:
- Restructure TITO CLI docs into dedicated section (overview, modules, milestones, data, troubleshooting)
- Update student workflow guide and quickstart guide
- Remove deprecated files (testing-framework.md, tito-essentials.md)
- Update module template and testing architecture docs

Repository cleanup:
- Remove temporary review files (ADDITIONAL_REVIEWS.md, EDTECH_OPENSOURCE_REVIEWS.md, TA_STRUGGLING_STUDENT_REVIEWS.md, etc.)
- Remove temporary development planning docs
- Update demo GIFs and configurations
2025-11-16 23:46:38 -05:00
Vijay Janapa Reddi
1dda0e3bb9 Enhance intro page carousel with mobile responsiveness and sidebar textbook link
- Remove carousel text labels, rely on larger terminal frame titles (20px bold)
- Fix navigation arrow positioning: moved to top: 405px with z-index: 100
- Reduce carousel height from 500px to 450px for better spacing
- Add clickable sidebar link to mlsysbook.ai via JavaScript
- Fix quickstart button link to use .html extension
- Add mobile responsive CSS for logo, headings, and carousel
- Update Terminalizer configs with larger frame title font
- Add textbook link with hover effects in intro page
2025-11-16 23:45:39 -05:00
Vijay Janapa Reddi
a86aea0c77 Reduce carousel-track height to make navigation arrows visible
Reduced min-height from 500px to 420px so the navigation arrows
appear within viewport instead of being pushed far below the visible area.
2025-11-16 23:13:17 -05:00
Vijay Janapa Reddi
cd5eeb1782 Fix carousel arrows overlapping GIF - move outside carousel-track
Changes to HTML:
- Move carousel-nav outside carousel-track container
- Navigation now appears as separate element below the carousel

Changes to CSS:
- Remove absolute positioning (no longer needed)
- Use simple flexbox layout with margin-top: 1rem
- Remove bottom/left/right positioning properties

This fixes the overlap issue where arrows were positioned at the bottom
of the carousel-track, overlapping the GIF content. Arrows now appear
cleanly below the entire carousel as a separate row.
2025-11-16 23:09:03 -05:00
Vijay Janapa Reddi
51464404fc Move carousel arrows below heading for cleaner layout
Changes to CSS:
- Position carousel-nav at bottom:0 instead of vertical center
- Use centered horizontal layout with 1rem gap
- Reduce arrow size to 32px (smaller, less intrusive)
- Remove semi-transparent background, use solid #e2e8f0
- Simplify shadow to 0 2px 6px

The vertical center placement with arrows overlapping the GIF content
looked messy and busy. This cleaner approach positions compact arrows
centered below the heading ("Clone & Setup" etc.), keeping them visible
but not interfering with the terminal content display.
2025-11-16 23:03:57 -05:00
Vijay Janapa Reddi
144b734f68 Position carousel arrows at vertical center following standard conventions
Changes to CSS:
- Position carousel-nav absolutely at top:50% with translateY(-50%)
- Use space-between to place arrows on left/right edges
- Increase arrow size to 44px for better visibility
- Add semi-transparent background: rgba(226, 232, 240, 0.95)
- Enhance shadow for better visibility over content
- Use pointer-events:none on container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper positioning
- Remove carousel-indicators div (not using dot indicators)
- Simplify to just prev/next arrow buttons

This follows standard carousel UX conventions where navigation arrows
appear at the vertical center of the content, positioned on the left/right
edges. Arrows are now centered on the heading text ("Clone & Setup" etc.)
rather than below it, making them more visible and easier to use.
2025-11-16 23:02:23 -05:00
Vijay Janapa Reddi
eacf407d36 Remove redundant carousel description text
Removed the <p> description lines from all carousel items:
- "git clone → ./setup → tito system doctor"
- "tito module start 01 → Code → Test inline"
- "tito module complete → Your code becomes tinytorch/"
- "tito milestone run 03 → 1986 MLP uses YOUR code"

Now carousel shows only clean headings (Clone & Setup, Build in Jupyter, etc.)
below each GIF. The workflow details are already visible in the GIF animations,
making the text descriptions redundant.
2025-11-16 23:01:17 -05:00
Vijay Janapa Reddi
b37f10fa03 Move carousel navigation arrows below carousel content
Changes to CSS:
- Remove absolute positioning from .carousel-nav
- Use flexbox centered layout with 2rem gap between arrows
- Reduce arrow size back to 36px (from 40px)
- Add margin-top: 1.5rem for spacing from carousel text

Changes to HTML:
- Move carousel-nav outside carousel-track
- Navigation now appears below carousel text instead of overlaid on GIF

This fixes overlap issues - arrows are now cleanly positioned
below the carousel text labels, not on top of the GIF terminal window.
2025-11-16 22:58:12 -05:00
Vijay Janapa Reddi
9016780862 Fix carousel navigation arrow overlap with heading text
Changes to CSS:
- Position carousel-nav absolutely at top:40% of carousel-track
- Move arrows to sides (space-between) instead of center bottom
- Increase arrow size to 40px for better visibility
- Add box-shadow to arrows for depth
- Use pointer-events:none on nav container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper absolute positioning

This fixes the overlap where left/right navigation arrows were appearing
on top of the carousel heading text ("Build in Jupyter" etc).
Arrows now appear on the left/right sides of the GIF at the vertical center.
2025-11-16 22:53:15 -05:00
Vijay Janapa Reddi
3e0bce778b Fix carousel text visibility - ensure labels not cut off
Changes:
- Increase carousel-track min-height from 410px to 500px
- Change overflow from hidden to visible to prevent text cutoff
- Add margin-top and padding to carousel-text for better spacing
- Reduce heading size from 1.75rem to 1.5rem for better fit
- Add monospace font to carousel description text
- Update mobile responsive breakpoint with overflow:visible
- Change fixed height to auto for GIF preview on mobile

This ensures carousel text labels ("Clone & Setup", "Build in Jupyter", etc.)
are fully visible below the GIF demos without being cut off.
2025-11-16 22:48:03 -05:00
Vijay Janapa Reddi
02dd5a2db4 Remove test carousel GIF files 2025-11-16 22:18:22 -05:00
Vijay Janapa Reddi
5c3c8b30c9 Update carousel terminal configs: optimized dimensions and styling
Configuration updates:
- Reduced terminal width from 160 to 100 columns for better text density
- Increased font size from 12px to 14px for improved readability
- Added ANSI green color codes to shell prompts
- Updated base-config.yml as single source of truth

Generated new GIFs:
- 01-clone-setup.gif: Regenerated with new 100-column layout
- Other GIFs pending regeneration with ./render-all.sh

Documentation:
- Updated README with current dimensions and font size
- Documented configuration inheritance pattern

These changes optimize the carousel display by reducing wasted whitespace
while maintaining readability with larger fonts. The 100-column width
provides better visual balance in the carousel container.
2025-11-16 22:18:08 -05:00
Vijay Janapa Reddi
3b70488856 Address reviewer feedback: positioning, scope, and adoption clarity
Conducted multi-perspective review (6 reviewers: undergrad student, CS
professor, industry engineer, PhD student, learning scientist, program
chair). Implemented all high-priority improvements:

1. Added 'Is TinyTorch Right for You?' self-assessment (Section 1.1)
   - When to use vs not use TinyTorch
   - Clear positioning (after CS231n, before advanced systems)
   - Time commitment transparency (60-80 hours)
   - Target audience specification

2. Added 3 concrete course integration models (Section 3.5)
   - Model 1: Standalone 4-credit course (14 weeks)
   - Model 2: Half-semester in existing ML course (7 weeks)
   - Model 3: Optional deep-dive track (self-paced)
   - Instructor resource needs explicitly stated

3. Sharpened abstract contribution framing
   - Changed from 'framework' to 'pedagogical patterns'
   - Emphasized design contribution (not empirical study)
   - Clarified enables educators + researchers

4. Added 'What's NOT Covered' prominently (Section 6.1)
   - GPU/CUDA programming explicitly omitted
   - Distributed training not covered
   - Production deployment/serving excluded
   - Advanced systems techniques listed
   - Clear positioning: foundation, not replacement

5. Verified Adam memory technical precision
   - All mentions already specify '3x parameter memory'
   - Distinction from activation memory clear

Key reviewer themes addressed:
- Positioning ambiguity → Clear when/how to use
- GPU omission concerns → Prominently acknowledged upfront
- Adoption barriers → 3 concrete integration models
- Time investment ROI → Self-assessment + positioning

Paper now targets SIGCSE 2026 design track more clearly.
2025-11-16 21:52:04 -05:00
Vijay Janapa Reddi
492e068f82 Add implementation details from module analysis
Analyzed actual module source code and added key pedagogical features:

Major additions:
- Historical milestone validation system (Section 5.3)
  * 6 milestones recreating 1957-2024 ML breakthroughs
  * Objective correctness validation via historical accuracy
  * Intrinsic motivation through narrative framing
  * Dual purpose: pedagogy + implementation validation

- NBGrader automated assessment infrastructure (Section 5.4)
  * Solution/test cells with grade metadata
  * Point allocation reflects priorities
  * Enables MOOC/large classroom deployment
  * Caveat: unvalidated at scale

- Production package organization (Section 5.5)
  * Modules export to tinytorch.nn.Conv2d API
  * Students build shippable framework, not toy code
  * nbdev integration for professional workflows

- Connection Maps for knowledge integration (Section 5.6)
  * Shows prerequisites, current focus, enabled capabilities
  * Makes expert knowledge structures visible
  * Reduces 'why does this matter' disengagement

Updated abstract to highlight 3 (not 2) novel contributions, adding
historical milestone validation as third major pattern.

Implementation analysis documented in SUGGESTED_ADDITIONS.md for
reference.
2025-11-16 21:33:33 -05:00
Vijay Janapa Reddi
fc4e650d0a Update carousel with wider terminal GIFs (160x24) and colored prompts
- Increased terminal dimensions from 80x24 to 160x24 for wider, more cinematic format
- Added ANSI green color codes to prompts for better visual appeal
- Updated all 4 Terminalizer YAML configs with consistent styling
- Created base-config.yml as single source of truth for shared settings
- Updated CSS to use dark terminal background instead of gray
- Changed object-fit from contain to cover for better width filling
- Added render-all.sh batch script for regenerating all GIFs
- Updated README with complete documentation and troubleshooting

Generated GIFs:
- 01-clone-setup.gif (7.0M)
- 02-build-jupyter.gif (1.3M)
- 03-export-tito.gif (1.9M)
- 04-validate-history.gif (3.3M)
2025-11-16 21:33:04 -05:00
Vijay Janapa Reddi
01af83c3ae Update all carousel GIFs with wider dimensions (120x30)
All 4 GIFs regenerated with new format:
- 01-clone-setup.gif (2.7M)
- 02-build-jupyter.gif (565K)
- 03-export-tito.gif (890K)
- 04-validate-history.gif (1.5M)

Consistent 120×30 dimensions fill carousel width nicely
2025-11-16 18:49:27 -05:00
Vijay Janapa Reddi
3c4cf573a3 Add research paper: TinyTorch educational framework design
Complete LaTeX source for academic paper on TinyTorch pedagogical approach.

Key contributions:
- Progressive disclosure via monkey-patching
- Systems-first curriculum design
- Historical milestone validation
- Constructionist framework building

Includes 7 sections, 3 tables, 5 code listings, 22 references.
All reviewer feedback incorporated.

Ready for submission to ArXiv, SIGCSE 2026, ICER 2026.
2025-11-16 18:41:23 -05:00
Vijay Janapa Reddi
0d2f4cb4b1 Update GIFs with wider dimensions (120x30)
Regenerated carousel GIFs with new wider format:
- 120 columns × 30 rows (previously 80×24)
- Better fills carousel width
- More professional appearance
2025-11-16 18:26:55 -05:00
Vijay Janapa Reddi
d38974557c Add shared base config for demo styling consistency
- Create base-config.yml as single source of truth for styling
- Document that Terminalizer doesn't support config inheritance
- Individual demo configs are manually kept in sync with base config
- Makes it easier to maintain consistent look across all demos
2025-11-16 18:21:46 -05:00
Vijay Janapa Reddi
c8826b0e4c Add animated carousel demos with Terminalizer
- Add 4 workflow demo GIFs (Clone & Setup, Build in Jupyter, Export with TITO, Validate with History)
- Create Terminalizer YAML configs for reproducible renders (120x30, vibrant color themes)
- Add render-all.sh script for batch GIF generation
- Update carousel CSS for proper GIF display with emoji fallbacks
- Update intro.md carousel to reference GIFs
- Add comprehensive README with setup instructions

All configs use consistent styling:
- Dimensions: 120 columns × 30 rows (wider format)
- Theme: Vibrant colors with good contrast
- Font: Monaco 12px monospace
- Quality: 100% for crisp output
2025-11-16 18:20:12 -05:00
Vijay Janapa Reddi
1e18b88a1e Merge main into dev: sync static assets deployment fixes 2025-11-15 12:01:19 -05:00
Vijay Janapa Reddi
a2b106e305 Fix static assets deployment: add missing JS files to conf.py and ensure .nojekyll is copied to build output 2025-11-15 12:00:59 -05:00
Vijay Janapa Reddi
4065074a43 Merge branch 'main' into dev 2025-11-15 11:59:55 -05:00
Vijay Janapa Reddi
aec733b428 Merge branch 'dev' 2025-11-15 11:56:11 -05:00
Vijay Janapa Reddi
1a56f128f3 Update custom CSS styling for Mermaid diagrams 2025-11-15 11:37:35 -05:00
Vijay Janapa Reddi
0c048dc1ad Update custom CSS styling 2025-11-14 18:35:36 -05:00
Vijay Janapa Reddi
d149446fcd Simplify pip install indicator to inline coming soon text
- Remove separate badge, add inline (coming soon) text
- Cleaner design that works with existing under construction banner
2025-11-14 18:33:47 -05:00
Vijay Janapa Reddi
39c13ed34e Add Work in Progress indicator for pip install
- Add alpha release badge above pip install command on intro page
- Update README status badge to reflect alpha status
- Clarify that package is in active development
2025-11-14 18:31:26 -05:00
Vijay Janapa Reddi
38a91184b3 Remove temporary planning documents and prepare package for pip install
- Remove DECEMBER_2024_RELEASE.md (temporary release checklist)
- Remove module_20_consistency_review.md (internal review document)
- Remove PEDAGOGICAL_IMPROVEMENTS_PLAN.md (planning document)
- Remove benchmark_results/benchmark_report.md (generated report)

- Fix pyproject.toml for proper pip installation:
  - Update version to 0.1.0 to match __init__.py
  - Fix package discovery to use tinytorch instead of tinytorch_placeholder
  - Add proper dependencies (numpy, rich, PyYAML)
  - Add optional dev dependencies
  - Update project URLs and metadata
  - Exclude non-package directories from distribution

- Add MANIFEST.in to ensure LICENSE and README are included in package
2025-11-14 18:28:23 -05:00
Vijay Janapa Reddi
75d1f163e5 Update site content and documentation
- Refactor resources.md to focus on ML Systems textbook as primary companion
- Remove Academic Foundation section from credits.md (moved to resources)
- Update quickstart guide, FAQ, and student workflow documentation
- Improve classroom use documentation with updated guidance
2025-11-14 18:27:22 -05:00
Vijay Janapa Reddi
4bb0190144 Update build scripts and site configuration
- Update PDF build scripts for site directory structure
- Update Jupyter Book configuration files
- Update site README with current build instructions
2025-11-14 18:27:20 -05:00
Vijay Janapa Reddi
3562b4e124 Update book CLI command to use site directory instead of book
- Rename all references from book/ to site/ directory
- Update error messages and paths throughout the command
- Maintain backward compatibility with existing functionality
2025-11-14 18:27:19 -05:00
Vijay Janapa Reddi
d3cfe9299b Enhance intro page with interactive hero carousel and ML timeline
- Add hero carousel component with auto-advance and keyboard navigation
- Add interactive ML history timeline with milestone popups
- Add comprehensive CSS styling for carousel and timeline components
- Update intro page content with tier-based structure and improved messaging
- Add install command display and enhanced visual design
2025-11-14 18:27:17 -05:00