Designing a Course 5: Why Use Group Work?

Reading Time: 5 minutes

Hi. I’m Chelsea Troy. I’m a computer science educator at the University of Chicago. I’m writing about the techniques I use to teach my distributed course, Mobile Software Development.

You can see all my posts about teaching by visiting the teaching category right here. You’ll find pieces about designing a syllabus, choosing topics to cover in a session, and selecting session activities. As you can see right here, my students do a lot of work in groups.

This post is the first in a three-part miniseries about group work.

  1. What I use group work for in the first place
  2. How I divide students into groups
  3. How I plan group activities

Critical Background Context

My entire pedagogical approach optimizes for a student that wants to learn. I don’t focus on stopping students from getting A’s or squeaking through without learning.

I am confident that the skills I teach are valuable. I am also confident that my teaching methods make it easier for students to obtain those skills than figuring it out on their own. Therefore, I believe that students who avoid learning in my class are cheating themselves and will regret it.

I do not focus on disciplining or “gotcha”-ing people, because that places the student that wants to learn under unproductive stress.

I also teach an elective course in a master’s program. Students in my class have already spent years making choices that brought them to me. Teachers who teach required courses, or who teach courses at an earlier point in students’ education, face challenges that I don’t face. I acknowledge this. My approach to teaching might not work everywhere. I’m still going to write about it.


Group Work: Replacing Fear with Appeal for Hard Problems

I teach future software engineers. Software engineers spend their careers on unsolved problems in a kaleidoscope of languages and frameworks. I have to prepare my students for that by asking them to try to do things that I have not taught them to do yet.

I do not find attaching a grade to new, challenging problems to be productive, particularly before I’ve taught investigation and induction skills. This, again, adds unproductive stress. I want productive stress; I want students to have opportunities to fail that do not feel like permanent, consequential reflections on their skills. I grade students on homework assignments that they should be able to do, based on what I taught them. I save the stretch challenges for in-class, ungraded exercises.*

*I could also theoretically use extra credit. Sometimes I do put an extra credit item on homework for students to attempt individually. This occasional stretch is not enough to fulfill my students’ challenge needs, though, and if I offered extra credit for every stretch quest I gave them, students could theoretically cover up unacceptable gaps in one topic with their stretch points from another topic.

It can be hard to challenge oneself without a short-term consequence: ask anyone who has struggled for years to get to the gym. So I provide for my students what trainers advise for beginning gym-goers: accountability partners. I divide them into groups and asking them to approach the challenges together.

Circumventing Student Hatred for Group Work

Many students hate group-work. I’ve identified two reasons for this and attempted to circumvent them in my class.

The first source of group work hatred has to do with being forced to coordinate four busy schedules outside of class. This is an especially relevant issue in my class because I teach adults, some of whom have jobs and dependents. I avoid asking students to do this by setting aside time for group work in class, when they’ve already agreed to be present by registering.

The second source of group work hatred has to do with grades. Students who work hard don’t want to get stiffed the bill by groupmates who force them to do more than their fair share for the same grade. I avoid this by not grading students on their outcomes during group challenges.

Contrary to popular concern, this does not seem to result in students shirking effort on the challenges. First of all, again, I’m optimizing for a student who wants to learn. Such a student isn’t going to eek by for a grade and deliberately ignore an activity that I:

  • designed specifically for maximum learning stimulus with minimum stress.
  • carved out time for in class so they don’t have to do it on their own time.

Second of all, even if an individual student might want to do that, they’re subjected to peer pressure. Who wants to risk rejection with “Hey, group, let’s just sit on our tuchuses for twenty minutes and not do our challenge?”


I use group work to expose students to challenges that might be beyond their execution capacity. They push each other to apply themselves in a collaborative environment without the pressure of fear-based grading mechanisms.

If you liked this piece, you might also like:

The debugging posts (a toolkit to help you respond to problems in software)

The Listening Series (Prepare to question much of what you know about how to be good at your job.)

Skills for working on distributed teams (including communication skills that will make your job easier)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.