So far I've concentrated on the technical aspects of my course that were lacking, but there were other things which are just as important that were missed. I'm referring to things that can't really be taught but need to be discussed. Not one lecturer ever encouraged me to read about software development. Nobody ever said read Code Complete or any number of other books which are, to my mind, essential reading. There seems to be an assumption that you should stay within the confines of the course material. Either that or the lecturer wasn't capable of teaching material outside of the course. Anyway my point is you should always encourage people to find out information for themselves and read around a subject, and I don't feel this was the done.
So, what are the alternatives to university? Are they any better? Off the top of my head I can only think of two; some kind of intensive programming course or on the job training. Both of these would be more focused and therefore increase your skills much more quickly than a university course. One disadvantage is that you'd probably be exposed to less technologies and languages. But would that matter? I learned a whole load of stuff at university that I've never needed. Ever heard of VRML? No? Don't worry, nobody else has either. My preference would be on the job training, as the experience is guaranteed to be applicable to a job. And the most obvious statement award goes to....me! Seriously though, I've found that knowledge gained on a course can be difficult to apply to a real life situation. The flip side is that many see a degree as a passport to a job. Ever seen a job spec that said "relevant degree required"? I've seen a few.
My point with all this waffling is that based on my experience I don't think university is the be all and end all. It will teach you the basics, but it won't necessarily make you a good software developer. But, having said all that, university is a good laugh.