If this is engineering, then I'll find something else to do. Earlier David referred to individualistic learning techniques. You could group people to get them more and more dependent, but in a cooperative learning group the purpose is actually the opposite. You learn the material in a group, so that you can perform it alone. You're trying to build strong individuals.
Cooperation works best between strong individuals.
So the emphasis is always on building strong, independent, autonomous group members who contribute to the overall group effort. But sometimes when students work in groups, it seems like some students do all the work, while others get away with doing little or nothing. In some groups there's a lot of hitchhiking, where some students do all the work and others get a free ride. To prevent this, we have students learn in the group but take the quiz individually. Afterward they go back to their group and discuss how well they did on the quiz.