About Ilan Goodman
I love theory, and I want students ready for the world beyond the classroom.
I came to computer science through physics, stayed because of teaching, and spent years in industry learning how data systems succeed or fail in the real world. Now I use that mix to build courses that take ideas seriously while giving students practice with real problems, current tools, and honest feedback.
How I Got Here
Physics first, then computer science as another language for thought.
My route into computer science was not especially planned. It started with math and physics, then changed when a few extraordinary teachers made programming feel like a way to make ideas executable.
I earned a B.S. in Physics and an M.S. in Computer Science at Stanford, concentrating in theory and artificial intelligence. Before that, I studied physics and mathematics through UC Santa Barbara's College of Creative Studies while still in high school.
At Stanford, teaching became the through-line. I served on teaching staff for courses in programming abstractions, data structures, algorithms, probability, AI, physics, and computer science pedagogy. I also worked as a head TA for CS 166, CS 109, and CS 106X, and received Stanford's Centennial Teaching Assistant Award in 2016.
The classes that changed me did more than present material clearly. They gave students better ways to think. That is still the standard I am trying to meet.
Industry Chapter
Years spent close to messy, consequential data.
Before returning to the classroom full time, I worked across education technology, finance, and XR data systems.
At the Chan Zuckerberg Initiative, I helped build data infrastructure for the Summit Learning Platform, including warehouse architecture, ETL pipelines, data models, deletion systems, and the migration from Redshift to Snowflake.
At Robinhood, I built data tools, core metrics, Spark and Airflow frameworks, and liquidity-risk models. At Meta Reality Labs, I worked on telemetry, automation, and interpolation tools for XR ground-truth data pipelines.
That work shapes how I teach. Industry was a good reminder that correct ideas are not enough. Systems also have to survive flaky inputs, unclear ownership, privacy constraints, latency, operational cost, maintainability, and the social systems around technical work.
Teaching Now
Courses that take AI seriously without surrendering the thinking to it.
At WashU, I design courses that ask students to build, explain, revise, and defend their understanding.
- CSE 3104, Data Manipulation and Management, is the introduction to data engineering course I designed from scratch, previously offered as CSE 314A and DCDS 510.
- CSE 5114, Data Manipulation and Management at Scale, is a graduate course I created around warehouses, orchestration, batch processing, streaming systems, estimators, and responsible data use.
- In Data Structures and Algorithms, I have played a meaningful role reshaping CSE 247/2407 with co-instructors. I am especially interested in the parts of the course where mathematical ideas, programming abstractions, and student confidence all depend on one another.
- Across my courses, I experiment with oral exams, multiplicative grading, resubmission-aware feedback, and assessments that remain meaningful when AI tools are available.
Teaching Philosophy
Confidence is part of the curriculum.
I care about precision and difficulty, but I do not think rigor requires making students feel alone.
My teaching centers on a simple idea: technical courses should build problem-solving skills, confidence, curiosity, and judgment. Students need content, but they also need practice becoming the kind of people who can keep learning after the course ends.
That means I use feedback loops deliberately. Labs, homework, projects, office hours, oral exams, and class discussions all show what students understand and where the course itself needs to change.
I am especially interested in curriculum design that connects theory to modern tools, AI-aware assessment that still demands real understanding, and course structures that keep students working inside their zone of productive struggle.
Outside the Syllabus
Music, games, trails, and baseball box scores.
The same pattern keeps showing up: I like systems with rules, improvisation, and room for interpretation.
I compose music on piano and guitar, and I was the first and only Theremin player in the Leland Stanford Junior University Marching Band. I also enjoy Ultimate Frisbee, hiking, and watching Giants baseball.
My side projects tend to follow the same curiosity. I have built models for baseball, college football, music generation, emotional reaction prediction, and game search. Some of those projects are serious, some are playful, and most sit somewhere in between.