I agree with Pete 2
As a CompSci grad myself now working as a Java developer I agree with Pete 2's points. If you want to be an engineer as I now am, go learn engineering - don't go to university to learn Computer Science. The key's in the name - it's Science. A programming language is an engineering tool, it's just a way of getting machine code written, and nothing to do with science. When I left university I was expected to be able to program in any language, be it object-oriented or functional or procedural or whatever, as it's just a question of learning syntax and implementation details, and not relevant to the solution to the problem at hand.
The problem is not the universities, or the teachers as the author claims - it's the students. On my course (Computer Science) of 200 students at a red brick university I'd guess that 95% of them wanted a job in IT rather than to become Computer Scientists, so of course the university provides what its customers want - Software Engineering. I had to learn about design patterns and stakeholders and Extreme Programming, none of which is anything to do with computer science. There were precious few courses on computational complexity, algorithms or computer algebra, and in none of them were there more than 15 students.
Of course, for me it turned out that I wasn't smart enough to do a PHD in intractability, so I became a developer, but I value what I learned on those courses because it fascinates me; I have no colleagues who could write an efficient sorting implementation.