I am currently a Senior Instructor in the Computer Science department at Portland State University, where I teach courses in Human-Computer Interaction, Computer Ethics, and introductory computing for non-CS-majors. I am also a cluster coordinator for the very cool University Studies program.

This page summarizes my prior experience teaching at UC Irvine and Georgia Tech. My current courses are hosted elsewhere:  » PSU Homepage « 

The back of two student comment cards from my HCI class at UCI. Left: a sketch of me teaching the class with the slide headline reading, "Design for the WILD!" Right: "I have found that the readings are way more interesting than any of my other classes"

Pictured above: A couple of student comment cards from my Intro to HCI class taught at UCI in the Winter of 2014. These were handed out and collected at each lecture. These cards provided students with a semi-anonymous way to give feedback about the class and ask questions. Student comments provided useful material for starting the next lecture with a summary of key points from the previous class and a recap of any outstanding questions.

As the instructor for Intro to HCI in 2014, I transformed the textbook and exam based course into a project-based Human-Centered Design course.

I have also been a teaching assistant for classes in HCI and Computer Science at UC Irvine and Georgia Tech.


Sophomore/Junior-level core course about human-computer interaction research and practice. I taught this class with custom syllabus re-designed from the ground up around a quarter-long human-centered design project. Students practiced skills from formative research through low-fi prototyping and basic user evaluation. Readings were chosen to help students learn practical design skills while also exploring the relationships among design practice, ethics, culture, and computing technology.

Teaching Assistant

Junior/Senior-level course focusing on the social impacts of computing. Structured around readings in HCI, Sociology, and Science Technology & Society (STS), discussion, and the writing of a final paper.

Sophomore-level course to introduce the fundamentals of object oriented software architecture and programming. Structured around a semester-long team-based programming project; taught in Squeak, a variant of smalltalk.

As head TA (2003-2005), in addition to grading and being the primary point of contact for my section of ~25 students (out of 150-250 in the whole class), I was also responsible for interviewing, hiring, and helping to supervise a team of 6-8 other teaching assistants, as well as assisting the professor directly with course design and planning.

Guest Lecturer