Karen Reid

Professor, Teaching Stream
[Dept. of Computer Science]


Karen Reid is a Professor, Teaching Stream in Computer Science at the University of Toronto. She earned a BSc (Hon) and an MSc from the University of Saskatchewan before coming to the University of Toronto to pursue further studies in Computer Science, and joined the faculty as a Lecturer in 2001. In 2011-13, she served as the Associate Chair for Undergraduate Studies.

Karen was honoured to receive the OCUFA (Ontario Confederation of University Faculty Association) Teaching Award (2014), the President's Teaching Award (2012), the Joan E. Foley award for student experience (2011), the Faculty of Arts and Science Outstanding Teaching Award (2008), and the University of Toronto Computer Science Student Union Award (2004, 2007, 2011, 2012).

In addition to teaching courses primarily in the systems area, Karen has worked with many students to develop software tools for teaching. These projects serve a dual purpose: to build useful tools for the classroom, and to provide students with the opportunity to learn software development skills as they work on a large open-source software systems with existing users.

Recent Courses

  • Fall 2021: CSC369H Operating Systems
  • Winter 2022: CSC209H Software Tools and Systems Programming

Undergraduate Projects

Over the years, I have been 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 main projects I have been involved in.

UCOSP: Undergraduate Capstone Open Source Projects

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

We brought 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. Mozilla was a regular host for these code sprints. We also held sprints at the University of Toronto, University of British Columbia, University of Alberta, University of Waterloo, and University of Ottawa. Google provided funding to cover the costs of student travel.

UCOSP was conceived by Greg Wilson and he was the single adminstrator and fundraiser for the first two years. I collaborated with him in these years as a student mentor and project supervisor. Michelle Craig served as the chair of the steering committee from 2010-2016, and I chaired the committee from 2016 to 2018. I was involved since the beginning as a committee member and project supervisor.


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 250 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 many courses at the University of Toronto, in several courses at the University of Waterloo, and at Ecole Centrale Nantes (in French).

The MarkUs project is now overseen by David Liu.

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.