Why industry thinks CS grads are good software engineers is a little beyond me.
I certainly would never a hire a physicist to build a bridge.
https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...
Similarly, fizzbuzz is generally massively more useful than whatever silly CS problems people are asking in interviews.
I use fizzbuzz and character counts (histograms) as my primary weapons.
If they pass that since i'm usually looking for iOS developers they get a simple app with poor table view scroll performance and are asked to improve the performance of it.
Edit: This is part of the problem - an Engineer is fundamentally different from a Developer, even if there is significant overlap.
And as you said, there is already vocational training. Technical colleges. The question is then of course will the companies hire people who only have those degrees -- some will and some won't probably. But education geared for particular industry is already there. Maybe the feedback should happen there.
There is another important learning -- self learning. With a Github account and free time you can prove you know a lot more useful things to some companies that with a 4 year degree with an Ivy League school.
But let's take the link between academia and industry a step futher (mostly for fun):
There used to be company towns. Say a coal company or an automotive plant would come in, and set up stores, school, hospitals, everything. Even issue their own psuedo-currency which could only be used on their company stories.
So maybe there could be a GoogleLifePlex, or FacebookTown. Familes live there, have children, all services provided. Special stores, education, healthcare, book clubs. Students are tought programming using technolgies from Google or Facebook only and are groomed to be the next engineers.
Stuff the industry; CS isn't vocational training.
Most of the coding that goes on in the industry is mind numbingly dull from a CS perspective.
The idea that the industry should play fiddle, and CS should dance to the tune, is ridiculous.
This article fails to define what it means by "stagnating". "Stagnating" isn't a suitable single word for describing the memory of an experience (such as an undergrad program) which wasn't what one expected.
A CS department stagnates when it doesn't publish papers, I would think. Just like a political science department or English department. (An English department isn't said to be stagnating because it doesn't teach people how to speak English.)
As far as the undergrads go, they would be poorly served if the focus of the program was to teach them some application stack du jour. Even if that's what the industry wants today, that may change by the time they graduate.