It is ludicrous to blame Universities for the predictable results of greedy corporations. Microsoft is right at the head of the pack along with IBM and others.
I have worked in software development for many years and it is the policies and procedures of the company that dictate the quality of the product. If a company insists on speedy development and cuts corners on testing, they get sloppy buggy code. If they do not review code prior to putting it into production then they are at the mercy of the programmers whim. It may or may not be good code, it may or may not comply with standards (if the company even has them) Programmers have little to say about it.
That position is tantamount to saying "We're stupid and we need kids right out of college to write secure code for us because we are incapable of: 1. writing it ourselves and 2. testing it to make sure it is secure.
Sorry... This subject struck a nerve. In the past, I've been the victim of many projects where the company I worked for wanted speed, quality and economy and you can't have all three. I deliver the project on time and then get crucified because it isn't perfect.
The old engineering adage: "Faster, better, cheaper... pick two" will always be true.