I can certainly see where the author's coming from, although I don't find the situation this dire. I'm not British so I don't know that much about how Universities worked and were perceived in society in the past and I guess I might have a slightly different mindset. Anyway, let me explain myself.
We have this modular course structure at my school. Yes, you can pick courses varying from "Developing web applications with Java" to hard CS stuff like compiler design and advanced algorithms. As far as I can tell, no course has been dropped because it was too hard - because students like challenges and take them. The same goes for final year projects, I've seen a student saying that she won't be doing any programming for her project (yeah, WTF), but I also know of more serious engineering projects (like a guy refreshing the electronics and more importantly, the software of a popular home-build 3D printer - and using the capabilities to do some stuff I'd really like to have on my 3d printer), or more experimental projects like mining Twitter for medical drug information (like perceived effectiveness, side-effects, usage patterns, etc).
What I'm trying to say is that there might be some easy paths you could take, but the students which always pick the easiest choice are usually the ones who end failing or dropping out. Sure, some of them graduate and I have mixed feelings about having the same degree as some of my fellow students. The author says that ' By pre-1990 standards about 20% of the students should have been failed.'. Well, in my school about 20% of the students are failed - each year.
Another topic is grade scaling. Yes, most lab and coursework grades are scaled in the first year and some in the second year. Exams are never scaled! But here's the thing, scaling is always down. It can be argued that labs are too easy if you need to scale the grades down and it is frustrating to do a perfect job and end up with a 70 something percent mark. But grades are never scaled up to 'turn a fail into a II'.
Finally, some people argue that a formal CS education is useless and out of touch with reality. I definitely don't agree. Knowing algorithms and data structures can give you an edge even for simple programs, knowing that some research areas and approaches even exist helps you avoid a lot of easy mistakes, labs will help you design better and faster because you sort of develop your own process and you get to know common pitfalls, reports and presentations train you to communicate better and using the proper domain language, having a clear image of how computers work from the grounds up is great when you're debugging.
TL;DR: Formal CS education still useful, just more chances to shoot yourself in the foot. (Yes, I consider getting a first without learning too much to be shooting yourself in the foot.) Study the fundamentals and the hard stuff and you should be better off than a self-taught person.