The need for good vocational schools for programmers
programmingzen.com
programmingzen.com
It's funny in a way, I met a lot of people in the 'underground' scene in the mid to late 1990's, and by the time they were 18-20 many of them started off at CS programmes but many couldn't keep up and dropped 'down' to the fore-mentioned vocational schools. Many of them spend 14 hours a day in front of their computers but all their 'interest' and 'passion' didn't make them great programmers. Yes they had the patience to poke at a stack overflow until they could get the offset to the payload of their shellcode in eax, but that didn't make them (us) great programmers, despite what we thought back then. I'm really torn on the issue - many of them have great careers in IT and programming now, but they're mostly not great programmers. I don't like the current rhetoric of 'don't go to university, you'll be better off with an apprenticeship/vocational school' - experience shows it's simply not true. Maybe I'm just getting old.
The core problem is that vocational studies are considered to be inferior, which is a self-fulfilling prophecy.
It's like how, in Belgium, to get the best language education in high school, you'd choose advanced classes in maths, not language, because pupils who pick a maths focus are considered to be better students all-round and thus get tougher material in anything from geography to French.
Now it depends on how one defines 'inferior', but vocational training is inherently 'easier' than an academic approach; vocational training is about telling people how to solve certain problems, showing the the steps to take to tackle a specific situation. The Wikipedia article on 'vocational training' says more or less that, although I just learned that it's called 'procedural knowledge' there, which is a nice euphemism.
To me, this is the antithesis of the problem-solving nature of programming. I guess one can call widget-plumbing 'programming', but I wouldn't (and don't) hire people who install and maybe, with much effort and pain, customize Wordpress plugins and call themselves 'programmers'. Nothing wrong with Wordpress, but we shouldn't strive for a situation where that is the pinnacle of a programmer's expertise.
While I definitely agree that (as with pretty much any complex skill) the only way to learn is by doing, over and over again, our undergraduates frequently go out into the world having only taken one or two classes that include any sort of nontrivial software development.
Now, these students are largely smart people, and they figure it out---but after two or three years in the workforce. I've heard this from other people, too, who have way more experience with the subject by virtue of having been around longer.
It's sort of an identity crisis thing: are we trying to produce computer scientists, or are we trying to produce software engineers? Neither is a wrong answer; they're just very different goals.
He believes, and I agree with him, that Full Sail's industry contacts are limited because of their location in Orlando, and that since they are aggressively "for profit", their incentives to fix that are limited. They cater primarily to young people who don't know any better and who won't ask too many probing ?'s about job placement, etc. I don't see these problems as unique to film.
As I said, I know nothing of their programming offerings, but from what I've seen of their film offerings, I think your son should pass on Full Sail. I'd highly recommend that you tell your son to enroll somewhere accredited get a real CS degree. A CS degree offers at least a minimal credential towards other work in the field. A game programming degree isn't going to get you very far at all outside of game programming.
In my mind the greatest benefit of a strong CS degree is that it gives you a broad knowledge base to draw on that lets you easily pick up new technologies and concepts. The exposure to particular programming languages or technologies is less important, in large part because our industry moves at a fast enough pace that focused knowledge can quickly become outdated.
All that aside, the best "hands-on" experience you can get is actually working in the industry. I'd much rather see existing CS programs step up their efforts to place students in good internship and co-op experiences than add more software engineering courses.
Then again, I'm a university senior that's a bit disillusioned by the upper education system. I pine for a respectable education that isn't full of $1,400 menial courses like History and Government. I'm also a self-taught programmer that scavengers for free time to pursue my programming projects and education, struggling mostly with a free time deficit caused by said university courses.