Teaching Philosophy

Three principles, each grounded in research, each enacted in every course I design:

Principle 1

Derive Before Compute

Every concept arrives as the answer to a question the student already owns. Formalism before need creates what Harel (1998) calls motivational debt — students memorize without understanding. In these designs, every module begins with a problem students can't yet solve, and the week's content is the tool that resolves it. Students experience the headache before receiving the medicine.

Principle 2

Build Before Import

Students implement data structures, algorithms, and circuits from scratch before using libraries, frameworks, or pre-built tools. You earn the abstraction by understanding its interior. A student who has built a register from D flip-flops understands register architecture in a way that no textbook diagram can provide. This is Papert's constructionism (1980) applied to the full stack: the artifact is both the learning product and the assessment.

Principle 3

Equity as Design

The social implications of technical systems are part of understanding what those systems do — not a module added at the end. Students who build PageRank analyze whose content the algorithm surfaces and whose it buries. Students who build a facial recognition pipeline measure its accuracy across skin tones. Bias is measurable, so we measure it. This follows Ko (2022), Freire (1968), and hooks (1994): knowledge is liberatory only when connected to the world the student actually inhabits.


Assessment Philosophy

Following Jeff Anderson's (Foothill College) antiracist learning science framework and ungrading practice: timed exams measure anxiety and test-taking strategy, not understanding. They are strong predictors of racial and socioeconomic factors and weak predictors of genuine learning. These curriculum designs use portfolio-based assessment with student-proposed grades.

Every course design includes a public "List of Final Deliverables" visible from Day 1. Students would know exactly what they need to produce and propose their own grades with evidence from a learning portfolio. Mid-term and final self-reflection activities structure metacognitive growth — learning how to learn is a technical outcome, not a soft skill.

The three-track system (Novice / Builder / Architect) provides genuine student autonomy: tracks are chosen weekly, there is no grade penalty for Track I, and Track I is a complete, serious outcome — not consolation. This follows Deci & Ryan's self-determination theory: intrinsic motivation requires autonomy, competence, and relatedness, and all three must be structurally guaranteed.


Signature Project

20 Weeks · Team-Based · Cross-STEM · Completed Curriculum Design

Build a Computer from Scratch

Teams of community college students build a working, programmable 8-bit computer on breadboards — starting from logic gates and ending with a machine that runs real programs. Inspired by Ben Eater's design. Grounded in seven bodies of learning science research: constructionism (Papert), productive failure (Kapur), experiential learning (Kolb), self-determination theory (Deci & Ryan), transfer theory (Perkins & Salomon), situated learning (Lave & Wenger), and intellectual need (Harel).

Every module includes an explicit "STEM Bridge Moment" where the instructor names the connection to physics, mathematics, linear algebra, differential equations, or chemistry — bridging from the breadboard to the student's next math or science course. High road transfer doesn't happen automatically; it must be designed for.

Assessment: Build Journal (30%), Working Module (25%), Integration & Debugging (20%), Public Exhibition (15%), Self-Evaluation (10%). No exams. The computer itself is the most honest assessment — it works or it doesn't.

Open the full project page →


Course Portfolio

Six courses forming a coherent pathway from introductory CS through AI and machine learning, plus supporting mathematics and engineering courses. All courses are open-access, require no purchased textbooks, and use portfolio assessment. Full course pages with weekly plans, project descriptions, and learning science grounding are available at the curriculum site.

CS 180 · 3 Units · Curriculum Design

Introduction to Artificial Intelligence

Search, knowledge representation, planning, machine learning fundamentals, and the ethics of AI systems. Three tracks. Capstone: students build and critically evaluate a system that makes decisions about people.

CS 185 · 3 Units · Curriculum Design

Introduction to Machine Learning

Supervised and unsupervised learning, neural networks, bias auditing, and model interpretability. Every algorithm is a choice about what to optimize, and that choice has a politics. Capstone: bias audit of a production ML system.

CS 210 · 4 Units · In Development

Data Structures and Algorithms

Build-before-import throughout: students implement every major data structure from scratch before reaching for a library. A mini-project for every structure. Grounded in Ko, Knuth, Anderson, Freire, Noble, and Benjamin.

CS 175 · 3 Units · In Development

How Things Work: PageRank, GPS, and the Phone in Your Pocket

Three technologies reverse-engineered from first principles. Students don't just learn that these systems work — they understand why. Includes the Build a Computer signature project.

Math 2B · 3 Units · Curriculum Design

Applied Linear Algebra

Built on Jeff Anderson's ALAF textbook and twelve modeling criteria. Six fundamental problems. Twenty-nine lessons. Derive before compute — the math is useful the moment it's introduced.

ENGR 11 · 3 Units · Curriculum Design

Programming and Problem Solving in MATLAB

MATLAB the way engineers actually use it: model real circuits, understand IEEE 754 floating-point, learn why 0.1 + 0.2 ≠ 0.3 and what that means for the systems we trust with our lives.

See the full curriculum site with weekly plans and project descriptions →


Curriculum as Research

I don't maintain separate identities as "researcher" and "curriculum designer." Every course I design is a potential research site, and every research finding reshapes the designs:

The Build a Computer project is a research instrument.

When this project is piloted, it creates a natural site for studying help-seeking behavior (Q1), belonging (P5), and the effects of physical computing on persistence (Q3). The build journal entries would be a qualitative data source. The milestone completion patterns would be a quantitative data source. The research and the curriculum are the same activity observed from different angles.

SyllabusAudit (P2) was born from self-audit.

The annotation scheme for motivational debt began as a self-audit of my own course materials. I found violations of the necessity principle in my own syllabi — places where I introduced formalism before students had the headache. The research tool I'm building is a tool I already use on my own drafts.

The three-track system is a structural belonging intervention.

If Walton & Brady are right that belonging is structural — communicated by the design of the course, not just the warmth of the instructor — then the track system is a testable belonging intervention. A student who chooses Track I and completes it successfully has received a structural signal that they belong. This is measurable (P5).


Intellectual Lineage

The teaching practice on this page is built on the work of:

Jeff Anderson
Antiracist learning science, ungrading, strategic deep learning, five learner-centered objectives. The foundational influence on everything I build as an instructor.
Seymour Papert
Constructionism. Students learn most deeply by building public, shareable artifacts. The Build a Computer project is a direct application.
Amy J. Ko
Critically conscious computing. Equitable, joyous CS education. Read-before-write sequencing. Student agency as a precondition for learning.
Manu Kapur
Productive failure. Struggle before instruction produces deeper understanding. The debugging sessions in the Build a Computer project are the instruction.
Paulo Freire
The banking model of education reproduces passivity. Knowledge is liberatory when connected to lived experience. Every capstone is student-chosen.
bell hooks
The classroom as a site of freedom. Bringing the full self to learning. Reflective writing alongside every project.

Last updated: April 2026