Tech Leaders Encourage Teaching Schoolkids How To Code
rtoz writes "Code.org has released infographics and a video to explain why students should be taught to code in school. They've gathered support from leaders in politics and the tech industry. Mark Zuckerberg says, 'Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren't enough people who are trained and have these skills today.' Former U.S. President Bill Clinton adds, 'At a time when people are saying, "I want a good job – I got out of college and I couldn't find one," every single year in America, there is a standing demand for 120,000 people who are training in computer science.' Bill Gates said, 'Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.' Google's Eric Schmidt is looking beyond first-world countries: 'For most people on Earth, the digital revolution hasn't even started yet. Within the next 10 years, all that will change. Let's get the whole world coding!'"
Part of the standing demand for computer science jobs may be influenced by bad policies from tech companies, like Yahoo's ban on working from home.
More "we want cheap labor trained with tax dollars" whining from industry. If there were a shortage of programmers, salaries would be going up. They're not.
Zuckerberg says, 'Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren't enough people who are trained and have these skills today.' Former U.S. President Bill Clinton adds, 'At a time when people are saying, "I want a good job – I got out of college and I couldn't find one," every single year in America, there is a standing demand for 120,000 people who are training in computer science.'
Yeah, and those "jobs" wouldn't just be a fiction to get more H-1B Visas, now would they? Of course not, they're all legit, of course.
What political party do you join when you don't like Bible-thumpers *or* hippies?
I'm calling bullshit. I work with plenty of very good developers, and none of them has been contacted by Facebook. If he really wanted to meet them, all he'd need to do is offer a yearly salary of $200k. He's apparently unwilling to do that.
My whole class in high school was taught how to program. The dirty little secret though is genetics play a key role and only a couple of us had any aptitude for it. Most people can be taught to program in some fashion only a few however will every be any good at it.
Got Code?
Critical thinking seems to me to be the missing education; teach people to think and when they get to coding it will be easy.
And... there you have it. Every kindergarden class has toy xylophones and drums. Most of them don't have a Mozart. A few of them have future part-time musicians. The rest just make noise.
Don't teach the kids how to code. Teach them how to program. That means teaching them to think about the problem, determine requirements, clarify requirements (I'm working on one now where it's taking literally days to tease out of the person exactly what they actually want, it's repetitions of my restating what he said and him going "That sounds right, except for..." and then outlining a new thing the software has to do that he hadn't mentioned before), evaluate approaches and settle on a basic design and outline for the software, and finally document the requirements and design. And then once the code's written it has to be tested and debugged, which is another skill set entirely. Plus, while coding you have to think about what tools are available in the language, what libraries are out there, and how they integrate with your code. Often that affects the design of the software, and you need to understand that and learn how to think ahead during the design stage so your design works with the tools you'll need to use while coding.
Actual coding is the smallest part of the job. Critical thinking, analytical skills, general problem-solving, research, all that is far more important to the job than merely knowing how to crank out code.
Ask any writer. They'll tell you that the actual physical act of typing out a book is the easy part, it's just time-consuming. The hard parts are all the research and working out the actual story before you sit down to start typing.
Most people can be taught to program in some fashion only a few however will every be any good at it.
What's your point? If you aren't good enough to be a professional at something, you should never try it or even be exposed to it? Let's shut down all the Little League games -- "the dirty little secret though is genetics play a key role and only a couple of kids on any team (at most) have any aptitude for it. Most people can be taught to hit a ball in some fashion only a few however will ever be any good at it."
If kids are never encouraged to try something out, they'll never figure out what they might actually be good at. And many activities teach useful skills regardless of whether the participants are "any good at it" -- baseball might teach coordination, teamwork, whatever, programming might teach critical thinking about problems, etc.
I fail to see what deserves "+5 insightful" for noting that some people are better at a particular skill than others, or might have a particular aptitude for it... or -- heavens! -- might actually just work hard at it because they're interested rather than being genetically predisposed to be a good programmer.
(Whatever the hell that means -- I don't think computers have been around long enough to put evolutionary pressure on humans to develop a gene for "good coding." And if you're making a claim about how you're required to have a particular IQ or other intelligence marker we claim a genetic basis for, well, I know a lot of people who are incredibly intelligent but terrible at programming, which is a particular skill that seems to require all sorts of personality and intelligence traits to do well... if you've found a genetic marker for "good coding skills," please let us know!)
Anyhow, as the Gates quote in the summary says, good programming does require critical thinking skills and logical thinking. We used to do things like this in schools when we required kids to do proofs in geometry classes, for example. How many kids did we ever expect to become theoretical mathematicians?? A much smaller number than we think might end up doing some coding some day.
Good thinking skills can be transferable. And "genetics" doesn't determine everything about your life.
Pfft. Never mind 15 decimal places, I have memorized the entire 26 letter alphabet!