Ouch.
Reading that hurt. I don't know if it's my instinctual reaction, as a CS student, to take a little offence to some of the allegations in the article, but I'll shrug it off!
I guess I must've chosen a good university in Cardiff, because all the things mentioned in the article that CS grads are lacking, are all taught here. I'm currently in my third and final year and we've had modules on Operating Systems, Algorithms and Data Structures, lots of database modules (object orientated stuff, SQL, web), several maths modules, and I've never had a module about computer ethics.
Sure, our main learning language is Java too; universities have to teach at least one language in order for students to be able to implement the techniques that they learn about. They don't teach in-depth knowledge of lots of languages, because programming skills are very transferable once you've got them down. We did however have modules that touched on C/C++, web languages, and MATLAB.
The way I thought it would be, for companies looking to employ graduates, is that they'd look for a graduate with a strong foundation of all things computing, and programming, and they'd train him in the particulars (and he'd pick it up fast if it was a new programming language, or something). They are after all just graduates, if you're looking for an experienced programmer who knows 15 languages, you're probably not going to find that in a graduate, I would have thought?
Obviously the author of this article knows more about employing CS grads than me, but there's no chance that anyone with a half decent degree classification from my course at my uni, would fit in with the image portrayed in article.