HENRY FAN / RESEARCH PROGRAM · PLANNING PHASE

The Modeling Bench

A three-paper first-author program — in planning / draft phase — at the intersection of applied linear algebra, hands-on lab pedagogy, and CS education in the age of AI.

Lead author
Henry Fan (papers in draft)
Mentor
Prof. Jeff Anderson, Foothill College
Started
Target venues
PRIMUS · College Math Journal · J. Computing in Higher Ed

Twelve-month program arc

Program Arc
Week 1 of 52
~2% elapsed
Today
Next ritual
Mentor call
Mondays 8 PM PT · Jeff Anderson
Anderson's 8-Step Modeling Process
Every paper maps to these steps. Every log entry can be tagged with the one it advanced.
  1. 1Find
  2. 2Mathematize
  3. 3State ideal
  4. 4Solve
  5. 5Analyze
  6. 6Verify
  7. 7Transfer
  8. 8Iterate

§00Lab Brief

This lab exists to ship three publishable papers within twelve months while building the technical, narrative, and visual fluency needed to apply to a CS-Education / Learning-Sciences PhD.

Henry is the principal author and driver of all three papers. Prof. Jeff Anderson (Foothill College) is his research mentor and second author on every paper: Jeff provides domain heritage, journal taste, and corrective feedback; Henry drives scoping, experiments, drafting, code, hardware, video, and submission. This is a mentee-led research program, not a funded academic lab — the "Modeling Bench" name is a working metaphor for the bench where Jeff's hands-on verification ethos gets practiced, not an institutional claim. The unit of work is the paper. Everything in this site exists to remove friction between an idea and a submitted manuscript.

Operating principle. Every week, two things must move forward: (a) a measurable artifact in at least one paper (data, code, hardware photo, draft section), and (b) a five-minute mentor-ready update. If neither moved, the week is a regression — diagnose why before doing anything else.

Constraints we accept

  • Henry has a full-time CVC-OEI Application Support Analyst role at FHDA. Research is the second shift.
  • Jeff's time is precious. Mentor touchpoints are async-first, asks-only, and never longer than 10 minutes of his reading time.
  • No grant funding. All hardware budgets must justify against a $200/quarter cap.

§01Mentor & Lineage

Three of these papers are deliberate extensions of work Jeff has already published or has explicitly flagged as open in his Math 2BL deliverables doc. This is not speculative — we are stepping into invitations he has already issued in writing.

AnchorSourceHow we extend it
Make Eigenvalues Resonate (MER) Anderson (2018), PRIMUS, 10.1080/10511970.2018.1484400. Jeff's Math 2BL S26 doc explicitly says: "Project To-Do List: Under development (maybe you can help me develop this in spring 2026)?" Paper 1 — open-hardware kit + computer-vision tracking + 3-DOF extension.
Neural Networks Towards Machine Learning Math 2BL S26 deliverables doc, p.14: "Underdevelopment. Come back later." Project does not yet exist as either a curriculum or a paper. Paper 2 — build the missing project from scratch with an SVD-first lens, validated against USPS digits.
LANA + the Anti-Racist Learner-Centered Objectives Anderson (2024), PRIMUS, 10.1080/10511970.2024.2369984; Anderson (2024) blog post on five anti-racist learner-centered objectives. Paper 3 — design & evaluate an AI modeling co-tutor scoped to Jeff's 8-step modeling process and audited against his anti-racist objectives.

What Jeff cares about (read this before every mentor email)

  • Hands-on verification. Every claim must be checkable by a student at a kitchen table. If a student cannot verify it without a teacher, it doesn't ship.
  • Open access. Curriculum, code, hardware specs, and data should be free to remix. No paywalled supplements.
  • Transferable skills over content coverage. "I teach students how to learn, and I do it using linear algebra." Frame contributions in those terms.
  • Anti-racist, learner-centered framing. Jeff has five published learner-centered objectives. Every paper should make explicit which objective it serves.
  • The "$25B eigenvector" tone. Jeff loves papers that make abstract LA concretely consequential — the way Bryan & Leise framed PageRank. Match that storytelling register.
  • The 8-step mathematical modeling process. Jeff's textbook frames every project as find → mathematize → state ideal model → solve → analyze → verify → transfer → iterate. Use these section labels in drafts so Jeff can review fluently.

§02The Three Papers

Three independent contributions; one shared aesthetic. Each paper has a working title, abstract draft, methodology, risks, and a tiny kanban that the rest of this site updates.

P01 · PRIMUS
MER 2.0 — Open-Hardware, Computer-Vision Lab Kit
P02 · PRIMUS
From Matrices to Networks — Linear-Algebra-First Neural Nets
P03 · JCHE / PRIMUS
Anti-Racist AI Tutoring — Design & Evaluation Framework
01
Paper 01 PRIMUS Hardware + Curriculum Backlog

MER 2.0 — An Open-Hardware, Computer-Vision Lab Kit for Coupled-Oscillator Modeling in Lower-Division Linear Algebra

Working title may shorten to: "From Pendula to Eigenvalues: An $80 Lab Kit for Modeling Coupled Oscillators."

Anderson (2018) introduced the Make Eigenvalues Resonate (MER) project as a hands-on bridge from introductory linear algebra to vibrations analysis using a spring-coupled pair of pendula. Six years later, the project still depends on ad-hoc hardware and bespoke video analysis, which limits adoption outside of Anderson's own classroom. We present MER 2.0: a fully reproducible, sub-$80 hardware bill of materials, an open-source OpenCV tracking pipeline that runs from any phone-recorded video, and a three-mass extension that lets students see — and verify by measurement — the eigenstructure of a system with multiple natural frequencies. We report a quarter-long pilot at Foothill College in which N students built the kit, fit eigenvalue-predicted frequencies to physical data within X% error, and self-reported gains on Anderson's five learner-centered objectives. We argue that low-cost reproducible hardware is the binding constraint on the spread of modeling-rich linear algebra labs, and offer MER 2.0 as a template for hardening other projects in the Math 2BL family (LANA, P-blocks).

Research Questions
RQ1. Can a sub-$80 BOM reproduce — within tolerable error — the same eigenvalue-vs-measurement comparisons that the original MER apparatus achieved?

RQ2. Does adding a third mass (and therefore a third visible eigenmode) qualitatively improve students' intuition that eigenvalues are physical things, not just symbols?

RQ3. What is the smallest hardware + software footprint that lets a community-college student verify their own model without a teacher present?
Methodology
Hybrid (engineering + classroom):
  1. Design and bench-test a v2 hardware kit.
  2. Build the OpenCV pipeline as a single Python script + a Colab notebook with zero local install.
  3. Derive the 2-mass and 3-mass equations of motion, diagonalize, and validate predictions against tracked motion.
  4. Run a single-section pilot in Math 2BL Spring 2026 with pre/post survey on Anderson's learner-centered objectives.
  5. Publish kit, code, and curriculum under CC-BY + MIT.
Required math & CS: Eigenvalue/eigenvector decomposition; small-angle linearization; coupled ODEs; OpenCV (BGS, optical flow, or color-blob tracking); basic statistics (RMSE, paired t-test); LaTeX.
Execution Plan — 12 Weeks
  1. Wk 1–2. Reread Anderson (2018) end-to-end. Recreate the original 2-mass derivation by hand. Annotate every figure.
  2. Wk 3–4. Bench prototype: dowel + fishing line + neoprene springs + 3D-printed mass holders. Phone-camera recording on a tripod against a known scale. Cost ledger updated.
  3. Wk 5–6. OpenCV pipeline. Single Python script that ingests an .mp4 and outputs a CSV of (t, x1, x2, x3) plus a fitted-frequency JSON. Colab port.
  4. Wk 7. Derive 3-mass case symbolically (SymPy). Diagonalize. Compare to measured frequencies. Iterate on hardware until RMSE < 5%.
  5. Wk 8. Lock the BOM. Photograph the kit. Write the curriculum sheet (student-facing 8-step modeling worksheet).
  6. Wk 9. Pilot in one Math 2BL section. Pre/post survey. Collect at least one student-built kit photo per group.
  7. Wk 10. Draft v1 of paper following PRIMUS structure (Motivation → Theory → Activity → Student Work → Reflection).
  8. Wk 11. Mentor-review pass with Jeff. Revisions.
  9. Wk 12. Submit to PRIMUS.
Risks & Failure Modes

Hardware drift. Cheap springs have nonlinear and temperature-sensitive constants — RMSE may explode. Mitigation: characterize each spring before assembly; report uncertainty bounds.

Tracking failures. Phone video at 30 fps may alias the higher modes. Mitigation: 60 fps minimum; verify Nyquist at design time.

IRB / consent. Pre/post survey of students requires Foothill IRB exemption. Start the paperwork in Wk 1, not Wk 8.

Scope creep. Resist the urge to also rewrite the LANA paper. Three-mass case is the ceiling.

Publishable vs Mediocre

Mediocre: "Here is a cheaper version of MER, and students liked it."

Publishable: "Here is the smallest verifiable footprint at which a student can check eigenvalue theory against the physical world without a teacher; here is the data; here is the BOM you can buy from Amazon today." The contribution is the verifiability floor, not the cost reduction.

02
Paper 02 PRIMUS New Curriculum Backlog

From Matrices to Networks — A Linear-Algebra-First, Hands-On Introduction to Neural Networks for Community College Students

Working title may shorten to: "What the Network Saw: Teaching Neural Nets via Eigenanalysis of Trained Layers."

The Math 2BL curriculum at Foothill College lists a "Neural Networks Towards Machine Learning" project that has been marked under development for several years. We present the first complete version of this project. Rather than treating neural networks as a separate paradigm bolted onto a linear algebra course, we frame a single-hidden-layer network as a sequence of matrix operations whose learned weight matrices have geometrically interpretable singular values. Students train a network on the USPS handwritten digit dataset, then perform an SVD on each weight matrix and visualize the top singular vectors as eigen-strokes that the network has learned to detect. We argue this inversion — train first, decompose second — gives community college students an honest, mechanistic account of what a neural network is doing without requiring multivariable calculus. We include a complete laboratory worksheet, a Colab notebook, an eight-step modeling rubric, and a small empirical study of student conceptual gains.

Research Questions
RQ1. Can a single-hidden-layer NN trained on USPS digits be unpacked using only Math 2B-level linear algebra (SVD, eigen-decomposition, basis change)?

RQ2. Do students who follow the train-then-decompose path develop more correct mental models of "what the network learned" than students who follow a calculus-first backprop path?

RQ3. What is the minimum-viable hands-on activity that gives a community college student a mechanistically honest first encounter with a neural network?
Methodology
Hybrid:
  1. Build the activity end-to-end as a Colab notebook (NumPy only — no PyTorch/TensorFlow for v1, to keep the linear algebra unobstructed).
  2. Train on USPS, achieve a baseline accuracy >90%.
  3. Compute and visualize the SVD of W₁ as 16×16 grayscale "eigen-strokes."
  4. Build a paired worksheet that walks a student through the modeling process using Anderson's 8 steps.
  5. Pilot with 6–10 Math 2BL students; compare against a control reading group that does the standard backprop tutorial.
  6. Score conceptual gains with a custom 10-item instrument we develop and pilot.
Required math & CS: SVD, eigenvalue/eigenvector, basis change, matrix-vector products as linear maps, gradient descent at the level of "we minimize loss by walking downhill," NumPy, Colab, basic data viz (matplotlib). Critically, no chain rule prerequisite.
Execution Plan — 12 Weeks
  1. Wk 1–2. Read Strang Linear Algebra and Learning from Data §I.8 + Nielsen Ch. 1–3. Side-by-side notes on which steps require calculus.
  2. Wk 3. Build the NumPy-only training loop. Achieve >90% USPS test accuracy.
  3. Wk 4. Compute SVD of trained W₁. Visualize top-16 left singular vectors as 16×16 images. Confirm they look like strokes/curves, not noise.
  4. Wk 5. Draft the 8-step modeling worksheet. Each step maps to a Math 2B concept.
  5. Wk 6. Build the conceptual instrument (10 items, mix of multiple-choice and short-answer). Pilot it on yourself + 2 friends.
  6. Wk 7–8. Run the pilot in Jeff's class. Collect pre/post.
  7. Wk 9. Score, analyze, write results section.
  8. Wk 10–11. Draft full paper. Mentor pass.
  9. Wk 12. Submit to PRIMUS.
Risks & Failure Modes

The "eigen-strokes" don't look like strokes. If the SVD of W₁ produces noise, the central pedagogical claim collapses. Mitigation: prototype this in Wk 1 before committing. Fallback: use a deeper net and SVD the activations of the first layer instead of the weights.

n is too small for statistics. A community-college pilot will give n < 30. Treat this as design-based research, not RCT. Frame it as a case study per PRIMUS norms.

Reviewers ask "why no PyTorch." Have a one-sentence answer: NumPy keeps the linear algebra visible; PyTorch's autograd hides exactly the matrix structure we are trying to teach.

Publishable vs Mediocre

Mediocre: "Here is a Colab that trains an MLP on MNIST."

Publishable: "Here is the first activity that lets a precalculus-only student look inside a trained network and see linear algebra primitives staring back. Here is the worksheet, the instrument, and the pilot data." The contribution is the inversion: decomposition as the first encounter, training as the means.

03
Paper 03 JCHE / PRIMUS CS Ed × AI Backlog

Anti-Racist AI Tutoring in the Applied Modeling Classroom — A Design and Evaluation Framework

Working title may shorten to: "Modeling Co-Pilots, Not Answer Vendors: Auditing an LLM Tutor Against Five Learner-Centered Objectives."

Large language models have entered college mathematics classrooms faster than instructors have been able to evaluate them. Most off-the-shelf LLM tutors optimize for final-answer correctness, which directly undermines the goals of an authentic mathematical-modeling course where the verification, transfer, and iteration steps are the entire point. We present a design-based research study in which we constrain a frontier LLM to act as a modeling co-tutor scoped to Anderson's eight-step applied modeling process and audited against his five published anti-racist learner-centered objectives. We describe the system architecture (a thin web app with prompt scaffolding and refusal heuristics), the audit framework (a rubric mapping each learner-centered objective to LLM behaviors that satisfy or violate it), and a pilot with N Math 2BL students working on the LANA and MER projects. We find that the constrained tutor produces qualitatively different student artifacts than an unconstrained baseline: more verification work, more iteration steps logged, fewer unjustified final answers. We argue that the design question for AI in CS-and-math education is not "will it cheat for students," but "which student-led practices does the tutor make easier?"

Research Questions
RQ1. Can a frontier LLM be prompted to refuse final-answer requests and instead elicit student work in each of Anderson's eight modeling steps?

RQ2. Do students using the constrained tutor produce artifacts that better satisfy Anderson's five anti-racist learner-centered objectives than students using an unconstrained baseline (e.g., default ChatGPT)?

RQ3. What categories of LLM failure are most dangerous in an authentic modeling classroom, and how should they be flagged in real time?
Methodology
Design-based research:
  1. Build a scoped LLM tutor as a single-page web app calling the Anthropic / OpenAI API with a system prompt that encodes the 8 steps and refusal heuristics.
  2. Develop an audit rubric: a 5×3 matrix where rows are Anderson's learner-centered objectives and columns are supports, neutral, violates.
  3. Two-arm pilot with Math 2BL volunteers — constrained tutor vs. baseline LLM — on a shared LANA or MER task.
  4. Code the resulting student artifacts against the audit rubric.
  5. Semi-structured interviews with 4–6 students about what the tutor made easier and what it foreclosed.
Required math & CS: LLM API integration (Anthropic SDK or OpenAI SDK); prompt engineering; design-based research methodology; qualitative coding (deductive, rubric-driven); enough linear algebra to evaluate the LANA/MER artifacts students produce. Web stack: vanilla JS + a serverless function for the API key, deployed on GitHub Pages + a tiny Cloudflare Worker.
Execution Plan — 12 Weeks
  1. Wk 1–2. Operationalize Anderson's five learner-centered objectives into a 5×3 audit rubric. Get Jeff's sign-off in one async pass.
  2. Wk 3. Build the system prompt v0. Test against 20 hand-written student questions drawn from MER + LANA.
  3. Wk 4–5. Build the SPA. Logging baked in: every turn captured + tagged with which step of the 8-step process the student was in.
  4. Wk 6. Pilot dry run with one friendly Math 2BL student. Iterate the prompt.
  5. Wk 7–8. Recruit pilot. Run two-arm study. IRB exemption needed early.
  6. Wk 9. Code the artifacts against the rubric. Inter-rater reliability with Jeff on a 20% sample.
  7. Wk 10–11. Draft. Consider J. Computing in Higher Ed, PRIMUS, or Mathematical Thinking and Learning as targets.
  8. Wk 12. Submit.
Risks & Failure Modes

The tutor refuses too much and is unusable. Mitigation: pilot the prompt against student questions in Wk 3, not Wk 7. Set a refusal-rate ceiling.

n is small & selection-biased. Frame as design-based research, not causal. Lean on the artifact analysis, not on hypothesis tests.

API key leakage. Never put the API key in client-side code. Use a Cloudflare Worker proxy with a per-IP rate limit.

Model deprecation mid-study. Pin the model snapshot. Document the exact ID in the methods section.

Publishable vs Mediocre

Mediocre: "We prompted ChatGPT to be a math tutor and students liked it."

Publishable: "We took a published, named, anti-racist learner-centered framework, operationalized it into a behavioral audit rubric, scoped a frontier LLM against an 8-step modeling process, and produced evidence that constraint quality matters more than model quality." The contribution is the audit framework, not the chatbot.

Why these three and not others. A longer list of seven candidates (image morphs/warps, Eigenfaces, P-block 2.0, Computer Graphics & 3D Animations, Cubic Splines, GPS Least-Squares, an Anderson-curriculum effectiveness study) is preserved in templates/long-list-of-candidates.md for future quarters. The three above were chosen because each one is anchored to a specific written invitation from Jeff (a published paper to extend, an "under development" project to build, or a published framework to operationalize), and because together they span hardware, curriculum, and HCI — the three kinds of work an HCI/Learning Sciences PhD application needs to demonstrate.

§03Weekly Workflow

Eight protected hours per week, distributed so no single paper starves and no single day eats Henry alive. The day-of-week assignments are templates, not laws.

Monday — Deep Work A

06:00–07:30 · 1.5h
  • Active paper drafting (the paper at the front of the queue this week)
  • One LaTeX commit minimum
  • End with a one-sentence "what's next"

Tuesday — Experiment / Code

06:00–07:30 · 1.5h
  • Write or run the next experiment
  • Commit raw output to experiments/<date>/
  • Update the experiment ledger

Wednesday — Read & Annotate

06:00–07:00 · 1h
  • One paper, one pass, one page of notes
  • Save into reading/<first-author-year>.md

Thursday — Deep Work B

06:00–07:30 · 1.5h
  • Active drafting on the second paper in queue
  • Same rules as Monday

Friday — Mentor Touchpoint Prep

06:00–06:45 · 0.75h
  • Write the weekly mentor email (template below). Do not send yet.
  • Sit with it overnight; trim by 30%.

Saturday — Long Block

08:00–10:00 · 2h
  • The biggest single thing of the week (hardware build, multi-step experiment, full draft pass)
  • Send the trimmed mentor email at end of session

Sunday — Review & Plan

19:00–19:45 · 0.75h
  • Weekly review (template below)
  • Update kanbans on each paper card
  • Set the queue order for next week

Always-on slack

~1h floating
  • Reading on commute
  • Voice memos for video scripts
  • Capture into Second Brain

Mentor protocol — keep Jeff's load under 10 min/week

  1. Async first, sync rare. One email per week, max one in-person meeting per month.
  2. Asks-only emails. Each email contains exactly one decision needed from Jeff, a TL;DR, and links — never an open-ended "thoughts?"
  3. Default to drafts. If you would normally ask "should I…?", instead send a working draft and ask "anything I should change before I commit?"
  4. Mentor budget. If you have used >30 minutes of Jeff's time this month, the next ask must be a status update, not a question.

§04Research Log

A persistent, paper-tagged journal. Entries live in localStorage on this device — they survive page reloads but should be exported to git monthly via Export JSON.

    Last exported: never.

    Draft mentor update

    Skeleton built from your log entries in the last 7 days, grouped by paper. Edit before sending — the ask, proposed answer, and next-week bullets are placeholders.

    Keyboard shortcuts

    l
    Focus the "What moved" log input
    /
    Focus the log search
    m
    Draft the weekly mentor update
    ?
    Show or hide this help
    Esc
    Close any open dialog

    Shortcuts are disabled while you're typing in an input, textarea, or select, so they never hijack the log form. Modifier keys (⌘, Ctrl, Alt) are also ignored.

    §05Experiment Tracker

    An experiment is anything that can fail and yield a number. Hardware bench tests, code runs, prompt evaluations, and survey pilots all count.

    NamingStorageRequired fields
    EXP-<paper>-<NN>-<slug>
    e.g. EXP-01-03-spring-stiffness
    ~/research-lab/experiments/EXP-01-03-spring-stiffness/ in git question · setup · what would falsify it · raw outputs · conclusion in one sentence

    Every experiment folder must contain a README.md populated from templates/experiment.md. If you cannot fill in "what would falsify this," you do not yet have an experiment — you have a hope.

    §06YouTube & Visualization Pipeline

    One companion video per paper, each in the 6–9 minute range. The video is not a marketing afterthought — it is a forcing function for clarity. If you cannot animate the core idea, you do not yet understand it.

    PaperCore visual insightToolsAnimation ideas
    P1 — MER 2.0 An eigenvector is a shape the system likes to vibrate in. The shape is physical, not symbolic. Manim (math), Blender (hardware shots), DaVinci Resolve (edit), Audacity (VO), Affinity Designer (thumbnails) (1) Phase-space animation of a 2-mass system: random initial condition, then projected onto each eigenmode, side by side.
    (2) Slow zoom from real pendulum footage → tracked dots → derived (x1,x2) trajectory → diagonalized (q1,q2) trajectory.
    (3) The diagonalization step animated as a literal rotation of the coordinate axes.
    (4) Transition: 2-mass → 3-mass, showing a third mode "appearing" as a new direction in state space.
    (5) Final: BOM laid out flat with prices, pan to a student running the Colab.
    P2 — Matrices to Networks The trained network is just a stack of matrices, and the SVD shows you what each layer "looked for." Manim (math), 3Blue1Brown-style typography, NumPy + matplotlib captures, OBS for screen captures, DaVinci Resolve (1) A USPS digit getting flattened into a vector, then matrix-multiplied — show the matrix lighting up cell by cell.
    (2) Training animated as the loss surface dimming, with W₁ updating each frame.
    (3) The reveal: SVD of W₁, top-16 left singular vectors arranged as 16×16 images. The animation is just sorting them by σ — and the strokes emerge.
    (4) Show two networks side by side: one trained on USPS, one on Fashion-MNIST. The eigen-strokes look totally different. Visceral.
    (5) Closing: a precalculus student walks through one full SVD slide.
    P3 — AI Modeling Tutor An AI tutor's value is what it refuses, not what it answers. Screen capture (OBS), After Effects or Manim for the rubric viz, DaVinci Resolve, lower-thirds in Affinity Designer (1) Split-screen: same student question to baseline ChatGPT vs. the constrained tutor. Show the conversation diverge.
    (2) The 5×3 audit rubric drawn live, color-filling cell by cell as the conversation progresses.
    (3) "8 steps" as a horizontal track at the bottom of the screen, lighting up in real time as the student moves through the modeling process with the tutor.
    (4) A failure case: the tutor giving a too-confident wrong answer, with the audit rubric instantly going red. Honest reporting.
    (5) Closing voiceover from a real student about what the tutor made easier.

    Standard 7-minute video script structure

    1. 0:00–0:20 — Hook. A single image or claim that would make a Math 2B student stop scrolling. No throat-clearing.
    2. 0:20–1:00 — The question. What problem is this paper solving? Who has it? Why has nobody solved it yet?
    3. 1:00–2:30 — The minimum linear algebra. The smallest set of LA concepts a viewer needs. Manim animation of one core idea.
    4. 2:30–4:30 — The contribution. The hardware / code / framework, shown working. Real footage, real numbers.
    5. 4:30–6:00 — What the data says. Pilot results, with honest uncertainty. Show the failure cases.
    6. 6:00–6:30 — What this changes. One sentence about the bigger frame: classroom practice, equity, AI in education.
    7. 6:30–7:00 — Call to action. Link to the paper, the GitHub, the Colab, and an invitation to remix.

    Translating linear algebra into intuitive visuals — Henry's house rules

    • Always show the basis. Vectors are nothing without an explicit coordinate system on screen. Animate the basis change, do not just write "let v = Px."
    • Color = direction, brightness = magnitude. Lock this convention across all three videos so viewers transfer intuition between them.
    • Diagonalization is a rotation. Whenever a matrix is diagonalized, animate the rotation. Never let "P⁻¹AP" be a static formula.
    • Eigenvectors are arrows that survive. Animate by transforming a circle of vectors, then highlighting only the ones that did not change direction.
    • SVD is two rotations and a stretch. Always animate UΣVᵀ in this geometric sequence, never as three matrices being multiplied.
    • One whiteboard, one camera, one voice per video. Resist the temptation to over-edit. Production value comes from clarity of thought, not transitions.

    §07Templates

    Open in any markdown editor. Copy, fill, rename, commit. Each template is short on purpose — friction kills logging.

    §08Repo & Git Strategy

    One repo per paper, one umbrella repo for the lab. Public from day one — Jeff's whole philosophy is open access.

    research-lab/                   ← this site (already in fansofhenry.github.io)
    ├── index.html
    ├── styles.css
    └── templates/
    
    modeling-bench-mer/              ← Paper 01 repo (separate, on GitHub)
    ├── hardware/                    BOM.csv, photos/, stl/
    ├── code/                        tracker.py, colab.ipynb
    ├── data/                        runs/2026-MM-DD/...
    ├── paper/                       primus-mer2.tex, figures/
    ├── pilot/                       irb-exemption.pdf, survey.csv
    └── README.md
    
    modeling-bench-nnml/             ← Paper 02 repo
    ├── notebooks/                   train_usps.ipynb, svd_viz.ipynb
    ├── data/                        usps/
    ├── instrument/                  10-item.pdf, scoring-key.md
    ├── paper/
    └── README.md
    
    modeling-bench-aitutor/          ← Paper 03 repo
    ├── app/                         spa/, worker/
    ├── prompts/                     v0/, v1/, ...
    ├── rubric/                      audit-5x3.md, examples/
    ├── pilot/                       irb-exemption.pdf, transcripts/
    ├── paper/
    └── README.md

    Branch & commit conventions

    • Trunk-based: main always builds. Long-running branches only for the paper draft itself (paper/v1, paper/v2).
    • Commit messages: p1: bench v3 — 3-spring sweep, RMSE 4.7% — paper tag, one-line story, key number.
    • Tag every submission: git tag submitted-primus-2026-XX.
    • Every Sunday: git log --since="1 week ago" --oneline goes into the weekly review.

    §09PhD Program Targets

    The three papers are the vehicle; this section is the destination. Five primary faculty, ranked by how tightly their 2024-2026 research overlaps Papers 01/02/03. Full dossier, verification checklist, and first-email template live in templates/phd-targets.md.

    Field-wide caveat — read first. The CS-Education / Learning-Sciences PI community is in NSF turbulence. In June 2025 Amy Ko (UW iSchool) publicly stated she is unsure she will recruit for 2027-28 because a DOGE-driven NSF termination killed one of her grants and a postdoc line. This is not unique to her lab. Every PI below must be asked the same opening question in the first email: "Are you planning to recruit a PhD student for Fall 2027, and is that cohort contingent on a specific grant renewal?" A five-second skim of their site cannot answer this.

    Selection criteria for this list

    1. At least one first-authored or last-authored paper from the PI's group in 2024-2026 that overlaps a specific Paper 01/02/03 method or frame.
    2. Live funding signal (active NSF / IES / foundation award or diversified institutional money — not a single DRK-12 hoping for renewal).
    3. Lab is currently supervising PhD students and has placed a recent first-author student into a tenure-track job or research role.
    4. Program houses a doctoral path a CS-Ed / HCI / Learning Sciences applicant can actually enter (not gate-kept by a CS theory qualifier).

    Last verified: 2026-04-10. Re-verify each PI's active-award status against nsf.gov/awardsearch before sending any email — this list is a starting point, not a fact.

    01
    Primary 01 Paper 01 + 02 fit Reach
    Paulo Blikstein — Columbia Teachers College
    TLTL + FabLearn · TC Communication, Media, and Learning Technologies Design (EdD / PhD)
    Why #1
    His June 2025 papers are "Making to Empower Teacher Problem Posing and Design" and "Making Sensor Data Dear: Accessible Sensing Platforms as Conduits to Localized, Personally Meaningful Data Science." That is a one-year-earlier version of Paper 01's $80 open-hardware + computer-vision-tracking story, written by someone else. FabLearn's constructionist / open-access / hands-on-verification ethos is a near-perfect overlay on Jeff's "kitchen-table checkable" and "anti-racist learner-centered" frames.
    Live Funding Signal
    2020 NSF DRK-12 Level-2, ~$2M, 3 years, for a technological ecosystem enabling students to build/test/compare their own ideas about science. Two books under contract with MIT Press for 2025-26. TLTL currently supervises ~13 PhDs and ~100 MS students.
    Must Verify Before Emailing
    Whether the 2020 DRK-12 has been renewed or followed by a new DRK-12 / CAREER-scale award covering 2026-29. Search NSF AwardSearch for "Blikstein" with Active=true.
    First Read
    Both June 2025 TLTL papers end-to-end. Pull one specific claim from each and draft the one-sentence "this is how Paper 01 extends your 2025 work" hook.
    Links
    02
    Primary 02 Paper 02 fit Reach
    Michelle Wilkerson — UC Berkeley Graduate School of Education
    CoRE Lab · Education in Mathematics, Science, and Technology (EMST) doctoral program
    Why she fits
    Wilkerson's whole research program is about computational modeling as an epistemic practice — students building, critiquing, and rebuilding models as knowledge objects. Paper 02's move of reading an SVD of a trained weight matrix as an explanatory artifact is a textbook instance of her frame. She also collaborates with Blikstein + MIT on NSF DRK-12 A2S, so Blikstein + Wilkerson is a single ecosystem, not two independent bets.
    Live Funding Signal
    NSF DRK-12 Award 2010413 "From Access to Sustainability" (A2S), co-PI. Writing Data Stories (NSF, 2019-start). 2014 NSF CAREER.
    Must Verify Before Emailing
    Is A2S 2010413 still within its funded window? Is Wilkerson on the 2026-27 GSE admissions faculty list?
    First Read
    Her most recent A2S or Writing Data Stories paper from 2024-2025. Goal: one sentence explaining Paper 02's SVD move as computational-modeling epistemic practice in her sense — not as a CS-Ed intervention.
    Links
    03
    Primary 03 Paper 01 + 02 + 03 fit Reach
    Mark Guzdial — University of Michigan
    CSE + LSA Program in Computing for Arts and Sciences (PCAS)
    Why he fits
    His current NSF-funded work is Task-Specific Programming — "teaspoon languages," tiny DSLs that let a discrete-math class, a social-studies class, or a linear-algebra class get 20 minutes of computing without a full CS curriculum. That is a near-exact linguistic sibling of Jeff's "I teach students how to learn, and I do it using linear algebra." Henry's CVC-OEI day job and Math 2BL reality are the same problem: add a teaspoon of computing to a class that is not CS. Guzdial also ran the multi-state ECEP alliance, so he thinks at the 115-college infrastructure scale Henry already operates at.
    Live Funding Signal
    Active NSF grant "Task-Specific Languages as Scaffolding for Programming in Discrete Mathematics Classes." Past: multi-million ECEP alliance. Present at SIGCSE TS 2025.
    Must Verify Before Emailing
    (a) Active students in his group, their thesis topics, their year — indicates what he actually funds. (b) Explicit PCAS vs CSE application path for an LS-leaning applicant. Read his Computing Education Research Blog to see what he cares about in a student.
    First Read
    His most recent Teaspoon languages paper + 3 recent blog posts.
    Links
    04
    Primary 04 Paper 03 fit Reach
    Betsy DiSalvo — Georgia Tech School of Interactive Computing
    CAT Lab · Human-Centered Computing (HCC) PhD · currently Interim Chair of IC
    Why she fits
    DiSalvo founded DataWorks in 2020 — a paid data-wrangling workplace for young adults from minority communities — and her research thread is participatory design with Black and Latina learners in informal CS settings. Her "maker-oriented learning for transfer and reflection" NSF language is the exact frame Papers 01 and 03 need. Strongest anti-racist-learner-centered alignment on this list. Interim Chair = institutional pull to get students funded when others can't.
    Live Funding Signal
    Multiple NSF-funded CS-Ed projects (maker-oriented learning, DataWorks). Interim Chair = institutional permanence.
    Must Verify Before Emailing
    Specific NSF award IDs underwriting DataWorks and the maker-oriented-learning project today (her GT Research profile links to them). 2024-2026 papers on the CAT Lab publications page with student first authors — indicates placement track.
    First Read
    Her most recent 2024-2026 CAT Lab paper with a student first author. Pull one methodological move and write "Paper 03's LLM audit protocol adapts your [X] method to Jeff Anderson's five anti-racist objectives."
    Links
    05
    Primary 05 Paper 03 fit Reach — hardest
    Ken Koedinger — Carnegie Mellon HCII
    LearnLab · CMU HCII PhD · Simon Initiative scientific lead
    Why he fits
    Koedinger directs LearnLab. His PLUS project is hybrid human-AI tutoring for middle-school math, deployed in real classrooms around the country. Paper 03 is a younger sibling scoped to community college and audited against Jeff's five anti-racist objectives. Koedinger has been, for 25 years, the person in CS who cares whether the tutor improves learning, not whether students like it. LearnLab's funding is diversified across NSF + IES + Simon Initiative institutional money — a hedge against 2025 DOGE risk.
    Live Funding Signal
    PLUS deployed across multiple districts. LearnLab = scientific arm of CMU's Simon Initiative (post-NSF-center funding). 45+ grants lifetime, 250+ papers.
    Must Verify Before Emailing
    (a) Does PLUS itself have an active NSF or IES award? Classroom-trial money is often IES. (b) Who is the day-to-day co-advisor? Koedinger often co-advises with Vincent Aleven or Bruce McLaren; the co-advisor matters more than the named PI on a CMU thesis.
    First Read
    One 2024-2025 PLUS paper + one older Koedinger foundational paper on the KLI (Knowledge-Learning-Instruction) framework. KLI is the conceptual spine Paper 03's audit rubric should cite.
    Links

    Honorable mentions — add these to complete a 3 reach / 5 match / 3 safety portfolio

    PI Institution / Program Paper fit Tier Key signal
    Philip Guo UC San Diego, Cognitive Science (joint Design Lab + CSE) Paper 03 Reach 2025 O'Reilly piece "Using Generative AI to Build Generative AI: Adding AI Chat to Python Tutor." 20M+ users. Cog Sci admissions surface is friendlier than CSE.
    Eleanor O'Rourke Northwestern, joint CS + Learning Sciences Paper 03 Reach 2021 NSF CAREER ($597,870, 5yr), "Intelligent Learning Environments That Support the Practice of Programming" — runs through ~2026. Joint CS/LS advising is rare.
    Stephen MacNeil Temple University, Computer & Information Science Paper 03 Match Assistant prof. Active on LLMs in CS ed: buggy-code generation, recursion analogies, AI copilot pedagogy. Essential for the 3/5/3 split.
    Colleen Lewis UIUC, Siebel School of Computing and Data Science Paper 03 Reach NSF CAREER + $500K NSF co-PI with Paul Bruno on CS-ed policy analysis. Strongest CS-teaching-plus-equity fit at a top-10 CS department.
    David Weintrop University of Maryland, joint College of Education + iSchool Paper 02 Reach Active NSF CAREER 2141655 ($1.04M, 2022-2026), "Situating Computational Learning Opportunities in the Digital Lives of High School Students." Joint Ed + iSchool home is unusual and flexible.
    This week. (1) Read the 5 "first read" papers listed above — ≤1 day. If you cannot write a one-sentence hook per PI linking their 2024-2026 paper to Paper 01/02/03, they do not go on the SoP list. (2) Verify live-award status for each PI on nsf.gov/awardsearch — record award #, title, end date in templates/phd-targets.md. (3) Draft the first-email template once (see phd-targets.md) and send to the top 5 in early September 2026 — not in December when everyone panics.