Top

New pilot program will see change in how U of T's Introduction to Computer Programming is taught


For 20 years, Paul Gries, a University of Toronto associate professor of computer science, teaching stream, has wanted to introduce a “self-paced” version of Introduction to Computer Programming, known to students as CSC108.

That wish is now a reality, thanks to support from the Provost’s Learning Engagement and Advancement Fund (LEAF). Gries and his teaching stream colleagues in the department of computer science – Jennifer Campbell, an associate professor, and Jacqueline Smith, an assistant professor – as well as Andrew Petersen, an associate professor, teaching stream, in the department of mathematical and computational sciences at the University of Toronto Mississauga, are piloting what the team calls a “mastery-based” course this winter term with 60 students.

Gries says it is time to make the change. “What we’re doing now is, here’s some examples, here’s some readings and studying, and then in week seven we'll ask: How much have you learned? And we give the students a midterm. I'm not convinced that's the best approach to measuring education.”

In the mastery-based format, the course is broken down into nine modules, with a particular set of topics in each. At the end of each module, students will take a mastery quiz. They’ll need to demonstrate mastery of the concepts, at thresholds of 70 to 80 per cent, before moving on to the next set. Students who fail can try again the following week. Students who grasp the material more quickly can move through the modules faster.

U of T computer science, ranked as one of the top 10 programs in the world, has a history of innovation in the classroom. The faculty composition includes 12 teaching-stream professors focused on undergraduate teaching and educational research. Gries and Campbell were also among the first at U of T to offer a Massive Open Online Course (MOOC) on the fundamentals of programming.

In 2013, CSC108 was inverted. Students watch videos, practise problems and take short programming tests. While in class, students work together on problem sets in lieu of a traditional lecture. It’s estimated that that more than half of CSC108 students have never written a line of code before taking the course.

“Whenever there's blank pages everywhere, the teacher says: 'Alright! Here's something you all missed,’” says Gries, noting the inverted model resulted in a seven per cent increase in grades.

Smith explains the mastery-based format will go a long way in addressing student concerns, which she now doesn’t hear about until course evaluations at the end of term. Some students say they were completely lost in week three, while others say they were bored. 

“It turns out that with the inverted course, we have the same drop rate as we did the traditional lecture delivery, but students dropped the inverted class earlier, because they recognized they were struggling,” says Gries. “The problem is, they come back the next term, and try again. What we expect with this new mastery course is that students who get stuck on a topic or fall behind, will just redo that material and retake the quiz the next week, and so on.”

And what if a student can’t pass a mastery quiz?

“It's almost always an indication that they're not approaching the problems in the right way,” says Gries. “They can work with us to retrain their study habits.”

The mastery-based course is complicated by space considerations: 2,000 students enrol in CSC108 over two terms, and the new format requires more lab space for quizzes and non-lecture style classrooms. But the faculty believe it will allow them to reallocate their resources, and provide support to the students who need it most.

“The hope is this can scale, and replace our now traditional inverted classroom,” says Gries.

The article was also published on U of T News