About Me

I’m a Continuing Lecturer in the Cheriton School of Computer Science, at the University of Waterloo. I regularly teach human-computer interaction, software engineering and programming courses, and I also work as an undergraduate advisor.

Other relevant links:


Recent course offerings include:

Course Terms
CS 346: Application Development W22, F22, W23, F23, W24, F24
CS 349: User Interfaces W20, F20, W21, S21, F21, S22, S23
CS 116: Computer Science 2 W21


My interests span programming practices, software engineering, and human-computer interaction. I’m most interested in:

  • Software architecture and design, particularly the design of interactive systems.
  • Input and interaction technologies; multi-touch and gestural interaction.
  • Optimizing systems for common, everyday tasks; personal computation.
  • Computer science education and pedagogy.

My publications are listed on my Google Scholar profile.


Degree Awarded Institution
Ph.D Computer Science University of Waterloo
B.A.Sc Computer Science McMaster University
M.A Anthropology McMaster University
B.A Anthropology McMaster University


  1. My virtual bookshelf. Somewhat accurate.

  2. I mostly use this site to share off-the-record projects and half-baked ideas. If you are looking for my research, you should look at my Google Scholar profile. If you are looking for course information, I suggest looking at the respective home-page from the list of courses on my homepage.

Post activity