Commit Graph
1218 Commits
Author SHA1 Message Date
Vijay Janapa ReddiandClaude fbe91d4c5e Configure natbib for standard academic citation format
Changes:
- Reverted invalid natbib options (maxcitenames/maxbibnames are biblatex-only)
- natbib with plainnat already uses "et al." for in-text citations with 3+ authors
- Bibliography shows full author lists (standard academic practice)
- Restored full author lists in references.bib for proper attribution

Current behavior:
- In-text: "Reddi et al. (2020)" for papers with many authors
- Bibliography: Shows all authors (e.g., all 51 authors for MLPerf paper)

To truncate bibliography author lists to "10 + et al.", would need:
1. Custom .bst bibliography style file, OR
2. Switch from natbib to biblatex package

Compiled successfully: paper.pdf (22 pages)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:54:44 -05:00
Vijay Janapa ReddiandClaude b13543f580 Truncate long author lists to first 10 authors + et al.
Reduced excessive author lists in bibliography entries to improve
readability and save space. Papers with >10 authors now show first
10 followed by 'and others' which BibTeX renders as 'et al.'

Changes:
- perkins1992transfer: Fixed corrupted entry (was 300+ author Nature
  paper, now correct Perkins & Salomon 1992 encyclopedia entry)
- reddi2020mlperf: Truncated from 51 authors to 10 + others
- banbury2021widening: Truncated from 24 authors to 10 + others
- banbury2021benchmarking: Truncated from 17 authors to 10 + others

This is standard practice in academic publishing - showing all
authors for papers with hundreds of contributors wastes space and
provides no additional value to readers.

Paper size reduced from 24 pages back to 22 pages.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:49:14 -05:00
Vijay Janapa ReddiandClaude b58c82df1f Update Table 3 with real performance benchmarks from TinyTorch
Replaced placeholder numbers with actual measurements from benchmarking
script. Numbers show TinyTorch's pure Python implementations are
100-10,000× slower than PyTorch, demonstrating the pedagogical value
of experiencing performance reality.

Real benchmark results:
- MatMul (1K×1K): 1.0s vs 0.9ms = 1,090× slower
- Conv2d (CIFAR batch): 97s vs 10ms = 10,017× slower
- Softmax (10K elem): 6ms vs 0.05ms = 134× slower

Methodology:
- MatMul: Double-loop with numpy dot for inner loop
- Conv2d: Pure 7-nested-loop implementation as shown in paper
- Softmax: Pure Python loops for max, exp, sum, normalize

Created benchmark_quick.py script that measures actual performance
using implementations that match what students write in the curriculum.
Conv2d uses single-image timing extrapolated to full batch for speed.

Updated paper text to reference actual measured values (97s vs 10ms)
instead of placeholders, strengthening the experiencing performance
reality pedagogical argument.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:44:26 -05:00
Vijay Janapa ReddiandClaude 9dfa8ae6ae Add sustainable AI and systems citations to future work section
Added citations for sustainable ML, energy-efficient computing, mixed
precision training, and TinyML benchmarking to strengthen the future
work discussion.

New citations:
- Strubell et al. (2019): Energy and Policy Considerations for Deep
  Learning in NLP - foundational work on ML carbon footprint
- Patterson et al. (2021): Carbon Emissions and Large Neural Network
  Training - comprehensive analysis of energy use in large models
- Micikevicius et al. (2018): Mixed Precision Training - ICLR paper on
  FP16/FP32 training techniques
- Banbury et al. (2021): Benchmarking TinyML Systems - TinyMLPerf
  benchmarking framework for edge AI

Citations integrated into:
- Roofline Models section (mixed precision advantages)
- Energy and Power Profiling section (sustainable ML and edge AI)

These citations ground the future work proposals in established
research on green AI, energy-efficient ML, and edge deployment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:31:21 -05:00
Vijay Janapa ReddiandClaude 6191a039f6 Replace \paragraph{} with \noindent\textbf{} throughout paper
Converted all paragraph headings to bold text format for consistent
styling throughout the document. This improves visual consistency and
follows the requested formatting guidelines.

Changes:
- Paper Organization (introduction)
- Build/Use/Reflect cycle descriptions
- Why Milestones Matter
- The Six Historical Milestones
- Experiencing Performance Reality
- All future work subsection headings (Roofline Models, ASTRA-sim,
  Energy and Power Profiling, The Three-Tier Systems Pedagogy)

Table 3 remains correctly positioned in Systems Integration section
where performance trade-offs are discussed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:16:37 -05:00
Vijay Janapa ReddiandClaude 7089d0a8fc Remove remaining temporary files from paper directory
Cleaned up:
- FIGURE_SUMMARY.txt (temporary figure notes)
- INTRODUCTION_REVISED.tex (draft version, now integrated)

Build artifacts (.aux, .bbl, .blg) left unstaged as working files.

Research team reference documents retained for review:
- CITATIONS_TO_ADD.md
- CLAIM_EVIDENCE_MATRIX.md
- EVIDENCE_INVENTORY.md
- LITERATURE_REVIEW_ASSESSMENT.md
- NEW_CITATIONS.bib

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:06:31 -05:00
Vijay Janapa ReddiandClaude 4cf47a7443 Apply critical and high-priority research team fixes
CRITICAL FIXES (blocking issues):
1. Fixed corrupted bruner1960process citation (was citing 2023 infant mortality paper)
   - Now correctly cites Bruner's "The Process of Education" (1960)
2. Fixed corrupted perkins1992transfer citation (was citing wrong paper)
   - Now correctly cites Perkins & Salomon "Transfer of Learning" (1992)
3. Added systems thinking citation (Meadows 2008) for tacit knowledge framing
4. Added compiler pedagogy citation (Aho et al. 2006 Dragon Book)

HIGH-PRIORITY IMPROVEMENTS:
5. Consolidated validation caveats into ONE comprehensive scope paragraph
   - Removed defensive tone from individual contributions
   - Stronger framing: "demonstrated design patterns" vs "unvalidated claims"
   - Clear separation: technical correctness (proven) vs learning outcomes (hypothesized)

6. Broke dense introduction paragraph into two for readability
   - Para 1: Workforce statistics and demand
   - Para 2: Tacit knowledge problem and automation resistance

7. Sharpened MiniTorch comparison with concrete differentiation
   - Added: math-first vs systems-first pedagogical inversion
   - Added: progressive disclosure (unified API) vs separate abstractions
   - Made competitive positioning clearer and more specific

8. Added transitional bridge in Paper Organization paragraph
   - Improved flow from introduction to body sections

9. Renamed Contribution 3: "Replicable Educational Artifact" → "Open Educational Infrastructure"
   - More accurate, less generic
   - Added concrete details (historical milestone range, specific section references)

10. Added proper citations throughout contributions for grounding
    - Situated cognition, constructionism, cognitive load theory, cognitive apprenticeship
    - NBGrader infrastructure cited

Paper now compiles successfully (22 pages, 373KB).
Addresses all blocking issues identified by research team review.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 17:06:00 -05:00
Vijay Janapa ReddiandClaude 91b6173374 Clean up temporary markdown files from paper directory
Removed temporary analysis and revision files:
- ACADEMIC_WRITER_BRIEF.md
- FIGURE_PROPOSALS.md
- FINAL_QUALITY_ASSESSMENT.md
- README_FIGURES.md
- REVISION_QUICK_REFERENCE.md

These files were created during iterative review process and are no longer needed.

Kept essential files:
- README.md (paper directory documentation)
- CRITICAL_FIXES_REMAINING.md (tracking document - can be removed once all fixes verified)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 13:01:35 -05:00
Vijay Janapa ReddiandClaude 748967a705 Improve title and module flow diagram clarity
Title changes:
- Old: "A Framework for Learning ML Systems from Scratch, from Tensors to Systems"
- New: "Build Your Own Machine Learning Framework From Tensors to Systems"
- More active, clearer action-oriented framing

Module flow diagram improvements:
- Increased spacing: node distance 0.8cm→1.0cm (vertical), 1.2cm→1.8cm (horizontal)
- Added minimum width 1.8cm to all nodes for consistency
- Simplified arrows to show primary linear flow within each tier
- Reduced visual complexity while maintaining dependency clarity
- Better readability in two-column format

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 12:42:24 -05:00
Vijay Janapa ReddiandClaude f87be35406 Reorder contributions: systems-first → progressive disclosure → artifact
Strategic reordering with flow improvements:

Old order (mechanism → philosophy → artifact):
1. Progressive Disclosure Pattern
2. Systems-First Curriculum Architecture
3. Replicable Educational Artifact

New order (WHAT → HOW → DELIVERABLE):
1. Systems-First Curriculum Architecture - leads with core novelty
2. Progressive Disclosure Pattern - explains enabler ("To make systems-first learning tractable...")
3. Replicable Educational Artifact - validates both innovations ("Both innovations are validated through...")

Flow improvements:
- Contribution 1: Added "directly addresses the workforce gap" to link back to introduction
- Contribution 2: Opens with "To make systems-first learning tractable" (flows from #1)
- Contribution 2: Added "solves the cognitive load challenge inherent in teaching both"
- Contribution 3: Changed to "Both innovations are validated through" (flows from #1+#2)
- Paper Organization: Reordered section references to match (sec:curriculum,sec:systems,sec:progressive)

Rationale: Systems-first is the headline contribution that differentiates from micrograd/MiniTorch.
Progressive disclosure becomes the answer to "but won't that overwhelm students?"

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 12:25:42 -05:00
Vijay Janapa ReddiandClaude 12c64efd9c Rewrite introduction with clearer narrative structure and stronger positioning
Academic writer improvements to introduction:
- Strengthen problem statement: algorithms vs systems separation creates workforce gap
- Add concrete evidence: students use loss.backward() without understanding graphs
- Reframe three fundamental questions with evidence-based answers
- Enhance compiler course analogy with specific examples (lexical → parsing → codegen)
- Clarify audience with prerequisites (CS229, fast.ai) and exclusions
- Upgrade pedagogical patterns to 'innovations' with measurable outcomes
- Add concrete metrics: Conv2d 109× efficiency, O(N²) scaling, 4× compression

Key structural changes:
- Paragraph 2: Show the gap with concrete missing knowledge examples
- Paragraph 4: Three questions framework provides clearer narrative arc
- Paragraph 5: Compiler analogy promoted and strengthened
- Paragraph 6: Audience scope tightened with specific prerequisites
- Paragraph 7: Pedagogical innovations with bold emphasis and measurements

Maintains honest scope on empirical validation while strengthening demonstrated contributions.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 11:11:56 -05:00
Vijay Janapa ReddiandClaude 66ba448e45 Add workforce gap framing to introduction with supporting citations
Reframe introduction to emphasize ML systems engineering workforce shortage as core problem:
- Open with 3.2:1 supply/demand ratio and 150K global practitioners
- Position tacit knowledge (not algorithmic ML) as bottleneck for systems engineering
- Contrast automation of model design vs. manual judgment for memory/performance tradeoffs
- Add workforce citations: Robert Half 2024 talent gap, Keller Executive Search 2025 AI gap

Introduction now grounds TinyTorch's pedagogical approach in workforce development necessity.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 10:14:09 -05:00
Vijay Janapa Reddi d4dcf4f046 Apply all remaining critical fixes: tinygrad citation, NBGrader format, hedging, consistency 2025-11-18 09:39:19 -05:00
Vijay Janapa Reddi d2145086bb Fix critical factual errors: Perceptron date (1957->1958) and memory calculations 2025-11-18 09:24:24 -05:00
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