In school I was considered a "whiz kid" and (from my wife) I know what a programming apprenticeship looks like (there is NOTHING that you don't learn in the first 3 months of the first semester of computer science studies). When I look back to my codes from school and add the content of apprenticeship - that would be a friggin tinkerer!
You can teach them to use iterators, to use hardcore object-orientation, derive classes, overload streams etc.
but to be really good, you need profound knowledge about thread-synchronisation, discrete math (esp. graphtheory), automatatheory, and complexity classes, because without these, you will unavoidably code shit!
your programs will be slow:
you will use backtracking (exponential running time) for polynomial problems (e.g. problems related to matching- or network-cut problems). You will not use branching-vector minimization or kernelizations (you won't even understand why you should use those and your programs for NP-complete problems will be to slow to actually use them and you won't even be able to recognize these problems). Hell, you won't even be able to understand why polynomial running time is good and exponential running time is bad...
your programs will have race conditions and mutual-exclusion problems
or don't you want to benefit from any further processor-developments? processor development means more cores at the same speed nowadays, so you need multithreadding or you are stuck at using one core (which will not improve speed anymore)
you won't model parsers as (pushdown-)automata and you will NEVER be remotely able to know whether your program is reliable (whether it works for all inputs)
you won't be able to distinguish a fast program from a slow program, so you won't even know the quality of your programs.
My wife works at a software company's support hotline today and just ask her: bazillions of problems with all programs except those from the graduate computer scientists...
If you really think that ALL major software companies pay so much just for fun, then you are out of your mind! They just know and value how much more quality you get out of graduate computer scientists.
IMHO this guy just tries to make "we are nearly broke and can't afford good programmers anymore" sound good to the shareholders...