I went to CMU and can confirm this. I coded a shell, filesystem and kernel just in that one OS class. To anyone who thinks this doesn't prepare you for something just because the focus was on the OS abstractions, algorithms and concurrency instead of "good coding design", you are mistaken.
Universities teach math-like computer science instead of OOP/Code style/Agile/etc because it is much harder. You can learn OOP and the rest on the job. College is meant to broaden you as a person, to teach you to think -- not teach you to do a specific skill set. Not all of them can do it, and not all students want to learn this way, but the dream is still pretty great.
Interestingly this is the opposite of what apprenticeships are for. They teach you a skill set from master to student. Perhaps these two systems have less in common then we originally thought. Should the comparison be between apprenticeships and vocational schools?
Universities teach math-like computer science instead of OOP/Code style/Agile/etc because it is much harder. You can learn OOP and the rest on the job. College is meant to broaden you as a person, to teach you to think -- not teach you to do a specific skill set. Not all of them can do it, and not all students want to learn this way, but the dream is still pretty great.
Interestingly this is the opposite of what apprenticeships are for. They teach you a skill set from master to student. Perhaps these two systems have less in common then we originally thought. Should the comparison be between apprenticeships and vocational schools?