Skip to main content
Teaching Statement · TC'S HOMEPAGE

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.

Teaching as aDesign ProblemInfrastructureMechanisms💬Interaction

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
📸 Figure 1: Learning at scale in a 450+ student flipped classroom. Student teams use PrairieLearn to work through problems while staff circulate to coach.

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)
📸 Figure: Concept-aligned milestones structure. Each milestone requires demonstrating the current topic, not only completion.

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)
📸 Figure 2: (a) Warm-up lecture using a spreadsheet for linear hashing mechanics. (b) Students finalize a paper-map wall classifying methods across readings.

Courses I've Taught

15 semester-long appointments across 6 courses, from introductory to graduate level

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.