Teaching Statement
I treat teaching as a design problem. Students rarely stall because explanations are unavailable — they stall because practice is insufficient, feedback is delayed, and scaffolding is missing. Across 15 semester-long appointments in six courses, from introductory to graduate, I have iterated on one core question: how do you design a course so that doing the work is learning the skill?
I design and iterate on my teaching through three pillars. Click a node to explore each one.
Infrastructure
Software, workflows, and staffing routines that scale feedback without reducing its usefulness.
- Built SQL auto-grading on PrairieLearn with randomized data per submission — students can't pattern-match and must reason through errors together
- Co-founded Here@Illinois, an attendance platform now serving 7,000+ students and 100 instructors per semester across campus
- Mentored 15+ student contributors across semesters on the Here platform
- Piloting LLM-supported quiz features that generate questions from lesson concepts for real-time feedback on understanding
Mechanisms
Assignments, rubrics, and policies that structure practice and align effort with learning objectives.
- Redesigned DB project rubric with concept-aligned milestones: ER diagram → normalized schema → indexing experiments with MySQL EXPLAIN
- Shifted grading from "build a web app" to "make database reasoning visible inside a working system"
- In Programming Studio, tied clean-code credit to functional completeness — structure and testing become part of the main work, not a bonus
- Rubric redesign reduced grading friction and contributed to a Departmental Outstanding TA Award (2020)
Interaction
Day-to-day coaching that builds motivation, models problem-solving strategies, and helps students revise their approach.
- SQL debugging method: localize, isolate, test, revise — a transferable routine students carry beyond the course
- In HCI Research Methods, designed paper-map walls where students classify and debate method placements using evidence from readings
- Created qualitative coding replications — groups code raw excerpts, compare codebooks, and write disagreement rationales
- Recognized with an Outstanding Teaching Assistant Award (2024)
Courses I've Taught
15 semester-long appointments across 6 courses, from introductory to graduate level
Database Systems
Lead TA · 9 semesters450+ students per term · Flipped classroom
Designed PrairieLearn exercises, autograding pipelines, and concept-aligned project milestones. Led teaching staff across the largest CS course in the flipped format.
HCI Research Methods
Sole TA · Founding teamGraduate seminar · 3 faculty co-instructors
Designed paper-map walls and qualitative coding replications. Turned "methods" from labels into decisions made under uncertainty.
Programming Studio
Head TA · 3 semesters200+ students · Project-based
Redesigned rubric so clean-code credit scales with functional completeness. Structure and testing became part of the main work, not a bonus.
Social & Information Networks
TA · 2 semesters35 students · Flipped classroom
Designed assignments and assisted in operating a flipped classroom format. Managed grading for a small, discussion-oriented class.
Data Mining Capstone
TA · 1 semesterMOOC-supported format
Managed MOOC logistics and held weekly office hours. Supported students navigating capstone projects in data mining.
Intro to Python
TA · CUHK110 students · Introductory
Designed the final group project on financial data analytics using Python. Led discussion sessions for 200+ students.
Looking Forward
Three areas where I plan to contribute as a faculty member
Data-Intensive Systems & Analytics
Database systems, data mining, advanced social networks. Course-long projects around realistic end-to-end data applications with milestones scaffolded to the concept sequence, supported by flipped, practice-centered class sessions.
Web Programming & Software Studios
Web development and Programming Studio-style project courses. Semester-long team capstones with staged releases, code review, testing requirements, and rubric-based evaluation. Community-engaged builds with campus or nonprofit partners.
HCI & Sociotechnical Systems
HCI Research Methods and interactive computing courses. Small-scale studies with instruments, data collection, and poster presentations. A course connecting mechanism design and HCI through deployments, simulations, or structured experiments.