Commit Graph
1285 Commits
Author SHA1 Message Date
Vijay Janapa Reddi cb2059c06f Clean up Module 05: Remove unused sys and os imports 2025-11-19 08:54:00 -05:00
Vijay Janapa Reddi 42470e64d8 Clean up Module 03: Remove unused sys and os imports 2025-11-19 08:53:58 -05:00
Vijay Janapa ReddiandClaude e54ec0faa6 Restore corrupted references.bib entries
The references.bib file had several corrupted entries where bibliography
data was overwritten with incorrect content:
- perkins1992transfer was showing a Nature epidemiology paper
- bruner1960process had wrong data
- Other entries were malformed

Restored from previous commit to fix all corruption issues.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 08:46:50 -05:00
Vijay Janapa ReddiandClaude f31865560e Add enumitem package to fix itemize formatting
The itemize environment parameters [leftmargin=*, itemsep=1pt, parsep=0pt]
were appearing as visible text in the PDF because the enumitem package
wasn't loaded. This fix adds \usepackage{enumitem} to the preamble.

All itemized lists now format correctly with proper spacing and margins.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 08:43:41 -05:00
Vijay Janapa ReddiandClaude 31548e88fe Add missing citations from research review
Added three citations for bibliography entries that existed but weren't cited in the text:

1. meadows2008thinking - Added at line 586 for systems thinking discussion
2. vygotsky1978mind - Added at line 906 for NBGrader scaffolding discussion
3. thompson2008bloom - Added at line 914 for automated assessment framework

Note: aho2006compilers already cited at line 308 (compiler course model)
Note: MLPerf date already correct at line 618 (says 2018, not 2024)

All citations verified in references.bib and paper compiles successfully.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 21:26:14 -05:00
Vijay Janapa ReddiandClaude 8f1188c78b Clean up temporary review and analysis files
Remove temporary files from repository:
- COMPREHENSIVE_MODULE_REVIEW.md - Module review (temporary)
- paper/CITATIONS_TO_ADD.md - Citation recommendations (temporary)
- paper/CLAIM_EVIDENCE_MATRIX.md - Evidence validation (temporary)
- paper/EVIDENCE_INVENTORY.md - Evidence tracking (temporary)
- paper/LITERATURE_REVIEW_ASSESSMENT.md - Literature review (temporary)
- paper/PYTHON_DEVELOPER_TECHNICAL_REVIEW.md - Code review (temporary)
- paper/NEW_CITATIONS.bib - Temporary citations (content in references.bib)
- paper/proposed_figures.tex - Figure proposals (temporary)

Update .gitignore to prevent tracking these file types:
- Add patterns for *_REVIEW*, *_MATRIX, *_INVENTORY, *_ASSESSMENT
- Add NEW_CITATIONS.bib and proposed_figures.tex patterns
- These files are AI-generated temporary analysis artifacts

Update paper.pdf with latest compilation including caption styling.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 20:51:32 -05:00
Vijay Janapa ReddiandClaude fda66004b1 Clean up LaTeX build artifacts and add to gitignore
- Add LaTeX build artifacts to .gitignore (aux, bbl, blg, out, etc.)
- Remove tracked build artifacts: paper.aux, paper.bbl, paper.blg, paper.out
- Remove empty benchmark_results.txt file

These files are regenerated on each compilation and should not be tracked.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:29:35 -05:00
Vijay Janapa ReddiandClaude 27e1dd1495 Add consistent caption styling and enhance table captions
Caption Styling:
- Add bold labels (Figure/Table/Listing numbers) for visual hierarchy
- Use small font size with proper spacing (8pt skip)
- Period separator after labels for professional appearance
- Justified text alignment for clean presentation
- Position tables captions at top, figures at bottom (academic standard)

Enhanced Table Captions:
- Table 1: Explain TinyTorch's bridging role between educational and production frameworks
- Table 2: Clarify dual-concept pedagogy (ML algorithms + systems implications)

All captions now follow consistent pedagogical structure:
1. Opening statement of what element shows
2. Key components and their significance
3. Educational rationale and learning benefits

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:28:16 -05:00
Vijay Janapa ReddiandClaude dfe9b4ef6d Align progressive disclosure feature boxes precisely at Module 05 boundary
Fixed visual alignment issue where dormant and active feature boxes were
floating separately instead of meeting at the activation point.

Key improvements:
1. Feature boxes now use anchor=east (dormant) and anchor=west (active)
2. Both positioned at exactly x=6 (Module 05 vertical line)
3. Dormant boxes END at the red line, active boxes START at the red line
4. Made gray dotted module boundary lines darker (gray!60 instead of gray!40)
5. Increased box width to 2.0cm for better visual balance

Visual logic now perfectly clear:
- Gray boxes extend left from M05 = features exist but dormant
- Orange boxes extend right from M05 = features now active
- Red vertical line at M05 = exact moment of activation
- Boxes meet precisely at the boundary with no gap or overlap

This addresses user feedback: 'why aren't the .backward() and so forth really
aligned exactly at that point?' Now they ARE precisely aligned, making the
discrete activation event visually obvious.

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

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