In my Theory of Computing course, student presentations comprise a major portion of our class time.
In the past, I assigned a set of problems, and then in class I would ask students which problems they wanted to present, giving those students with the least number of completed presentations priority.
Many days, I was dissatisfied mostly with the level of interaction in class between the students during a presentation. I felt like the presentations were mainly just for me as the instructor, because:
- They were all working on the same problems, and therefore weren’t really teaching each other new material.
- They discussed the questions and studied together before class.
- They didn’t want to ask questions and potentially hurt another student’s grade.
This semester I am exploring a new method of grading which I hope is encouraging collaboration and class discussions. The details can be found on the course homepage linked above, and there are some kinks that I plan on fixing in future iterations of the course, but I think this system has been mostly successful. The main points are:
- Students are randomly assigned to groups.
- Problems are selected to be on the difficult end of the spectrum.
- Each group is assigned distinct yet equivalent problems.
- A student is randomly selected from the group and is then solely responsible for presenting the group’s solution.
- Students must be in class to recieve points when they are awarded, even if they are not presenting.
- Extra points are awarded to students for asking constructive questions of other groups.
The equivalent-yet-distinct problems are creating much more discussion in class since they have not all necessarily worked through the complexities of problems not assigned to them. There is also some peer pressure to encourage good presentations, since the whole groups’ grade hinges on the presentation of a randomly-selected member. Most students are taking advantage of the points for asking questions to other groups. It is common that the class finds minor typos or mistakes in a proof or automata construction, and everyone’s presentation skills are improving over the course of the semester.
One interesting piece that has added some fun tension to presentation days is the way I select the group member to present. I use an algorithm (described here in an IPython notebook) that tends to pick members who have not presented recently, but could very well pick the same group member twice or three times in a row. Many times I can hear some mumbled prayers to RNGesus, although they often fall on deaf ears.
I’ll write a wrapup post after I read the course evaluations from my students, they might have a completely different perspective, and I’ll talk about the pieces that have been less than successful.