Submitted by infojunkie on Sat, 2006-03-25 20:46.
...is that it is precisely computer science oriented. In all of the CS departments I've seen, undergrads are only required to turn in proof of concept programs of the topic being studied, in the form of assignments or term projects.
In the real world, the prototype is the very first release in the lifecycle of a system. It is never used in a production environment, to solve a real problem. Starting with the prototype/proof of concept, the professional software team adds to the system all the software qualities required for it to be put to good use. Qualities including robustness, scalability, security, extensibility, manageability. And the system keeps getting upgraded throughout its lifetime as a result of interaction with the real world. The undergrad student never experiences any of these stages, and only gets exposed to them theoretically through the "Software Engineering" course. The practice of the engineering discipline is almost never offered, except perhaps through internships of dubious benefit.