Commit Graph
1226 Commits
Author SHA1 Message Date
Vijay Janapa ReddiandClaude d2839ec79a Redesign Figure 3 with vertical module boundaries instead of horizontal lines
Replace confusing horizontal timeline with vertical lines at module boundaries
to show discrete activation points rather than continuous progression.

Key improvements:
- Vertical dotted lines at each module boundary (M01, M03, M05, M09, M13, M20)
- Module 05 activation shown as thick red vertical line with 'ACTIVATE' label
- Removed circular ACTIVATE button - replaced with simple red text label
- Removed horizontal dashed/solid lines that suggested continuous flow
- Features now clearly shown before/after Module 05 boundary

Visual logic now clearer:
- Left of M05 vertical line = dormant features (gray boxes)
- Right of M05 vertical line = active features (orange boxes)
- Vertical alignment shows the exact moment of activation

This addresses user feedback: 'horizontal line really doesn't make sense' and
'put vertical lines that align with each of the milestones'. The redesign makes
it immediately clear WHEN features activate (at Module 05 boundary) rather than
suggesting a gradual continuous transition.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:15:37 -05:00
Vijay Janapa ReddiandClaude 7d298c0dc8 Add missing reference to Figure 3 (progressive disclosure timeline)
Figure 3 (progressive-timeline) was created but never referenced in the text,
leaving readers without guidance on when to consult it.

Added reference at line 627 in the Pattern Implementation subsection, right
after introducing the dormant/activation concept via code listings. The
reference reads: 'Figure 3 visualizes this activation timeline across the
curriculum.'

This ensures all figures in the paper are properly referenced and integrated
into the narrative flow. All other figures and tables were already correctly
referenced.

Reference audit:
✓ Figure 1 (code-comparison) - line 183
✓ Figure 2 (module-flow) - line 290
✓ Figure 3 (progressive-timeline) - line 627 [NEW]
✓ Table 1 (framework-comparison) - line 421
✓ Table 2 (objectives) - line 478
✓ Table 3 (performance) - lines 811, 1013

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:14:00 -05:00
Vijay Janapa ReddiandClaude 2eec9ff736 Enhance figure captions with pedagogical explanations
Transform figure captions from purely descriptive to explanatory, matching
the pedagogical style used for code listings.

Figure 2 (Module dependency flow):
- Before: Basic description of color coding and dotted lines
- After: Explains HOW students build incrementally, WHY the structure matters
  (mirrors compiler courses), and WHAT each tier accomplishes (foundation
  enables architectures enables optimization)
- Adds concrete examples: autograd M05 requires tensors M01, benchmarking
  M19 requires all architectures

Figure 3 (Progressive disclosure):
- Before: Technical description of dormant vs active features
- After: Explains the LEARNING BENEFITS with numbered list:
  (1) Early API familiarity avoids interface surprise
  (2) Forward compatibility demonstrated through unchanged code
  (3) Curiosity-driven motivation through visible inactive features
- Adds concrete example: 'Why does .backward() exist if we can't use it yet?'
  question motivates curriculum progression

Both captions now explain not just WHAT the figure shows, but WHY it matters
for learning and HOW it supports the pedagogical approach. This addresses
user feedback about making figures as explanatory as code listings.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:12:02 -05:00
Vijay Janapa ReddiandClaude f3de9804ae Enhance Figure 1 question/answer contrast in PyTorch and TensorFlow examples
Add questioning comments to PyTorch and TensorFlow code examples to create
pedagogical contrast with TinyTorch's answer-providing comments.

PyTorch additions:
- How much memory? before Linear layer initialization
- Why does Adam need more memory than SGD? before optimizer
- What cost? How fast? in training loop

TensorFlow additions:
- What's happening inside? before model definition
- Why Adam over SGD? Memory cost? before compile
- How does it work? What's the complexity? after fit

This creates the intended question vs answer dynamic where students see
black-box abstractions on the left raising systems questions, while TinyTorch
code on the right provides concrete answers with memory calculations,
complexity analysis, and optimizer state explanations.

Addresses user feedback about making one side look like the question and
the other like the answer.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:10:24 -05:00
Vijay Janapa ReddiandClaude 8f791fdf7d Enhance Figure 1 with systems-focused comments and fix LaTeX itemize errors
## Figure 1 Enhancements

Added informative comments to TinyTorch code example (Figure 1c) to highlight
systems insights students gain from implementation:

**Linear layer:**
- Memory calculation: `out × in_features × 4B`
- Computational complexity: `O(batch × in × out) FLOPs`

**Adam optimizer:**
- Memory insight: "Why 2× memory vs SGD?" (momentum + variance buffers)
- Algorithm clarity: "Exponential moving avg" for momentum/variance updates
- Optimization detail: "Per-parameter adaptive lr" for update rule

These comments make the contrast with PyTorch/TensorFlow (Figures 1a-b) more
explicit: black-box API usage vs. understanding memory costs, computational
complexity, and algorithmic trade-offs.

## LaTeX Fixes

Fixed 4 itemize environment errors from empirical validation roadmap section:
- Added blank lines before all \begin{itemize} environments
- Affected sections: Quantitative Success Criteria (line 600), Phase 1-3 (lines 1036, 1045, 1054)

Paper now compiles cleanly: 24 pages, 389KB PDF, no LaTeX errors.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:06:55 -05:00
Vijay Janapa ReddiandClaude 75f1ce9440 Address critical reviewer feedback: Fix fatal bibliography errors and reframe as design contribution
This commit addresses the #1 issue across all five independent reviewer assessments:
unvalidated pedagogical claims presented as proven outcomes. The paper now properly
positions TinyTorch as a design contribution with testable hypotheses requiring
empirical validation.

## CRITICAL FIXES (Bibliography Errors - All Reviewers Flagged)

### 1. Bruner Citation Corrected (references.bib lines 80-87)
- PREVIOUS: Entry pointed to Frolli et al. (2023) "Narrative Approach and Mentalization"
  (completely wrong paper on behavioral sciences)
- FIXED: Now correctly cites Bruner, J.S. (1960) "The Process of Education"
- IMPACT: Paper claimed to be "grounded in learning theory" while citing wrong source
  for foundational spiral curriculum concept

### 2. Perkins Transfer Citation Corrected (references.bib lines 351-360)
- PREVIOUS: Entry pointed to Burstein et al. (2019) Nature paper on infant mortality
  (hundreds of wrong authors, wrong field, wrong year)
- FIXED: Now correctly cites Perkins & Salomon (1992) "Transfer of Learning"
- IMPACT: Transfer of learning is core claim; citing infant mortality study was fatal error

## MAJOR REVISIONS (Pedagogical Claims Reframing)

### 3. Abstract Repositioned as Design Contribution (paper.tex line 167)
- Changed "three pedagogical patterns" → "three pedagogical DESIGN patterns"
- Added explicit theoretical grounding in parentheses
- Already contained good hedging: "testable design hypotheses whose learning outcomes
  require empirical validation"
- REVIEWER IMPACT: All 5 reviewers identified unvalidated outcome claims as fatal flaw

### 4. Introduction Claims Properly Hedged (lines 358, 365)
- "introduces three pedagogical innovations" → "introduces three pedagogical DESIGN innovations"
- "progressive disclosure manages cognitive load" → "is designed to manage cognitive load"
- "pattern solves the cognitive load challenge" → "is designed to address the cognitive
  load challenge"
- RESULT: Contributions now honest about unvalidated status

### 5. Systems-First Integration Outcomes Qualified (line 816)
- PREVIOUS: "students develop reflexive systems thinking... These questions become automatic"
- REVISED: "students are designed to develop reflexive systems thinking... Whether this
  design successfully makes these questions automatic rather than afterthoughts requires
  empirical validation."
- REVIEWER QUOTE: "Most problematic unhedged claim" - now properly qualified

### 6. Conclusion Research Framing Updated (line 1034)
- "testable hypotheses" → "testable DESIGN hypotheses"
- Added: "to validate whether these design patterns achieve their intended learning outcomes"
- IMPACT: Reinforces honest scope throughout paper

## NEW CONTENT ADDED (Addressing Reviewer Gaps)

### 7. Quantitative Milestone Success Criteria (lines 591-601)
- REVIEWER CONCERN: "What constitutes 'ballpark'?" - vague success criteria
- ADDED: Explicit quantitative thresholds for all 6 major milestones:
  * M03 Perceptron: 100% on linearly separable problems
  * M06 XOR: 100% within 20 epochs
  * M07 MLP: 95%+ MNIST within 10 epochs
  * M10 CNN: 70%+ CIFAR-10 accuracy
  * M13 Transformer: Perplexity <10, coherent 20-token generation
  * M20 Olympics: Student-defined approved metrics
- IMPACT: Makes milestones reproducible and falsifiable

### 8. Empirical Validation Roadmap with Timeline (lines 1023-1051)
- REVIEWER CONCERN: "Vague future work without commitment or methodology"
- ADDED: Concrete 3-phase validation plan spanning 2025-2027:
  * Phase 1 (Fall 2025, n=30-50): Pilot deployment with Paas cognitive load scales
  * Phase 2 (Spring 2026, n=100-150): RCT comparing TinyTorch vs PyTorch-only vs control
  * Phase 3 (2026-2027, n=200+): Longitudinal retention and career tracking
- ADDED: Open science commitment (OSF pre-registration, CC-BY-4.0 data release)
- NEW CITATIONS: Paas (1992) cognitive load measurement, Sorva (2012) concept inventories
- IMPACT: Demonstrates serious empirical validation commitment with specific methodology

## COMPILATION STATUS

Paper compiles successfully with LuaLaTeX:
- 24 pages, 389 KB PDF
- No critical errors
- Standard microtype warnings (normal for academic papers)

## REVIEWER CONSENSUS ADDRESSED

All 5 independent reviews (CS Education, ML Systems, Industry Practitioner, Critical
Reviewer, Learning Sciences) identified the same core issue: pedagogical claims without
empirical evidence. This revision addresses:

✓ Fatal bibliography errors that undermined learning theory grounding
✓ Unhedged outcome claims ("reduces load" → "designed to reduce")
✓ Vague milestone criteria (now quantitative thresholds)
✓ Speculative future work (now concrete 3-phase roadmap)
✓ Abstract positioning (now clearly "design contribution")

The paper now maintains its core technical contribution while being scientifically
honest about scope: design patterns grounded in theory requiring validation, not
proven pedagogical innovations.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:03:39 -05:00
Vijay Janapa ReddiandClaude 9e924a715f Add resizebox to all tables for proper formatting
Applied \resizebox to all three tables in the paper:
- Table 1 (Framework comparison): \resizebox{\textwidth}{!}{...}
- Table 2 (Module concepts): \resizebox{\textwidth}{!}{...}
- Table 3 (Performance): \resizebox{\columnwidth}{!}{...}

This ensures tables scale appropriately whether in two-column or full-width
layouts, preventing overflow and maintaining readability.

Paper compiles successfully: 24 pages, 388KB PDF

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 18:17:53 -05:00
Vijay Janapa ReddiandClaude 1519b1fcd4 Address critical review feedback and reframe as curriculum design paper
Based on feedback from Python developer, professor, and student reviewers,
implemented the following high-priority fixes:

**1. Reframed contributions (Abstract + Section 3.3)**
- Changed abstract to emphasize "design and implementation" of pedagogical patterns
- Added explicit statement: "represent testable design hypotheses whose learning
  outcomes require empirical validation"
- Maintained honest scope in Section 3.3 distinguishing curriculum design from
  empirical validation claims

**2. Fixed Adam optimizer implementation bug (Figure 1c, lines 258-267)**
- CRITICAL FIX: Corrected momentum/variance update to persist between steps
- Changed from local variable assignment (m = ...) to indexed list update (self.m[i] = ...)
- Implementation now correctly accumulates optimizer state across iterations
- Note: Simplified version omits bias correction for pedagogical clarity

**3. Justified monkey-patching pedagogical choice (Section 5.2, line 723)**
- Added "Implementation Choice: Monkey-Patching vs. Inheritance" subsection
- Explained three pedagogical reasons: unified mental model, historical accuracy
  (PyTorch 0.4 Variable-Tensor merger), forward compatibility demonstration
- Acknowledged software engineering trade-off explicitly discussed in Module 05

**4. Fixed Bruner citation error (references.bib, line 80-87)**
- Replaced incorrect Frolli et al. (2023) metadata with correct Bruner (1960)
  "The Process of Education" reference
- Corrected publisher, year, title, and author information

**5. Added type hints limitation acknowledgment (Section 7.1, line 987)**
- New limitation paragraph explaining omission of type annotations for pedagogical
  clarity during foundational learning
- Proposed progressive introduction: omit in Modules 01-05, add in Modules 14-18
- Acknowledges gap in teaching modern Python production practices

**6. Clarified DataLoader/Training Loop sequencing (Section 4.1, line 539)**
- Added explanation: Module 07 uses manual batching to teach training mechanics
- Module 08 refactors into production-quality data loading ("make it work, then
  make it right")
- Addresses student reviewer concern about module ordering

**Review Sources:**
- Python Developer Review (6/10): Technical accuracy, production readiness concerns
- Professor Review (6/10): Empirical validation gap, assessment validity
- Student Review ("I'd start Module 01 this weekend"): Clarity, approachability

**Compilation Status:**
Paper compiles successfully: 23 pages, 380KB PDF

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 18:15:45 -05:00
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