About Me
I’m an Associate Professor, Teaching Stream 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:
- My official faculty page contains contact information.
- My GitLab homepage has code samples and teaching materials.
- A short-form CV is also available.
Teaching
Recent course offerings include:
Course | Terms |
---|---|
CS 346: Application Development | W22, F22, W23, F23, W24, F24, W25 |
CS 349: User Interfaces | W20, F20, W21, S21, F21, S22, S23 |
CS 116: Computer Science 2 | W21 |
Research
My research 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.
Education
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 |