Posted July 30, 2012

...
In the US university is NOT vocational training and it's rather obnoxious that it's treated that way by so many. There are vocational training programs out there, they're cheaper and you'll be a much better programmer at the end of them, and employable to boot, if that's your aim. I would never interview a Comp Sci grad and expect him to be some programming god, if he was it would more likely be due to his extracurricular activity than his curriculum (or should be). My job might be to train said person as a developer, which is fine, smart people with good theoretical grounding are disciplined and easier to train, but the point of his degree was not to learn to do the job for which I'm hiring him.
...
What is really important about Computer Science is the computer science, not learning how to program. Learning how to program is a triviality to the subject, much as multiple array reduction is a triviality of Linear Algebra.
Second, I consider that a lot of the theory taught at university not being applied more to be a failing both from university academia and the work force.
Too many academics don't parse the subject matter with applications in mind and many employers doesn't give their employees enough leeway to creatively apply what they learned.
It's like being stuck between an autistic savant that just will never get what you want to do and a first grader who doesn't care much about sophistication.
I once worked under a college graduate who didn't go to university and while he was an SQL god, his failure to know about or recognize when to use linked lists puzzled me as I learned about the topic very early on during my studies and consider it one of the simplest data structures.
I refuse to believe that there is no compromise between university and college.
And no, university is not just about picking things up quickly on the workforce. It is also about knowing things that will allow you to come up with solutions that someone else probably won't, because they don't know enough.
I have already applied the theory I learned in university, both in computer science and also in mathematics and statistics quite a lot on my own initiative, both when working for employers and for my own account.
Furthermore, learning how to program and design software well given the countless scenarios you may encounter is not a trivial task and is subject to continuous improvement. Programming methodology and software engineering is a legitimate university topic I find.
Just because it is very applied doesn't mean it is too worldly for sheltered academia.
I consider the schism between academia and the work force to be an unhealthy one and a lot of people that have a foot in both worlds are left out in the process.

In it, we were taught mostly assembler optimization (this is for someone who hates assembly) and network topologies amongst other things.
It was mandatory for my specialization when I did my degree. Now, it's an optional course for everyone.
Post edited July 30, 2012 by Magnitus