Students teaching students
Peer teaching is powerful!
This post is part of a series discussing incorporating coding into class where learning to code is not the sole purpose. So far I have discussed live coding as an instructional approach. You can find posts on why I use live coding, how to set up to live code, and the nuts and bolts of running a live coding class session, how to talk while live coding, assessment strategies, and how to integrate coding into a non-coding class. This week I wanted to talk about students teaching students: why it works and some approaches for encouraging it.
Teaching something is a powerful way to deepen your understanding of it. I’ve found that I understand topics much better after teaching a class about them—even material that's squarely within my research wheelhouse. It follows, then, that students would also benefit from teaching one another. I think peer instruction fits especially well in coding-based classes.
I'll describe some of the ways I implement peer instruction in my programming classes, but first: it’s crucial to explain to students why you’re doing this. Teaching peers can feel awkward or challenging, and to skeptical students, it might even seem like an instructor is shirking their responsibilities.
That’s why I always discuss my reasoning whenever I ask students to teach each other. I explain that whenever I teach something or help someone with a task, I improve my own understanding. I tell them it’s one of the most effective ways to learn. I also emphasize that if you're being taught by a peer, it's important to be open to asking for help. Sometimes a classmate's explanation might make more sense than mine! I think this framing helps. I repeat it nearly every time we engage in peer teaching, just in case students forget.
How I Use Peer Instruction
I do a few simple things to integrate peer instruction into class:
During active learning activities, I encourage students to ask for help from those around them. Partway through the activity, I pause the class and ask anyone who has made it past a certain point to move around and offer help to classmates.
Another effective strategy (that I admittedly don’t do enough) is to have students explain one step of an activity to the person next to them. Even if the listener already understands, the act of explaining reinforces the speaker’s understanding.
My most successful peer teaching happens during two-stage tests. In the second stage, when students work in groups, there's a substantial grade at stake, so they’re more motivated to ask for and offer help. The buzz of conversation in the room during these sessions makes me feel like I’m doing something right.
I think this will be the last post about coding-class approaches. Next week I’ll hopefully be motivated enough to write a little summary.
It is the end of the semester. My goal was to write until the end of the semester and then pick back up in the fall as I teach my College Teaching in Natural Resources class. I’m almost there and I haven’t decided if I want to keep it up for the summer. If you have suggested topics, I’d love to hear them! It could be an interesting way to keep strategizing about next year to keep writing through the summer. Or maybe a break would be better.

