## Archive for March 16, 2011

### The role of the teacher in peer instruction

The radical constructivists tell us that a teacher who tells the students anything “steals from them the opportunity from them to learn it for themselves.”  The role of the teacher is to be a guide and facilitator.  My first PhD advisor, Pat Baggett, used to say in response, “Not all students are Newtons.”  (Computer scientists may not realize that these debates really do go on in Education schools — Pat literally said that line, several times, in several different settings where I was present.)  Few students can construct complex ideas like Calculus from experience and first principles. The point that inference is often hard for students came to me again this week.

I continue to teach my data structures class using peer instruction.  We’ve been working our way through recursive traversals of linked lists and trees this week, with trees containing sounds.  We had just talked about the method for collecting all the sounds from a linked list of sounds, declared public Sound collect(), when I put up this slide.

In discussion about the code, it was pretty clear to me that they were confused what collect() was really doing, so, on-the-fly, I drew up this slide.  In a linked list with three notes in it (middle C C4, E4, and G4), how many sound objects will collect() return?

Let’s consider the pieces of data that the students have.  They’ve seen the code public Sound collect().  They can see that collect() is asked to play(), and only the class Sound knows how to play. And there is the fact (perhaps not inferred yet by the students) that Java methods can only return a single object — even when it’s an array, it’s just one object.

Here were the responses:

Lots of students see 3 objects coming back from collect().  I let them argue it out, while I wandered the room — responding to questions, listening to how the arguments were being made.

Second vote time:

More students are coming to see that it’s only one object coming back from collect() (which appends all sounds together, simply digital splicing).  But still many think it’s three objects (and are confident — nobody’s choosing “IDK” for “I Don’t Know.”) We then had a great discussion, where students insisted that there were three objects being returned, and I addressed their arguments (e.g., if you add three raindrops together, you get one big raindrop.)

I’m not arguing that my students are dumb.  Through peer instruction, I have come to understand better what they understood coming in, how well they understand what I’ve been teaching them, and how far they’ve come.  They’re really learning alot.  But they’re not learning it alone, nor even just through social learning and peer interaction.  The teacher is needed, because students can cling to wrong ideas and can avoid inference for a long time.