Second, I suspect (but cannot prove) that this problem is why computer science grads need a couple of years of close supervision on the job before you can trust them with anything.
There's more to it than that, a lot of which has more to do with learning how companies are structured and how people communicate in the corporate world. Among other things, college students have been trained to tackle any assignment with the assumption that the information they have been given is accurate and comprehensive, and the professor would prefer to hear nothing from them until the assignment is turned in as complete as possible right before the deadline.
If you want to educate people to be immediately productive in a corporate environment, that's not what college is for anyway.
It is and it isn't. Most degree programs don't require it, and some don't integrate it as a for-credit option, but most (including in the sciences) do open opportunities for them, and lots of students take advantage of that opportunity and are more employable because of it.
Not sure what they're doing today.
But it is my position that a graduate of a proper software engineering degree would take less initial supervision than a graduate of a CS degree.
Why? Because they would have already seen ambiguous requirements, and would have an idea of what to do. They would have already seen a multi-hundred-thousand-line code base, and would be more likely to have some idea how to navigate in one. They would have some idea of what production-level code looks like, and how to go about achieving that level of completeness. And so on.
UTCS 1997 here. I've been employed in software-related industries continually since graduation, and I can honestly say my UTCS degree has been nothing but helpful in that regard.
BTW, the personal website listed in your profile is down. You might want to look into that.