Why don't Comp.Sci professors give out extra credit to students who submit patches to open source projects? I'm sure profs could come up with some scoring system based on the complexity of the patch and the amount of effort involved (size of code base, subject matter, etc). This would get the student out of pure theoretical assignments and give them real-world experience with software problems. About the only challenge I see with this idea is that a student may get 90% of the way through working on a patch and someone else (outside the school) comes in and scoops them. For this, a prof could still give some points for 'trying' if there was proof of the work.