Part of the problem [with teaching groupwork] is the difficulty recruiting good tutors. The other part is that noone is as committed to their studies as they are to their job (people will allow themselves to fail much more often than they will allow themselves to get fired), so even though people are meant to work in a group, one or two group members end up being responsible for much of it. Result: groupwork is the most despised part of CS courses especially by the good people, who ended up doing much of the work.