I already knew how to program in Java (poorly) before going to university to study a double degree in Commerce and Software Engineering (which is just CS + 1 more year).
So you have someone who's a proto-programmer - learning programming but not quite getting there yet.
I don't go to any of the few places like 'MIT'. We have `learned` python, C, Java and c++, so far. (I put the learned in quasiquotes because my classmates tend to completely forget the language after the course finishes.)
Sure, some courses like Project Management is completely useless, but I do study courses about machine learning, and how to design algorithms.
I'm now in third year and I feel that going to university to learn software engineering has made me a much better programmer than I would have been without it. Stuff like Object Oriented Design and unit testing, I wouldn't have gone and learned it myself... It would take a university to teach me that.
Funny... I was just having a discussion with my lecturer the other day... He was complaining the university's courses were too `theory` and didn't help students get jobs... especially compared to competing universities. I was telling him the point of university isn't to get students jobs but to teach them how to think. If students wanted a place to teach them so they can get jobs they'd just go to technical colleges. I think he was convinced... hopefully.
What about my commerce degree? Well its mostly boring but occasionally something really interesting comes up... like e-business and economics. I've only done commerce because my dad made me to.
The article makes me think though, maybe I should've gone for a Commerce/Science degree majoring in Mathematics instead. Or a Commerce/Engineering majoring in Electrical engineering...