Slashdot Mirror


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.

29 of 265 comments (clear)

  1. Cheap labor trained with tax dollars by Animats · · Score: 5, Insightful

    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.

    1. Re:Cheap labor trained with tax dollars by Anonymous Coward · · Score: 5, Insightful

      Exactly. If there was a shortage, people wouldn't be getting fired for being over 30. People who actually can program wouldn't be blown off for interviews after applying because they didn't have every keyword on their resume. Just more justification for more H1Bs into the country to pay them next to nothing.

    2. Re:Cheap labor trained with tax dollars by Anonymous Coward · · Score: 5, Interesting

      People don't refuse programming jobs because they didn't learn how to do it in grade school.

      People refuse programming jobs because they hate programming, and don't want to deal with the regular long hours, stress, and complete lack of job security that programming comes with.

      Teaching more kids to program won't produce more people who want to do it for a living, but feel free to try.

      Making the job worth learning the skill for, on the other hand, will motivate people (old and young) to self-educate. Of course...that might cost something....

    3. Re:Cheap labor trained with tax dollars by Anonymous Coward · · Score: 5, Interesting

      Most people are capable of being programmers, but they aren't capable of being good programmers. Most people just weren't born with the level of intelligence necessary to be such a thing, and evidence of this is everywhere.

    4. Re:Cheap labor trained with tax dollars by Marxist+Hacker+42 · · Score: 2

      Salaries have been going up steadily in this arena for the past two years. Software Engineering is just about the only industry that has.

      Having said that, if they really wanted to solve the problem, they'd try to educate Human Resources better, and encourage more on the job training instead of refusing to hire anybody without 6 years of experience in a technology that only emerged last year.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    5. Re:Cheap labor trained with tax dollars by crazyjj · · Score: 4, Interesting

      Here's a video to show you how tech companies in the U.S. today "recruit" American programmers.

      --
      What political party do you join when you don't like Bible-thumpers *or* hippies?
    6. Re:Cheap labor trained with tax dollars by DiSKiLLeR · · Score: 4, Insightful

      There's PLENTY of job security in programming (and all tech jobs) and salaries HAVE been going up.

      You're just living in the wrong place.

      America is not a country that has job security. Go to Canada, Australia, New Zealand, anywhere in Europe, and enjoy plenty of holidays, great pay and great job security.

      --
      You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
    7. Re:Cheap labor trained with tax dollars by ColdWetDog · · Score: 2

      ,,,, they'd try to educate Human Resources better ...

      You first. Talk about an impossible engineering project.

      --
      Faster! Faster! Faster would be better!
    8. Re:Cheap labor trained with tax dollars by hackula · · Score: 3, Interesting

      This. I am convinced that swarms of "programmers" who gripe every time this subject comes up have not been in the programming job market in 10 years plus. Saying you cannot get through the HR filter is total BS. Any competent programmer knows how to put the right stuff on their resume to get hired. It takes like 20 minutes to add a few keywords to your resume and it takes about 20 minutes of wikipedia per BS keyword to get through an interview. Most interviews are dumbed down to the extreme anyways, since its so difficult to find programmers that you really cannot afford to scare any away. The outsourcing stuff is BS too since most programming involves proprietary data and there is no way in hell that most companies are going to put that in the hands of someone in India or China.

    9. Re:Cheap labor trained with tax dollars by Woodmeister · · Score: 3, Funny

      I kinda hate to point out the hole in your logic, but while ability is not innate, stupidity certainly seems to be so.

      --

      Quando Omni Flunkus Moritati
      -Possum Lodge Motto
    10. Re:Cheap labor trained with tax dollars by AshtangiMan · · Score: 3, Insightful

      I think the biggest change is that people in many fields will be using programming as a tool in their non-programming job. This is already the case, but it is largely informal. Computers as a job tool for everyone are going to move far beyond the office suite, and kids who don't know how to program are going to be less able to compete and contribute in general.

    11. Re:Cheap labor trained with tax dollars by dgatwood · · Score: 2

      Some ability is learned, but some ability is innate. Programming is a skill with a rather unique requirement: the ability to quickly learn and retain lots of information. Where the average person can easily memorize a seven-digit phone number, most good programmers have memorized pi out to at least 15+ decimal places.

      The reason this is important should be obvious to anyone who has ever sat down to debug a problem with an 80,000 line piece of software. To do it right, need to be able to instantly recall how the big pieces fit together just so you can know the likely places to begin looking for the problem. Then you have to be able to quickly recall how each of those pieces works in order to understand whether it is doing what it should be doing.

      To a degree, good high-level code architecture documentation and good function-level documentation can alleviate some of that need, but at some point, you still have to be able to look at a function that is a hundred lines long (or, in the case of one spectacularly complex function that I work with regularly, almost 5,500 lines long, though admittedly it is mostly a giant switch statement, and each functional piece is only tens of lines long) and be able to efficiently construct a hierarchical model of how the code functions, beginning from a high-level view and progressing to greater and greater levels of exactness as you close in on the problem.

      That level of mental ability can't be taught. Your brain can either handle a problem with a very large and complex scope or it can't. If it can't, you can be a passable programmer for small projects (and that's good enough for a lot of things), but you won't ever be a great programmer.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    12. Re:Cheap labor trained with tax dollars by AshtangiMan · · Score: 2

      I can't tell if you're trolling or not. I have never held a job where I wasn't doing some kind of programming, and I only was a programmer by job title for about a year and a half. Most of the time I was writing code in C, fortran, and scripting languages to help me with the automatable or problem solving parts of various jobs.

      The fact that I grew up peeking and poking the hell out of my early commodore and apple computers certainly helped. I think the paradigm of desktop computer went away from that because in the 80s and 90s the bulk of the workforce had never used a computer and so it became the glorified typewriter, reinforced by the way you worked with the MS and apple machines (ie, no longer was the user interface also the programming interface).

      But any of the people (none of whom were programmers) I spent years working with that were doing simulation on Sun and SGI machines quickly learned at the very least c-shell scripting along with grep/sed/awk and then perl so that they could do more of their job and less of the data reduction tasks. There should always be protocol for the area to which you refer, but I'm talking about something else entirely.

      The point is that the usefulness of knowing how to program goes far beyond the commercial and corporate software development worlds.

    13. Re:Cheap labor trained with tax dollars by srichard25 · · Score: 4, Interesting

      I have been in the programming job market for more than 10 years and I am convinced that many big businesses artificially manufacture "shortages" just so that they can get H-1B Visas to hire foreign programmers for much cheaper. A local big business had 20-30 programming jobs on their website. I applied to many of them. Some of those jobs matched up word-for-word with my resume, yet I didn't get a single call back. Instead, we hear of a ton of new hires coming from India. Most of them moved into a new apartment complex right across from the big business. So many, in fact, that the apartment complex became known as "Little India". You can still see them walking across the street early in the morning and then back again very late at night. They work very long hours, are not able to simply change companies at will, and work for a lower salary. And all the big company had to do was claim that they couldn't find any US citizens to meet the job requirements.

    14. Re:Cheap labor trained with tax dollars by dgatwood · · Score: 3, Insightful

      Oh, fucking spare us the "Programmer as Ubermensch" bullshit. The ability to "memorize pi to 15+ decimal places" is not a marker of "intelligence," no matter how much you want to feel special for having wasted your time doing so. (I'd submit that a "good programmer" would realize this is a useless waste of time when pi to any arbitrary precision is readily available for the price of linking in an external math library.)

      It's not a question of whether they do this. It's a question of whether then can do this quickly and easily. People who can are much more likely to be good programmers. People who succeed in music above a very basic level are also likely to be good programmers because of the need for memorization (and because they use both the analytical and creative parts of their brain heavily, much like programmers do).

      I know you want to make it out like you're a special little snowflake, marking a new chapter in human evolution, because you know how to program a computer, but there's a large body of evidence (see: the entirety of human history) to show that analytical skills are not all that rare, or even all that special. Skyscrapers, medicine, and the automobile are all examples of remarkably complex "interrelated" systems which people have managed to master.

      What an amazing coincidence. Engineering and pre-med programs also have high dropout rates, in part because not everyone has those innate abilities.

      Unless, of course, you mean building skyscrapers, giving people their medicine, or driving/repairing automobiles, in which case, those are all examples of remarkably simple tasks that just happen to tangentially involve complex interrelated systems. You don't have to master the complexity of an automobile to use it any more than you have to master the complexity of writing software to use an iPhone. Other people design the systems to hide the complexity so that you don't have to understand it. And that's a big part of what makes good programming hard.

      More to the point, those tasks are easily compartmentalized. You have to be able to understand a small part of how something works, but you do not have to have a big-picture view at the same time. When you build a bridge or a building, you have parts that are numbered, that were cut and measured, that you put into place. You need to know where they go. You need to know how to fasten them in place. You do not need to understand that the beam is arched slightly so that it will end up being flat after the concrete weighs it down. (You do, however, need to know which side goes up.) You do not need to have a complete understanding of why particular beams are thicker than others. You certainly do not need to understand precisely how the length of the beams and other elements were tweaked to avoid resonance problems (Tacoma Narrows, anyone?) because someone already figured out those details and provided someone else with the manufacturing specs to produce the beam that you're hanging.

      Programming, by contrast, cannot easily be compartmentalized. You can't write a function in isolation and hope it fits in with the rest of the code, because there's nobody handing you a detailed specification for exactly how that code should be written (usually). You have to figure it out for yourself. You have to be simultaneously creative and logical. You have to simultaneously understand something very large while understanding how something very small fits in with it. And when you get people who do not have that ability writing code, you get colossal train wrecks. :-)

      Yes, in a few organizations, you do have division of labor sufficient to turn programming into code monkey work, but that isn't all that common, and tends to be indicative of a bloated bureaucracy, usually involving government contracts. For everyone else, programming is like designing the skyscraper while you're building it, and living on the ground floor wh

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  2. Bullshit by crazyjj · · Score: 4, Insightful

    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?
    1. Re:Bullshit by phantomfive · · Score: 2, Interesting

      I'd bet talented engineers aren't generally interesting in getting hired by Facebook. Same with Microsoft: gotta hire them right out of college, before they learn better.

      --
      "First they came for the slanderers and i said nothing."
  3. Bullshit by DoofusOfDeath · · Score: 4, Insightful

    Mark Zuckerberg says, 'Our policy at Facebook is literally to hire as many talented engineers as we can find.

    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.

  4. my whole class was taught to program in high schoo by codepunk · · Score: 4, Insightful

    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?
  5. Critical thinking before coding by fredrated · · Score: 4, Insightful

    Critical thinking seems to me to be the missing education; teach people to think and when they get to coding it will be easy.

  6. Teaching kids... by MYakus · · Score: 2

    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,....

  7. Everybody Thinks They're an Expert by mk1004 · · Score: 2

    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.
  8. Re:my whole class was taught to program in high sc by Anonymous Coward · · Score: 4, Insightful

    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.

  9. Programming, not coding by Todd+Knarr · · Score: 3, Insightful

    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.

  10. Re:You have unemployed programmers by erroneus · · Score: 2

    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."

  11. Re:my whole class was taught to program in high sc by fermion · · Score: 2
    Same here. I took my first class in the summer in middle school on a teletype, moving up to a video terminal in high school. It taught me three things.

    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
  12. Re:my whole class was taught to program in high sc by Spy+Handler · · Score: 2

    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.

  13. Re:my whole class was taught to program in high sc by AthanasiusKircher · · Score: 4, Insightful

    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.

  14. That's nothing! by walterbyrd · · Score: 4, Insightful

    Where the average person can easily memorize a seven-digit phone number, most good programmers have memorized pi out to at least 15+ decimal places.

    Pfft. Never mind 15 decimal places, I have memorized the entire 26 letter alphabet!