I haven’t blogged last semester, as I’ve been devoting my energy to teaching my first class (which went great according to the student evals!). The class, titled “Design Methods for Computer Scientists,” was a project-based course covering inspiration methods (e.g., design probes), design process, sketching, and rapid prototyping (e.g., 3D printing, Arduinos). As always, I want to share my materials, so here is the syllabus and the project description. But in this blog post, I want to reflect on one specific component of the class, peer teaching.
The goal of this component was to help students practice independently learning new skills and teaching these skills to their peers. Each student was asked to prepare a 20-minute class session on a topic of their choice that may be useful to others in the class (see, peer teaching description and rubric). Most of the presentations focused on cool APIs, tools, and techniques for rapidly bringing design ideas to life. Topics covered included: Arduino eTextiles, littleBits, Intel IoT kits and Galileo, WebRTC, GreaseMonkey, Processing, PhoneGap, and many more interesting topics. The presentations were spread throughout the semester and graded both by me and by the other students in the class (40% of the grade coming from written peer critiques). In terms of the short-term goals, I was excited to see that the student presentations generally increased in quality as the semester went on, with them getting presentation tips from each others. Additionally, it was great to see that students incorporated techniques covered in peer teaching presentations into their projects, so they definitely learned through the process. The long-term goal of this component is to keep the class material from getting stale by continually updating the parts that are most likely to change quickly (e.g., tools and technology available for prototyping), but efficacy towards this long-term goal is still to be demonstrated.
At the end of the class, I asked student to rate the personal utility of each class component. Out of 13 class components, peer teaching came in right at about the middle of the pack as the 5th most useful. Through discussion with students, we considered how this can be improved and came up with some directions for the future. Next time I run the class, I’ll be asking for peer-teaching presentation to submitted as 20-minute tutorial videos and asking each student to watch 10 and critique videos that are most relevant to them. There are several advantages as I see to this approach:
- The presentations were great, with the most helpful parts generally being the hands-on demos and walkthroughs. Even though presenters shared their slides, the demo portion of their presentations was ephemeral and students could not refer back to it.
- Collecting peer teaching tutorials as video would help us build up a library of resources across years.
- All the presentations can be due on the same day (making this more fair) and all of them can be available in time for the prototyping milestone. As is, about a quarter of the talks occurred after they could be usefully integrated into the students’ projects.
- It would free up significant time in class, which would be best used for project workgroups. I underestimated the difficulty that student groups have in meeting up outside of class, adding in-class time that the all have to be there would really help. Next time I teach, I’d like to keep Mondays as project days.
- Students who do a great job can share this tutorial widely and add it to their portfolio as an example of their work.
Has anybody tried something like this in their classroom? I would love to hear how that went! Stay tuned for more reflections from teaching, including some examples of cool projects that came out of the classes.