Self-paced mastery-learning pilot project in computer science

Self-paced Mastery-Learning Pilot Project in Computer Science

“With great variation in the amount of prior programming experience of our students, the cumulative nature of the course material, and significant enrolment pressure, our course is an ideal candidate to pilot the self‐paced format.”


We proposed to develop a self‐paced mastery‐learning version of our introductory programming course at the University of Toronto. Using this pedagogical approach, we aim to:

  • Better meet the needs of the diverse students who enter our courses with varying levels of preparedness,
  • Introduce more flexible timelines and support systems for course completion, allowing more students to successfully complete courses and reducing enrolment pressure,
  • Enable newly‐admitted students to start taking courses in the summer, and
  • Incorporate the Arts & Science Recognized Study Group Program to encourage peer learning.


Department of Computer Science, Faculty of Arts and Science;
Department of Mathematical and Computational Sciences, University of Toronto Mississauga.

Project Lead(s)

Jennifer Campbell,
Paul Gries,
Jacqueline Smith,
Andrew Petersen.

Year LEAF Granted


Funding Stream


LEAF Priority Area(s)

Curriculum Design


Impact of the Project on Students

We ran the pilot project in CSC108 twice. CSC108 is a course that is typically offered three times per year and nearly 4000 students enrolled in 2020-21. Although we no longer offer the mastery format, our experience running the self-paced mastery-learning version of the course helped us gain insights that influence how we currently teach the course.

Impact of the Project on Faculty

We presented our project at the 2019 University of Toronto Teaching and Learning Symposium, which gave us the opportunity to share our findings with others in the UofT community.

Resources Developed from the Project

A set of mastery quizzes was developed. We also published an article on our experience with the self-paced mastery-learning course and presented our findings at an international computer science education conference.

Future Plans

As we teach CSC108, we continue to use our observations from the mastery-learning self-paced classroom to inform our current teaching of the course.