[in a discussion about how in some universities, most courses ask you to hand-in work done by pairs, or larger groups. Some people think that this is good, and teaches teamwork. I believe the real reason universities do it is to lower their exercise-checking load, and that the teamwork explanation is not good enough:] True, working in a team is a useful skill. It is something you may need to learn, and maybe even practice (though most people already have that skill by the time they leave high-school and polish it on their first job). But if a typical CS student has (say) 40 classes, isn't it enough to practice teamwork in, say, 4 of those classes? If all those classes, or even half of those classes, emphesized teamwork, you'll end up generating graduates who are great at team work (this includes professional slackers, who have perfected the ability to cause others to work for them), rather than people who actually know the material. If you want to be a "programming drone", then by all means, perfect your skills of choosing and working in teams that will make you look good (regardless or not if you actually did good). But if you want to be a really good programmer, worthy of your CS degree, you'll need to always be able to tell yourself the following: "I *can* do this all on my own. I *am* good enough. The reason I am cooperating with others now is to finish the job more quickly." However, If you are cooperating because others know more than you, especially when you're in a stage where you're supposed to be learning (i.e., during your CS studies), you're just hurting yourself. Oct 02, 2001