Also, here's something you many not know. K-12 CS education in India is actually pretty good. My school started computer science in the fifth grade. Internalizing the Turing machine (even if it is not formally explained) at that age gives you a huge advantage should you decide to become a computer scientist later.
So how come India doesn't produce good computer scientists? Actually we do. If you look at the top CS conferences, the proportion of Indians is pretty high compared to the number of people we graduate. It's just that Indians choose to move to the U.S. to do research because there are no good government funded research programs in India.
Next up, innovation and design. I think PG pretty much answered that one. It doesn't matter if you have talented people, if you don't have a nurturing environment like Silicon Valley, it's just not gonna happen. There's not much incentive for an Indian firm to innovate because our business climate is just so bad. Success depends more on how well you can bribe government officials than on innovation.
That leaves coding jobs. If you teach everyone how to code, of course you're going to have a lot of coders who aren't particularly good designers or computer scientists. That's what we have. Many of my friends who are actually good tried to kick it in one of the outsourcing firms, couldn't take the boredom, and left to go to grad school or do something else. It's a self-perpetuating cycle.
To summarize: K-12 CS education is not hard, and it's important for producing good computer scientists. You just have to be prepared to accept that not every kid will be interested.
The complaint I'm making is one that has been voiced already by many universities, including my own (Illinois.edu). It's the reason schools like Olin College are getting built and considered by Newsweek and Kaplan as "one of America's next Ivy League schools." It has nothing to do with computer science being difficult, it's because it's not interesting. This isn't about how to distinguish CS from coding, it's about fixing the outdated curriculum from the Cold War when we basically said "forget drawing and practice in the Computer Science and Engineering degrees, we're strictly math science and analysis now."
Java and C/C++ development is what most CS students will end up doing (coding). Those are the people I'm talking about; I think you misunderstood what I was trying to say. If you think success is all about bribery, you (as defined by Michael Arrington) have a losing attitude and have no place in Silicon Valley. Not my words, but Mr. Arrington's. And I for one side with him in saying that hard work produces more results than flattery.
My point is this: nobody wants to learn coding with zero application. I'm saying that higher education doesn't have it right because 50% of students dropout, so you're going to try and move it into k-12 and expect better results? How on earth do you propose to do that exactly?
The focal point of the argument seems to be whether CS "education" and "vocational training" should be separated.
P.S. Nice to see another UIUC student. I've been accepted there and would possibly end up enrolling unless I get into some long shot universities. How is the scene there?
Maybe I am old school, maybe I want the next mission to Mars to work instead of looking good on TV. And maybe I haven't slept today so I am bitter. But you have to thing bigger than Ipods.
Our public school system taught Logo in third or fourth grade. That's how my friends and I got interested in coding.
Meanwhile, try finding a plumber or an electrician... Our physical infrastructure is quite literally crumbling around us while our heads are in the clouds.
I just watched a video interview with Bill Gates yesterday and he said that we're now behind in software. The entire robotics industry (according to Gates) is behind not because of hardware, but because we don't have the software. He went on to say that software will continue to be a field where we need even more people involved, where we have most of the hardware we need.
Plus, a reasonable fraction of the academic positions are purely teaching.
http://www.ams.org/employment/2007Survey-DG.pdf
I know physics is similar.
Actuaries, quant finance (it's not dead yet), crypto-related programming, logistics... there are lots of non-academic jobs (most of which pay better than all but the best academic appointments). It may be the case that giving up four years of earnings is not worth it from a purely pecuniary standpoint, but I seriously doubt that there is an overabundance of math PhDs given the jobs they can take.
The private sector is, of course, much less visible than academia.
A math PhD in an actuarial setting is out of place, like a CD grad working at Geek Squad (a hypothetical Geek Squad with pay comparable to programming).
While having the degree helps you get the job ("omfg you have a PhD you must be so smart!"), it isn't necessary. The number of jobs where PhD level mathematical knowledge is necessary is actually quite small. Producing more PhDs will probably not be as helpful jmtame seems to think.
http://philip.greenspun.com/careers/
Also that's kinda nonsense; what's really lacking in robotics is a suitable power source.
"Into the Eye of the Storm -- Assessing the Evidence on Science and Engineering Education, Quality, and Workforce Demand"
http://www.urban.org/publications/411562.html
Abstract:
"Recent policy reports claim the United States is falling behind other nations in science and math education and graduating insufficient numbers of scientists and engineers. Review of the evidence and analysis of actual graduation rates and workforce needs does not find support for these claims. U.S. student performance rankings are comparable to other leading nations and colleges graduate far more scientists and engineers than are hired each year. Instead, the evidence suggests targeted education improvements are needed for the lowest performers and demand-side factors may be insufficient to attract qualified college graduates."
But it's bad enough that drop out rates are >50% for engineers in the US. You think you're going to figure out how to teach it to younger students if you can't even understand why half of everyone loses interest in higher education?
I have a hint: don't take Vannevar Bush so damn seriously. Yes, math + science + analysis == good. Especially when most of our CS and engineering programs were designed during the Cold War. But we also got rid of our practice and drawing coursework.
I'm not buying the iPhone because it's the "best engineered device." Somewhere along the lines, our engineers forgot what the hell art, design, and usability was. It's one of those things you don't want to take to the extreme. People wonder why the CS jobs go to India, it's because CS is not difficult. Creativity and innovation is, I don't see many companies outsourcing that (ok I realize I just made a really vague generalization, but if you look into my comment history, I do go into more detail).
I will say that it's extremely rare to find the guy who can not only code, but design too. I have only met a few in my life, and they're always the most respected people at a company who are incidentally the most desirable to all the others.