Karen Reid

Professor, Teaching Stream
[Dept. of Computer Science]


Karen is a Professor, Teaching Stream in Computer Science at the University of Toronto. She earned a BSc (Hon) and MSc in Computer Science from the University of Saskatchewan, but first completed an ARCT in piano performance from the Royal Conservatory of Music, and a BChMus from CMBC (now CMU) in Winnipeg. After a few years working on a PhD at the University of Toronto, Karen joined the department in 2001, and served as as Associate Chair for Undergraduate Studies from 2011-2013. Karen was honoured to receive a Faculty of Arts and Science Outstanding Teaching Award in 2008, the Joan E. Foley Quality of Student Experience Award in 2011, the President's Teaching Award in 2012, and the Ontario Confederation of University Faculty Associations (OCUFA Teaching Award in 2014.


  • On sabbatical July 2015-July 2016

Past Courses

Undergraduate Projects

I am involved in supervising a number of undergraduate projects in the form of CSC 494/495 courses and also some funded projects. I am primarily interested in developing tools for use in the classroom and systems-oriented projects. Listed below are projects I am currently involved in. Descriptions of past projects can be found here.

UCOSP: Undergraduate Capstone Open Source Projects

UCOSP is a program that brings together students from many different Universities to work on Open Source projects. The goal is to give them the opportunity to participate in distributed development and learn many of the skills that real-world software developers need. Students work on existing open source projects under the guidance of a project mentor, and get course credit from their home university.

We bring students together for a 3-day code sprint at the beginning of each term so that they can meet their team in person and get immersed in the project.


MarkUs is a web application for the submission and grading of student programming assignment. The primary of MarkUs is to make it easy for TAs to give high quality feedback to students. MarkUs also provides a straight-forward interface for students to submit their work, form groups, and receive feedback. The administrative interface allows instructors to manage groups, organize the grading, and release grades to students.

Since 2008, more than 150 undergraduate students have participated in the development of MarkUs; some as full-time summer interns, but most working part time on MarkUs as a project course. The fact that we have have uncovered so few major bugs, and that MarkUs has been so well-received by instructors is a testament to the high quality work of these students. MarkUs is used in more than a dozen courses at the University of Toronto, in several courses at the University of Waterloo, and at Ecole Centrale Nantes (in French).

Current efforts revolve around the automated testing infrastructure, and on improving the reporting systems.

Teaching Awards

OCUFA (Ontario Confederation of University Faculty Associaions) Teaching Award: 2014

The President's Teaching Award: 2012

Faculty of Arts and Science Outstanding Teaching Award: 2008

Joan E. Foley Quality of Student Experience Award: 2011

Computer Science Student Union Award for teaching excellence in Computer Science: 2003, 2006, 2011, 2012.