I've had occasion as you know to teach a few times at Brandeis University. The courses were in Web Development, Mobile Development and Game Development. A major component was a Product Incubator where students worked in teams to develop a product. The organizational and logistical questions as well as the dynamics around team work were significant and challenging.
In my mind the overall benefit of team student projects are:
- students must show mastery of the material to do well
- it is more fun and rewarding for the students
- team work is a fundamental aspect of whatever they will do in the future
- the teachers are around to help steer and guide each team as appropriate
So far so good. Now, Students reported that working on the projects in team was definitely rewarding and effective. But certain students also found them frustrating in these ways:
- how students were divided up into teams
- variety of levels of knowledge or skill
- variety in commitment or dedication
- grading is not perceived as fair because everyone on the team gets the same one
Here's an article that writes about How to Fix Group Projects, and suggests ways to make experiential courses like this more effective. It suggests an interesting scheme for forming the teams and also making grading more individualized.
He concludes, somewhat depressingly, saying that he's not going to try this himself because all he would get is complaints from the students and bad student reviews.
What do you think of this approach?