Home / Teaching

Teaching

Software Design: Winter 2025 (syllabus, schedule), Fall 2024 (syllabus, schedule)

Human-Computer Interaction: Winter 2025 (syllabus, schedule)
As a K-12 computing education researcher, I not only teach students, but also K-12 teachers. I have supported teachers in completing curricular activities in a nationwide virtual professional development and have been invited to speak at CS teacher conferences at regional, national, and international levels.
I led the class design and instruction of an introductory computing class for the University of Washington (UW)’s Upward Bound Summer Academy, a college preparatory program for local high school students from low-income backgrounds or would be the first in their family to pursue higher education. As lead instructor, I also managed a small team of two undergraduate teaching assistants. In this class, I taught the foundations of computing topics with a critical framing, which emphasizes skills in engaging with the moral and ethical complexities of the world. Further, because this was a class in a summer program, I had more independence to experiment with inclusive pedagogy that I would want to integrate into my college classes, such as giving students the agency to decide class topics and allowing multiple resubmissions for alternative grading.
Computers for Learning at the University of Chicago covers technology, psychology, and pedagogy as they apply to educational technology so that students can design and build an educational learning application. Goals of this course include: learning education theory on how people learn, design principles for game design, learn how to create large-scale software in a team, and learn a technology in which to implement a learning application. I designed the programming assignments, where students built different elements of a game engine in Java. I also gave lectures on object-oriented programming and game engine architecture.
As an undergraduate at the University of Virginia, I worked as a teaching assistant (TA) for two courses: HCI and Computer Architecture, I led lab sessions for Architecture, mentored students on their independent projects for HCI, and guided students at office hours, and aided in the development and evaluation of assignments. I also learned best practices for being a TA in large university courses in a companion course.
Example Final Project from Computers for Learning