Innovations in teaching: Andrew Petersen
When the 18,000 members of the Class of 2016 cross the stage at Convocation Hall – including an estimated 13,500 grads this spring – they'll be looking back at years of exams, essays, lab and field work, experiential learning, volunteer stints, creativity and hard work. And almost zero snow days.
On the stage with them – or following via live streams and Instagram feeds – will be some of the professors and instructors who also invested countless hours in their students’ success.
Who are the teachers who helped make this day possible? You can learn about some of them in our Inside Con Hall series from student writer Krisha Ravikantharaja.
And you’ll meet a few more in this ongoing series on Innovations in Teaching.
In this third instalment, U of T News writer Arthur Kaptainis profiles Professor Andrew Petersen of the University of Toronto Mississauga.
To hear Andrew Petersen tell it, computer science, as a subject to be taught, is a little like life. It has certain difficulties that we cannot avoid and others we definitely can.
“Essential complexity is what you should be struggling with, what makes a problem really harder,” explained the associate professor (teaching stream) in the department of mathematical and computational sciences at the University of Toronto Mississauga. “Accidental complexity is what we do ourselves when we make a problem harder.”
Petersen’s determination to deal forthrightly with the first kind of complexity and wage steady war on the second type made him one of the three 2015 winners of the President’s Teaching Award. His dedication has also earned him the esteem of colleagues on all three campuses, where the Programming Course Resource System (PCRS), which he developed collaboratively with students, is a staple tool of undergraduate courses.
Ioan Stefanovici, a PhD candidate in computer science and former teaching assistant, admires Petersen’s mastery of the topic material, ability to explain it at the level appropriate to any audience and – in particular – willingness to place it in a larger context.
“He always goes beyond ‘today's lesson’ and relates the material to everything else in the field,” Stefanovici says. “This gives the new material an anchor and foundation.”
One of the advantages of teaching in the online era is the quick availability of information about where a majority (or significant minority) of students are having trouble. Nevertheless, there are limits to what data, big or small, can tell us.
“In the end you have to approach students and say, ‘Can you tell me what is going through your head?’” Petersen said over the telephone from New Zealand, where he is finishing a sabbatical.
“You have to understand what is getting in the way. And you’re only going to understand when you ask them.”
Such questions are more often teased out than posed bluntly. One of Petersen’s proven techniques is to undertake “live” programming in a large-enrolment introductory course.
“When you’re doing something you learn more than when you’re hearing something,” Petersen says. “But this process also gives me an opportunity to discover what is working and is not working.”
His twist is to leave out a line of programming and require students not simply to fill in the blank but also to exchange proposals with their fellow students. Individuals then present not their own solutions but the solutions of their neighbours.
“First, they validate it, if they think it’s good,” Petersen says, by way of explaining the double benefit of this “anonymous” method. “Second, there won’t be any embarrassment if it doesn’t work, because it’s not theirs.”
Petersen also makes sure to involve students in the upper rows as well as those who are seated, by accident or design, closer to the instructor.
“You want to get a sense of whether they are participating,” he says. “You want to know if they can write that one line. Because if they can write that one line, they know what the structure is."
In most computer science courses, some work happens outside the classroom, in accordance with the inverted teaching model. Petersen appreciates the benefits, which typically involve a video demonstration and a programming exercise. His own PCRS is an example of a product based on this teaching philosophy.
“This allows us, when we work with students in class, to know with some confidence that they have attempted to apply their knowledge, to get their hands dirty,” Petersen says.
Active problem-solving is the modus operandi even in one-on-one encounters.
“When a student comes in during office hours, I normally end up asking rather than answering questions,” Petersen says. “If the student doesn’t understand question 27 on page 17, my response usually is, there is a whiteboard behind you. Getting the students to start working on the question shows me where they are having trouble.”
Despite Petersen’s palpable success as an on-site and in-person instructor, the trend in computer science instruction has been toward more use of interactive technology. Will teachers and classrooms eventually be rendered obsolete?
“I don’t know that I’ve got a good answer to that,” Petersen says. “Although the current state of instruction certainly relies on experienced people listening to students, identifying the obstacles and relying on their experience to provide ‘just in time’ teaching, there is a lot of hype about how much of this activity can be turned over to a robot in 20 or 30 years.
“As professors, we think that educators are always going to be important. But as a computer scientist, I say: ‘I don’t know.’ Expert systems are getting pretty good. I don’t know what they’re going to be like in five years, let alone 20 years.
“But I believe there will always be room for a human expert – curating the material that needs to be investigated; identifying what, specifically, students are asking questions about; and providing the right response as they ask those questions.”