Lecturer at Washington University in St. Louis

Ilan Goodman

I teach computer science by asking students to build things, explain why they work, and notice where the clean abstraction starts to run into the messy system.

My work sits between teaching, theoretical computer science, data engineering, and assessment design. I care about rigorous ideas, modern tools, and the habits students need after the classroom.

2 WashU courses designed from scratch
8+ years in data and ML engineering
6.92/7 CSE 5114 real-world applications, Spring 2026

What I do

I build courses where theory, tools, and feedback reinforce each other.

01

Theory with modern tools

I love theoretical computer science, and I also want students to see how rigorous ideas behave when they are implemented with current tools, messy data, and real constraints.

02

Systems thinking with AI in the room

I teach students to use AI tools responsibly without outsourcing their judgment. I want them to produce code and understand architectures, tradeoffs, tests, and failure modes.

03

Industry as a teaching resource

Before WashU, I built data infrastructure, metrics, pipelines, and ML-adjacent tools at Chan Zuckerberg Initiative, Robinhood, and Meta. I use that background to make courses more honest about what technical work looks like after graduation.

Selected work

Courses, systems, and public projects.

The work I am most proud of usually starts with a concrete problem: a course that needs to be more useful, a grading scheme that incentivizes the wrong thing, a data system that fails in boring but consequential ways. Then I try to find the structure that would help.

Graduate course WashU CSE 5114

Data Manipulation and Management at Scale

A graduate course I created for students who need to reason about large volumes of data, real-time streams, and the operational constraints that show up when a pipeline has to keep running after the demo works.

Spring 2026 syllabus spine

  • 01Warehouses and NoSQL: Snowflake, denormalization, and MapReduce
  • 02Pipelines: Airflow, PySpark, Spark, debugging, and repeatable workflows
  • 03Streaming: Spark Streaming, Kafka, Flink, and fault tolerance
  • 04Responsibility: data privacy, responsible use, and de-identification
  • 05Estimators: count-min sketches, HyperLogLog, and historical inverse probability estimators
6.92/7 real-world applications 6.66/7 homework relevance 6.48/7 oral midterm value
Undergraduate course WashU CSE 3104 Intro to Data Engineering

Data Manipulation and Management

An introduction to data engineering that I designed from scratch, now numbered CSE 3104 and previously offered as CSE 314A and DCDS 510. The course starts with the reality that most data work happens before the model: collecting, cleaning, storing, querying, and explaining what changed.

6.47/7 real-world applications 6.37/7 instructor availability 6.19/7 homework relevance
Core CS course WashU CSE 247 / CSE 2407

Data Structures and Algorithms

A large, co-taught undergraduate course where I have played a meaningful role reshaping CSE 247/2407. My focus has been helping students connect mathematical ideas to implementation, practice the kind of reasoning AI tools cannot replace, and leave with more confidence than they arrived with.

Algorithmic thinking Proofs and abstraction AI-aware modernization
Side project Baseball + modeling

ABS Challenge Leaderboard

A public baseball analytics project that turns a niche rules experiment into a browsable data product. I like small, specific questions that become clearer once the data has somewhere sensible to live.

Side project Signed-in health tracker

Symptom Tracker

A browser-based tool for logging symptoms, medicine, appointment questions, and pattern summaries. It requires login before personal notes are shown, syncs entries through Firestore, and keeps export/import available for user-held backups.

Game project Nested-grid strategy

Tic-Tac-Tic-Tac-Toe

A nested-grid strategy game that grows classic tic-tac-toe into a deeper tactical contest. It started as a chalkboard game between friends and became a useful excuse to think about game search, daily challenges, and web infrastructure.

Game project Simultaneous word game

Convergence

A two-player word game about finding the midpoint between two ideas. Each turn both sides secretly choose the word halfway between the last pair, racing to land on the same word. Play solo against a computer or pass-and-play on one device.

Game project Daily logic puzzles

Nerd Snipe Daily

A daily algorithmic-style logic puzzle drawn from real-world situations and elegant solutions. Each puzzle should be easy to state, hard to stop thinking about, and open to guided feedback when a solution is close.

Industry Data platforms

Data infrastructure and ML tooling

I have built data warehouses, deletion systems, telemetry, liquidity-risk models, Spark and Airflow frameworks, and analytics pipelines across education, finance, and XR. The common thread is making complicated systems understandable enough to trust.

Ilan Goodman smiling outdoors

Teaching signal

Rigor should build confidence while it sorts signal from noise.

I care about difficult courses, but I do not think difficulty is valuable on its own. I design for students at different starting points: enough structure to prevent gaps, enough challenge to keep ambitious students growing, and enough feedback that students can see what to do next.

6.55/7 CSE 5114 teaching quality, Spring 2026
6.73/7 CSE 5114 instructor availability
6.92/7 CSE 5114 real-world applications
Evidence and context

I read teaching evaluations as evidence with context. The cleanest public record comes from courses I designed from scratch, including CSE 3104, formerly CSE 314A and DCDS 510, and CSE 5114. I use Spring 2026 for the current CSE 5114 snapshot and share the Fall 2025 raw report as a full evaluation sample. I keep the larger archive private because student feedback deserves care. Comments from CSE 247 and CSE 2407 still matter to me, especially when students speak directly about my teaching or the modernization work I helped lead, but those courses had multiple instructors.

"Professor Goodman always drew upon his experience in industry to help us understand concepts."
CSE 5114 Spring 2026 student evaluation
"The material was very useful and applicable to real-world work."
CSE 5114 Spring 2026 student evaluation
"The assessment formats of an oral interview and cumulative, open-ended project helped me learn a lot more on how to apply the concepts in class."
CSE 5114 Spring 2026 student evaluation

Conference ideas

Assessment should make understanding visible.

These talks and panels come from a practical classroom problem: if students have access to powerful AI tools, what kinds of assessment still help them learn and still tell us what they understand?

01

Scaling Oral Exams

Oral exams let students talk through a system the way they might in a design interview. They adapt to what the student understands, produce quick personalized feedback, and make shallow outsourcing much harder.

  • 20-25 minute exams with a short grading buffer
  • TA training, recordings, and sample probing questions
  • 83% of responding students rated the oral midterm valuable at 6 or 7 on a 7-point scale
Open slides
02

Multiplicative Grading

A grading model that multiplies engagement by mastery, so homework and participation matter without letting completed work hide shallow understanding.

  • Designed around mastery, engagement, effort, and academic integrity
  • Unattempted homework dropped from 5.5% to 0.2%
  • Median grades stayed stable while the distribution better reflected mastery
Open slides
03

SIGCSE TS 2027 Mastery Learning Panel

I will be part of the accepted panel "It Seemed Like a Good Idea at the Time (Mastery Learning edition)," sharing a candid case study from CSE 2407 about what happened when a theoretically appealing grading structure met scale, infrastructure, and student experience.

  • Accepted for SIGCSE TS 2027, February 17-20, 2027
  • Focuses on what instructors can learn from experiments that do not go cleanly
  • Connects mastery learning, assessment with AI tools available, and implementation constraints

Background

From physics to CS classrooms to production data systems.

I came to computer science through physics and a few excellent teachers. That path still shapes how I teach: conceptually serious, practical where it counts, and attentive to what students experience while they learn.

2011-2016

Stanford University

B.S. in Physics, M.S. in Computer Science, and teaching roles across CS, probability, algorithms, AI, data structures, and physics.

2016-2024

CZI, Robinhood, Meta

Senior data and machine learning engineering work across learning platforms, finance data, XR ground-truth pipelines, interviews, and infrastructure.

2024-present

Washington University in St. Louis

Lecturer in Computer Science and Engineering, course creator, advisor, AI tools committee member, and mentor for independent student projects.

Ilan Goodman headshot Available for education, data, and thoughtful assessment conversations.

Contact

Let's build things that help people reason better.

I am interested in computer science education, theoretical computer science, data engineering, AI-aware assessment, mentoring, and practical projects that are a little more interesting than they strictly need to be.