sej I would love to see a class like you mentioned. I've recently had privy to see a closed-source package that is being sold commercially that was originally written by a newly graduated CS student. That software (C++) is horrible and uses things like a custom built string class, a home grown binary database library, etc. Some of the elements are probably pieces of code he had to write for a class, no doubt. While I don't question his skills as a programmer, I do think that using the string class that comes with C++ would have been a much better choice.
I'm sure if students had to take a class like this, they would 1) no more about the open source world and what's out there, and 2) understand that code re-use can save lots of time and headaches. I wish that curriculum was around when I was taking classes!