At my university (it is a public Florida university), one of the core computer science courses required for the degree involves a group project, and the class is divided up into a dozen or so teams, each with their own project. This is fairly common.
The questionable thing is this: local companies each pay the department a few thousand dollars to have the students develop their software for them, since it is cheaper than hiring professionals. The students, who are paying tuition, don't get a cut of this money. While this can be an ethical debate (they are getting experience, but they are paying to work for free, etc.), I would like to know about the legality of this.