Last updated: March 25, 2025

Teaching


I've taught both formally and informally, across various topics and levels. I primarily teach introductory computer science courses, but I've also taught workshops/bootcamps on human-computer interaction, web development, and more. What I teach tends to intersect with my research interests, but also the broader spaces of design and software development.

Prior to 2023, the majority of my teaching (courses and workshops) have been published to STEMpump, an edtech nonprofit I founded. All further teaching-related content will be published here.

Everything on this page is a work in progress, and I don't expect it to ever not be.

Teaching Philosophy

I believe that teaching is a two-way street: as educators, we should be open to learning from our students. My goal is to create inclusive and equitable learning environments where students feel comfortable making mistakes, asking questions, and exploring beyond the curriculum. A relaxed and informal teaching style allows students to engage with the material in ways that work best for them, rather than forcing them into rigid structures that may not align with them.

Effective educators meet students where they are, rather than expecting them to conform to a singular standard. I prioritize accessibility in two key ways: first, by designing learning spaces that support students with disabilities; and second, by ensuring that the curriculum is approachable and meaningful for all students. Stress and other negative factors can be major barriers to learning, so I strive to cultivate an environment where students feel secure in their learning, their identities, and their experiences.

Additionally, I integrate elements of my research and industry perspectives into my teaching to provide a more holistic view of the material. By bridging theory with real-world applications, I aim to make learning more relevant and engaging for students, equipping them with the tools they need beyond the classroom.

Assessment Philosophy

At any given time in a course, I believe three things must be true: students must know how they're doing, educators must understand how their students are doing, and there must be methods of assessment to fulfill the prior two things. This means that assessments should be designed to provide meaningful feedback and reflection for both students and educators, allowing a better understanding of student progress and areas for improvement.

Thus, assessment should be a collaborative process between students and educators. A process that is not constant, but adaptive to the relationship between the two. Assessments should be designed to promote learning, rather than simply measuring it. This means that assessments should be aligned with the learning objectives of the course, students, and educators, and should be designed to help students demonstrate their understanding of the material.

That being said, I prioritize formative assessments, providing ongoing, qualitative feedback to students in helping them identify areas for improvement. This approach provides both transparency and agency in their learning and encourages them to seek help when needed. I also believe there is a place for summative assessments to provide a snapshot of student learning at a specific point in time. However, I believe that these assessments should be used in conjunction with formative assessments to provide a more comprehensive view of student learning. These summative assessments should not rely on students cramming or stressing out about them, but rather should be designed to promote learning and understanding.

Courses

CSE 121: Introduction to Programming I

CSE 12x: Introductory Programming Lab

  • Autumn 2023 - Spring 2025

Workshops/Workshop Series

  • Web Impact UW: Advanced Coding Track Workshops (2023)
  • Headless CMS design for impact with Sanity.io (2023)

Talks

  • after hours: a conversation on what's wrong in design (2025)
  • Accessibility is a wicked problem: A 30-ish minute conversation on accessibility in computing education from a design lens (2025)
  • Accessibility as a TA: Looking at how TAs practice accessibility in and out of introductory CS learning environments (2025)
  • The point of design: Understanding design in terms of HCI and social impact (2024)