Trade Schools
I just read this article on Hacker News about how IT graduates in the UK are struggling to find work because they don't have the skills that businesses are looking for. I've seen this same kind of article for US Computer Science grads as well. It seems like what IT really wants is trade school graduates. Someone who should be going to DeVry to learn the J2EE stack or .Net and is only doing so for the paycheck, not genuine interest in software development.
When I was in college (1996-2001), I would say an overwhelming majority of the CS students were there solely for all those tech jobs that their parents read about. They were only interested in learning something for either a grade in class or that someone might hire them to do it. Really, trade schools should be handling those types of people. It wouldn't take 4 years to learn the material and the curriculum wouldn't need to force unrelated classes on students who aren't interested in being "well-rounded." IT shops could snap up these graduates and the grads can start writing glue code for the enterprise software their employers bought. Everybody's happy, right?
Computer Science Departments
This would thin out CS departments, which university admissions would perceive as a bad thing. They don't really care if you learn anything in their schools, just that you pay your tuition on time. Less students = less money. But actually, CS students would benefit most from this. That is CS students who are more interested in science and theory for science and theory's sake. Class sizes would be smaller. Not only that but, given that you have professors that really want to teach as opposed to just doing research, you would better enable these professors to do just that.
Middle Ground
What I'd really like to see is a middle ground for people who want to do more with their lives than rot away in an IT department writing glue code for software that employees are forced to use rather than want to use, and also are more interested in practical application of software beyond research and academic interests. I'm not knocking CS students who really want to further Computer Science through research. We definitely need those people. However, I'm sure there are plenty of people who don't want to do either one of these things.
Startups and indie development are the goals of what I'm talking about. Hacking on open-source projects is good for building your skills and meeting other developers online, but if you're not fortunate enough to live physically near people with similar interests, you can miss out on the benefits of constantly being around such people. What we need are places where aspiring developers and designers can come and learn together. We can teach each other, and work together on projects that interest us. It should be kept informal. If everyone's intentions are honest, some really great software and companies could spawn from this.
I clearly haven't thought this out. It may not really be possible considering that everyone has expenses that they have to pay somehow. It may work better in a small conference format, than some sort of institution. But I think that anything that allows people to realize what could be their true calling, would be of great benefit to all of us.