Peer Instruction is one of a set of teaching techniques that physics educators call "interactive engagement" pedagogies, leading to measurably better student learning (e.g., as seen in Richard Hake's remarkable 6000 student study.) In Peer Instruction, the teacher interrupts their lecture (frequently) with a question for students to answer. Typically, this is multiple-choice and students use "clickers." I don't have a clicker infrastructure in my classroom, so we're using Ubiquitous Presenter that lets students answer questions via the Web. After answering the question, I show the distribution of answers, then ask students to discuss their answers, and then everyone re-votes. The idea is for students to see if they're wrong (a form of what Roger Schank calls an "expectation failure" which sets up the opportunity for learning), and then use social learning to figure it out. After the re-votes, I explain the right answer and why the other answers were wrong.
There is already a literature of computer science teachers trying Peer Instruction in their classes. I'm finding it useful and fascinating. It's giving me insight into my classes that I never had before. I’m teaching a second semester course on data structures, using our robotics approach or with media) or in MATLAB. I have students from all over campus--mostly Computational Media students, some Computer Science students, but also Engineering and even Economics students.
Here's a question I posed last week. (We're using DrJava, so there aren't semi-colons at the end of each statement in the Interaction Pane--students had just seen me do an example like this interactively.)
Here's the first round responses:
The vast majority of the class got this one right, but given the numbers involved, we're looking at about 20% of the class that is pretty seriously confused. I found out later that not everyone in the class voted--some simply had no idea.
Talking with students after class, I found that the students seemed to follow what was going on, but it was taking them time to figure it all out. One student walked through with me his reasoning process over a piece of Java code, which went something like this, "That's calling a method, right? And a method is like a MATLAB function, but associated with the class, right?" This student is translating (in some sense) from Java to MATLAB. While all of these students have had programming experience in a computer science course before, they have only had one course. In 15 weeks, they were not yet expert at reading one language, and now I'm switching them to another one.
I'm enjoying how Peer Instruction is giving me early insights into what students are understanding, and what they are not understanding. I thought that the question above was a complete giveaway. How could the variable have a different value? If I were teaching the course normally, I might not see these confusions until the first quizzes or exams, certainly not in the first week. Now, I can, and I have the social learning aspect to address those confusions early on.
No entries found