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.
Watching a friend teach kids Java in high school is just painful. They spend way too much time debugging quirks in the languange than debugging their logic. Teaching kids to program in high school/elementry school should be taught differently than teaching kids to program in a particular language. The demographics I've read is that we are having problems getting kids into STEM let alone Computer Science. Teaching kids to program at a younger age should be a good thing, we just aren't doing it right. Did I just say "LONG LIVE PASCAL"? Not yet,....
Teach every school kid programming. When they're adults they'll think that programming is easy and grip about how much they have to pay programmers at their work.
I can mend the break of day, heal a broken heart, and provide temporary relief to nymphomaniacs.
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.
It's not legal. The requirement is to advertise for a local potential for a certain amount of time before they proceed into H1-B territory.
There is no mystery as to what they are trying to pull.
There should be no H1-B program. We are a "supply and demand" idealism nation. If a company needs something, they should depend on the market's invisible hand instead of relying on the government to interfere with their business.
We all know the truth though. They all want government to give them things and to make it easier or cheaper for them, but they don't want the government to protect the interests of the people or the nation as a whole. So for every argument business makes about wanting the government out of their business, ask them if they are willing to give up all that the government gives them such as "copyright" "patents" and all sorts of other things like.
The truth is, without government to "balance" things, someone will get too powerful and cause things to destabilize. It happens again and again and again. Trouble is, things are ALREADY destabilized and things seem to be getting worse every time I look. Everything favors business interests at the expense of the people... the pedestrians... the slaves. "The Human Resources."
First, it taught me how to make something work. So many times in school there is inauthentic assessment. The results of your work does not actually result in anything, so it really does not matter if it is right or wrong. In middle school this means kids will just fill in blanks or bubble things in to get finished. Because I was doing something that would be right or wrong for real, I would work to learn how to get the program running. Which meant lining up columns, making sure parenthesis were in the right place, etc. Nowhere else would I put the effort to make it correct, because it did not matter.
Second it taught me to break up a problem, think about what steps for each part were, and then put it back together with code. This process analysis and design served me well for the rest of my life.
Third, it encouraged me to develop abstract thinking. Math class was supposed to do this, but really it did not. That was learned in computer classes. I recall the epiphany of realizing that a swap function was needed to exchange values in variable. I understood what a variable was. When I wrote code to graph and swirl the trig functions I understood trigonometry. The act of me writing code to just generate a graph made me understand that process in way that I see many do not.
I will admit we were a specific group of hand selected students. On the other hand we now have the pedagogical techniques to teach these advanced topics to any somewhat motivated group. I have seen high school students use circuit design software to generate a circuit and then program a FPGA. It can be done if the we invest in the right teachers and pay for the equipment.
Which is my only worry. If we are going to do this in the early grades, we need the right people. Without the right people it is just going to devolve into an application design class, which is what too many computer classes are now. Knowing how to use an application is like knowing how to type. It is not going to teach how to program a computer any more than typing teaches you to build a typewriter.
But if done right it would be revolutionary. Asking a student to program a python web pages that solves a generic two step equation when a user inputs the values, performing a sort to calculate the mode and median, interfacing with data collection equipment to gather and analyze data for an expirent, this would provoke understanding in some students beyond what they would otherwise have.
Of course it won't happen because these skills cannot be tested on a standardized test. The skills on this test are those that no one really needs for work. For example the test asks what is the error in this bit of code. I don't know. When I code the compiler gives me an error, then I look at the code and fixes it. That is the way real people code. Ask me about something real!
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
No, he's talking about IQ which is at least partly based on genetics.
Absolute minimum IQ to be a computer programmer is around 110. To be a GOOD programmer you're gonna need 120+. Out of a class of thirty kids, you're only gonna see 3 or 4 who qualify... the smart kids. And if they're really smart, they go on to be doctors or lawyers or wall street somethings and make more money rather than put up with the long hours, deadline pressures and the job insecurity that goes with being a programmer.
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!