Slashdot Mirror


Why We Should Teach Our Kids To Code

An anonymous reader writes "An article by Andy Young in The Kernel makes the case that lessons in programming should be compulsory learning for modern school kids. He says, 'Computers help us automate and repeat the many complicated steps that make up the search for the answer to some of our hardest problems: whether that's a biologist attempting to model a genome or an office administrator tasked with searching an endless archive of data. The use of tools is a big part of what make us human, and the computer is humanity's most powerful tool. ... The computer makes us more efficient, and enables and empowers us to achieve far more than we ever could otherwise. Yet the majority of us are entirely dependent on a select few, to enable us to achieve what we want. Programming is the act of giving computers instructions to perform. This is true whether the output is your word processor, central heating or aircraft control system. If you can't code, you are forced to rely on those that can to ensure that you can benefit from the greatest tool at your disposal.'"

80 of 427 comments (clear)

  1. heart's in the right place, but by Anonymous Coward · · Score: 5, Insightful

    Let's start with basic computer literacy and not pretend that computer programming courses for a general audience wouldn't be watered down and completely useless - a torture for those with some aptitude for programming and a waste of time for the rest.

    1. Re:heart's in the right place, but by u38cg · · Score: 5, Insightful

      Is computer literacy for 14 year olds still an issue? Really?

      --
      [FUCK BETA]
    2. Re:heart's in the right place, but by dokc · · Score: 5, Insightful

      Is computer literacy for 14 year olds still an issue? Really?

      Of course it is! Computer literacy is much more then just clicking around with a mouse. Especially 14 year olds need to be educated about not only the technical side of computers, but also about sociological side (just turn around and check how many of them put everything about themselves on Facebook).

      --
      In love, war and slashdot discussions, everything is allowed.
    3. Re:heart's in the right place, but by Darfeld · · Score: 2, Insightful

      Genetic predisposition are overrated. The social context is far more important in this case. A child raised in a family with no computer will take longer to adapt. No computer at home means their will be no one to explain how to work with them, part from school lessons. I can clearly see how it could turn frustrating.

      There is also the interests of the child. A child into technology will take more attention and learn faster.

      Anyway, computer literacy is important, but you don't have to know much really. What you have to know can be learned in a week, and then you use that knowledge, otherwise it's pointless. There will always be things you occasionally fumble on, meaning you have to search how to do what you want to do from times to times so maybe the most useful thing to know about computing is really how to use a search engine. Then you can learn to code.

      --
      (\__/) This is Lapinator
      (='.'=) copy it in your sig
      (")_(") so it can take over the world
    4. Re:heart's in the right place, but by jawtheshark · · Score: 3, Interesting
      What is basic computer literacy? That has change a lot over time. Back in my day, you needed to know what a computer did to actually use the thing. Those times are definitely over. Those so called "Digital Natives" aren't. They are actually worse than those who need to "learn" the thing, because at least those people understand this is something you learn.

      I have taught "Computer Literacy" at high school. 13-14 year old. It was clear that the abstract concepts were too much for many of them. According to pedagogy, that's not entirely unexpected because at that age abstract thinking is way in early stages. I know it's elitist to say (and as a teacher, you're not supposed to even think about that possibility), but coding and the abstract thinking needed for it is a property of the kid, not something you can really teach.

      As for the typical computer literacy courses? A few about basic components of the computer, file management and then it veers to how to use productivity apps. For most of the kids that means learning by heart how to reproduce certain sequences. All in all: it has as much use as learning poems by heart. Well, at least with that you can impress some people.

      I quit the teaching profession, mainly because what is sold as "computer science" in high school has nothing to do with it. I wouldn't even call it "computer literacy". There were other reasons into which I don't want to get, but believe me when pay wasn't one of them.

      School should teach writing, reading, math, foreign languages, physics, chemistry, biology, history and geography and most important: problem solving skills. Problem solving skills is the only thing that will advance them.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    5. Re:heart's in the right place, but by dokc · · Score: 2

      According to pedagogy, that's not entirely unexpected because at that age abstract thinking is way in early stages. I know it's elitist to say (and as a teacher, you're not supposed to even think about that possibility), but coding and the abstract thinking needed for it is a property of the kid, not something you can really teach.

      Coding and abstract thinking is something you should train, not teach (or teach how to code and think). The main problem of all educational systems today is that we want to put as much "facts" in children's head, instead of show them how to figure out some things themselves. That is a reason why children find math boring.

      School should teach writing, reading, math, foreign languages, physics, chemistry, biology, history and geography and most important: problem solving skills. Problem solving skills is the only thing that will advance them.

      Absolutely true! But before that, educate teachers not just to read-out what is written in school books (children at that age already know how to read), but to explain, lead and animate children. They are all explorers, just give them guidances.

      --
      In love, war and slashdot discussions, everything is allowed.
    6. Re:heart's in the right place, but by errandum · · Score: 4, Interesting

      According to my organizational behaviour book ( http://www.amazon.com/Organizational-Behavior-13th-Stephen-Robbins/dp/0136007171 ) only 30% is dictated by your surroundings.

      Studies conducted on twin brothers separated at birth tend to conclude that most twins will end up with similar skills, jobs and interests. It's not overrated, it's fact... The book is actually quite interesting, I advice you to read it if you can get your hands on it.

    7. Re:heart's in the right place, but by jawtheshark · · Score: 3, Insightful

      Coding and abstract thinking is something you should train,

      Yes, but you can only train a "talent"... If the talent is completely non-existing in the kid, then no amount of training will do any good. That's why, until today, I suck completely at music. My teachers, back then, pulled their hair out with me as a pupil. This stuff goed completely above my head and no amount of training could get me to play anything.

      Absolutely true! But before that, educate teachers not just to read-out what is written in school books (children at that age already know how to read), but to explain, lead and animate children. They are all explorers, just give them guidances.

      Yes... I know, I've been a teacher in training. You pretty much quote from the "Teaching for Dummies" handbook. ;-) I also know how difficult, if not impossible, it is. You can do this, perhaps for one or two periods in a week... It requires so much preparation, it's insane... so much more can go wrong. Preparing a standard frontal-only period is already a lot of work (if you're not experienced, but you're a teacher in training: you're not).

      Basically: you expect superhuman abilities from teachers... Yes, that expectation is one that made me quit too.

      I'd say: try it... not a handfull of kids, a full class including the "characters" that are already completely demotivated. Preferably in full puberty....

      I'm not 100% certain, but the "explorer" part ceases to exist around puberty.... My experience, I might be 100% off.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    8. Re:heart's in the right place, but by Toam · · Score: 5, Insightful

      Is computer literacy for 14 year olds still an issue? Really?

      I teach at a university. I've noticed this attitude from a lot of senior academics.

      The assumption is that because almost everyone one of them owns an iphone and a laptop, that they are computer experts. However whenever we expect them to do anything work related on a computer (I am talking the most basic of Excel function) they collapse in a heap.

      There is a very serious difference between being able to update your facebook status and being able to do something useful.

    9. Re:heart's in the right place, but by Rakishi · · Score: 5, Insightful

      There is also the interests of the child. A child into technology will take more attention and learn faster.

      You've never taken a water downed school class in anything, have you? Trust me, nothing else saps interest and attention faster.

      I'm very good at math, a prodigy you might say. In elementary school math was only interesting because I got into a contest with a friend on who could finish all the year's homework the fastest. I think it took us two weeks and he was merely good at math. In middle school the class was so mindnumingly boring that I learned calculus just so they could never subject me to another such class. I asked the school, btw, to place me in a more advance class and they basically told me to fuck off.

      Granted, they'll probably just give all the intelligent kids massive amounts of ADD drugs so they don't "act out" is those boring classes. Problem solved as far as the school and parents care.

    10. Re:heart's in the right place, but by Toam · · Score: 2

      And by "them" I mean "17-20 year old students".

    11. Re:heart's in the right place, but by black6host · · Score: 3, Interesting

      I'm not 100% certain, but the "explorer" part ceases to exist around puberty.... My experience, I might be 100% off.

      Oh, I don't know. The "exploration" starts to get mighty intense around the age of puberty. Just not about common school subjects. Probably why teaching people of that age is so difficult. You're competing with forces that are extremely powerful, and deeply ingrained. Instinctual even. :) For me, learning about the (damn, can't even remember what they were teaching me at the time, insert subject here) didn't hold a candle to exploring the breasts of the girl that sat next to me.

    12. Re:heart's in the right place, but by g0bshiTe · · Score: 3, Interesting

      Mine doesn't use facebook, she is 14. One of the pretenses of her having her own computer is we have access and randomly check, we have never done so as there is no need. She uses her computer to watch videos, and to draw in photoshop. She is currently working with some of her friends on their first animated short story.

      --
      I am Bennett Haselton! I am Bennett Haselton!
    13. Re:heart's in the right place, but by g0bshiTe · · Score: 2

      know how to use word and IE and consider themselves extremely computer savvy

      Then they are ahead of some of the managers I work with.

      --
      I am Bennett Haselton! I am Bennett Haselton!
    14. Re:heart's in the right place, but by dokc · · Score: 2

      Mine doesn't use facebook, she is 14. One of the pretenses of her having her own computer is we have access and randomly check, we have never done so as there is no need. She uses her computer to watch videos, and to draw in photoshop. She is currently working with some of her friends on their first animated short story.

      For me that means that she is computer literate. (and btw congratulations to you as a parent)

      --
      In love, war and slashdot discussions, everything is allowed.
    15. Re:heart's in the right place, but by leonardluen · · Score: 2

      you are insane, i like math, but math homework is the most mind numbingly boring and tedious thing in existence. it is just monotonous repeating the same style of problem over and over...isn't this why they invented computers?

      you needed a better school then. i was sent to the high school for math while attending the middle school, and then they paid the tuition for me to go to a nearby university while in high school. and there were about 4 other high school students in my university courses, from other nearby towns. i didn't go to any fancy private school either, i was just in our states public school system.

    16. Re:heart's in the right place, but by fedos · · Score: 2

      There's a completely valid reason for this (Hint: they're the same sound). I recommend that you read John McWhorter's Our Magnificent Bastard Tongue. He explains why English grammar is the way it is.

    17. Re:heart's in the right place, but by 0100010001010011 · · Score: 2, Funny

      Did we really need spelled out how he got his dad internet Porn?

    18. Re:heart's in the right place, but by mcgrew · · Score: 2

      You're completely missing his point. If there is only a 30% difference in identical twins, that means that 70% of everything is genetic whether or not you're a twin.

    19. Re:heart's in the right place, but by Rasperin · · Score: 2

      I know the feeling, that's why I graduated High School with a 1.666r GPA and a 1540 on my SAT.

      Honestly though, the collegiate system isn't much better, it's a bit more challenging and they ask for a lot more independent studying, but for some it's still too fast and some way too slow. I was in the latter, and is a big reason I dropped out (something I regret 8 years later). I've been programming since, but I just couldn't handle it on my own, how bored I was.

      Universities should offer jump ahead forms, where you still pay full price for the class but you can take the class material in a couple of weeks or months versus a full semester. I could have completed 3 years worth of material in a semester with something like that and taken my senior year as a typical student...

      And to be flat out honest, while I have a natural aptitude for math and logical problem solving, I have my own weaknesses (such as grammatical correctness and using words in places they don't belong). The point being, I'm not the sharpest stick or the brightest crown in the box. Which makes me wonder how much worst those above me are.

      We need to stop catering to the bottom 10% and make a system that works for each group.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    20. Re:heart's in the right place, but by Rakishi · · Score: 4, Interesting

      you are insane, i like math, but math homework is the most mind numbingly boring and tedious thing in existence. it is just monotonous repeating the same style of problem over and over...isn't this why they invented computers?

      Thus why we made it into a game/contest. You think mmorpgs are any less mindnumbingly boring and tedious than math homework?

      you needed a better school then.

      I went to a very good middle school, magnet and all that fancy stuff. All that meant was that the administrators had different but even more strict bins they put students into. Can't be too gifted or it complicates their little student filing system and they just can't have that. I'm pretty certain at this point that the better the public school the more bureaucratic the school administrators are.

      Of course, now that No Child Left Behind and standardized testing is king they might want to keep smart kids back just so they raise the test scores.

      i was sent to the high school for math while attending the middle school, and then they paid the tuition for me to go to a nearby university while in high school. and there were about 4 other high school students in my university courses, from other nearby towns. i didn't go to any fancy private school either, i was just in our states public school system.

      So did I although the school wasn't at all happy to do so. Apparently, where I was, a school has to provide education at your level or find/allow means to do so. Of course, proving that you are above what they can provide is where the hiccup is. Apparently, passing the Calculus AP exam in 6th grade makes a case that is really hard for anyone to argue against. That and the school really didn't want the press coverage they'd get if they didn't stop shoving their shitty math classes down my throat.

    21. Re:heart's in the right place, but by Darinbob · · Score: 2

      The mind numbing tediousness actually works. You can learn principles but it won't really work without the rote practice. This is a lot like playing a musical instrument. I picked up and learned a lot of different instruments, but not very well because I never practiced. But I thought things like bassoon were cool with their millions of keys. But I could never be a musician because I stop working at it very soon after picking up the basics; the cool stuff is over and no patience is left for the hard work. Math is the same way, you can learn the fundamentals pretty easy but actually being good at it takes practice; ie, long division not so hard, but you're going to be slow at it if you don't practice; quadratic equation is straight forward enough but you'll never grasp how important it is just by memorizing what it is.

      Programming is similar; it's a fundamental basic skill like arithmetic that you need to be utterly confident in before you can do more interesting things. Plus you need to practice. I can learn a new language fast, but I really don't understand one until I write something non-trivial in it.

      And you will not always have a calculator with you. I find it very sad that when the machines break at a retail store that the clerks become utterly unable to function or even accomplish the very simplest task of counting out change. If you rely on the calculator too much your brain can get flabby.

      Case in point with long division. When teaching college students how to divide when there's no divide instruction and telling them that it's just long division but in binary, a sizable number of them just failed to grasp that concept. Or even something simpler like multiplication in binary. You can tell they'd have no hope understanding the more complicated floating point arithmetic. Similarly; do addition in hex or octal, not that difficult to do really and it's something that comes up a lot when there's no calculator handy, but some people can have trouble with that.

    22. Re:heart's in the right place, but by ILongForDarkness · · Score: 2

      I lasted about a week in grade 7 science. The teacher said "I don't know" several times and than realized she didn't know enough to teach me and sent me to the library for the rest of my classes so I could research stuff on my own. Worked for me. Should almost be like university required courses where sometimes the prof gives people the option of just writing the exam and if they pass they don't take the course. They could have done that with you and let you read a book for that hour a day.

      Classes at high school could work, my case the highschool in my area was probably a 40 min walk away. Not sure how that would have worked I was advanced for math and science but just normally brilliant in other subjects (mid 90's nothing "special" IMHO though good) so getting me back and forth each day would have been a pain.

  2. In some respect, I agree. by McGuirk · · Score: 5, Insightful

    I don't necessarily think that not knowing how to code on a practical level is really necessary for average Joe, but Mr. Young is definitely on the ball about the general idea. I took Computer Science in High School it was my major for my first year in college. It definitely changed the way that I think about complicated things and go about attempting to solve a problem.

    Then again, perhaps it is just certain types of thinkers that are attracted to coding and actually doing it just helps hone this type of reasoning.

    1. Re:In some respect, I agree. by SerpentMage · · Score: 3, Interesting

      Instead of teaching programming, like you say maybe teach about problem solving? Oh wait that is called being logical! Oh wait maybe that can be called logic and is, I don't know, part of the MATH curriculum! I don't think learning how to program, for everybody, is a good idea. Here are my issues with it:

      1) What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

      2) What paradigm? Once you have decided on a programming language are you going to teach via an IDE? Text editor? How about file system communications? Database? Complications, complications, complications...

      I help my niece with her math and my biggest beef today is that you have history, or philosphy folks teaching math. You can teach math and science in two ways. The first and this is what I fear is happening all too much is to teach via remembering the formulas and solutions. This achieves nothing and leads the problems in computer science and science we have today. The second approach and this is more difficult since it requires an innat understanding of math and science is to teach it in the abstract. I teach math to my niece in the abstract and she GETS it (when she pays attention). I try to get her to understand why the formula she just learned is actually created and what purpose it serves. I get her problem solving skills involved! Oh wait is that not what you try to do with programming?

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    2. Re:In some respect, I agree. by somersault · · Score: 2

      Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless

      That's one of the strangest things I've ever heard here. "Completely and utterly". 100%. Really? They're going to have to learn what an if statement or a loop is all over again? They're not going to understand assignments or function calls? Past experience of data typing and object oriented features aren't going to be useful?

      There is a whole lot that carries over from one language to the next - unless obviously you look into functional programming or something like that, in which case a different approach is required. But the most popular and common languages out there share a whole lot of genetic material.

      As you implied at the end there, if you teach people to program (ie how to break a problem down in such a way that you can then direct a computer to solve it using a set of logical instructions) - rather than just teach them how the language fits together - then the language is fairly irrelevant.

      --
      which is totally what she said
    3. Re:In some respect, I agree. by schroedingers_hat · · Score: 4, Insightful

      Instead of teaching programming, like you say maybe teach about problem solving? Oh wait that is called being logical! Oh wait maybe that can be called logic and is, I don't know, part of the MATH curriculum! I don't think learning how to program, for everybody, is a good idea.

      Far too little problem solving and critical thinking is taught in the maths classroom these days.

      1) What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

      Irrelevant. The skills are almost entirely transferrable. Unless you got to an extremely esoteric language like APL or brainfuck, anyone with a good understanding of one language will be able to learn a language with a similar purpose very quickly.

      Going from scheme to assembly may be a bit of a stretch, but learning any language that vaguely follows the style and syntax of C (I am including everything from the more high level parts of some assemblies to javascript here) will give a large headstart towards learning any other.

      There is a reason pedagogical languages exist, after all. For a beginner, one of these, or any high level language is probably appropriate as a tool to teach logical thinking.

      2) What paradigm? Once you have decided on a programming language are you going to teach via an IDE? Text editor? How about file system communications? Database? Complications, complications, complications...

      Again, these are details that don't matter. It's like saying 'what do we teach them maths with? A pencil? Or pens? What model of caclulator?'

      As long as you don't pick something entirely esoteric, or bore them with too much low level stuff too soon, it's fine.

      One could even make an argument _for_ an otherwise useless and obscure language. This would help kerb plagiarism, or at least force the plagiarist to understand both languages well enough to port some code (a useful end in itself).

      I help my niece with her math and my biggest beef today is that you have history, or philosphy folks teaching math. You can teach math and science in two ways. The first and this is what I fear is happening all too much is to teach via remembering the formulas and solutions. This achieves nothing and leads the problems in computer science and science we have today.

      Here, I agree. And perhaps one way of getting more teachers that are competent in logic and mathematical thinking is to try and interest students in such matters? The path to a useful knowledge of mathematics is long and arduous. Many of the obstacles also seem arbitrary, and it is only when one looks down after learning a lot, that the point of it all can be truly understood.

      Even then, the practical use of it is limited to a few scientific disciplines where the tools are not already available in a packaged and easy to use form.

      Mathematical knowledge for its own sake is a wonderful thing, but it is difficult to convince other people of its worth.

      The second approach and this is more difficult since it requires an innat understanding of math and science is to teach it in the abstract. I teach math to my niece in the abstract and she GETS it (when she pays attention). I try to get her to understand why the formula she just learned is actually created and what purpose it serves. I get her problem solving skills involved! Oh wait is that not what you try to do with programming?

      I would not call understanding the reasoning rather than accepting a formula as gospel abstract. Abstract is where you investigate something without grounding in reality or practicality. Either way, these are skills that are woefully under-taught in today's schools. Mathematics is 'taught' in such a way that getting the answer is considered more important than learning to think.

      Perhaps programming is a good way to encourage these skills where other methods have fai

    4. Re:In some respect, I agree. by K.+S.+Kyosuke · · Score: 2

      It definitely changed the way that I think about complicated things and go about attempting to solve a problem.

      I think you've hit the nail on the head here. The issue at hand is not that we need to teach the kids to program; if they learn to actually program, that's a welcome side effect. What they need to learn is to formulate and solve (computational) problems systematically in a way that makes result suitable for transcribing into code...or, e.g., suitable for transcribing into processes to be executed by people, if the processes are related to business, science, technology etc. Shaping your brain into an instrument capable of effectively grasping the core of poorly formulated ideas, abstracting over it, being able to see the corner cases and potential mathematical and logical contradictions in the input requirements, expressing yourself precisely in your intellectual output and paying attention to detail all along are all priceless and recyclable skills that few people actually have, including programmers - sadly, because for them, this should be a bread and butter skillset. (On the other hand, reading thedailywtf.com would be much less fun it those who are supposed to know how to program actually could.)

      --
      Ezekiel 23:20
    5. Re:In some respect, I agree. by TheRaven64 · · Score: 3, Insightful

      What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

      The fact that you even ask this question shows that you have completely missed the point. Programming teaches two very important things:

      • Breaking down a set of instructions into a form so simple that something with no intelligence can follow them.
      • Understanding the limitations and capabilities of computers (which, in case you haven't noticed, are now embedded everywhere).

      The language is entirely irrelevant here. I was taught BBC BASIC and Logo at school (aged 7). I've not used either language for at least a decade, except for a couple of times when I fired up an emulator for nostalgia. Does this mean that what I learned was 'completely and uterly [sic] useless?' Of course not!

      --
      I am TheRaven on Soylent News
    6. Re:In some respect, I agree. by TheRaven64 · · Score: 4, Insightful

      If I was employed with manual labor, as I assume is the case of the majority of planet Earth's total workforce, my programming skills would be reduced to a hobby with no practical value.

      The world is a red herring there. Ask about the EU or USA, and you'll find that the vast majority are not employed doing manual labour. It's increasingly cheaper to replace manual workers with machines - they make fewer errors, don't need to eat or sleep, and can work around the clock. With machines like concrete extruders, even builders (which hung on for a while because of the large amount of individual decision making required) are likely to see a reduction in workforce. People always say that plumbing is a safe occupation because it can't be outsourced, but how much of a plumber's work could be done by a small robot that crawled through the pipes and had a glue gun for repairing damage and a drill for removing blockages?

      A large part of the general population has absolutely nothing to gain by knowing how to program

      Really? I'll give you a counter-example. My stepfather is the head greenskeeper on a golf course. Hardly a job that requires programming, right? Well, except for the fact that the irrigation system that they installed a few years back is completely computer controlled. It comes with a little domain-specific language that lets you write simple programs that set the conditions that will trigger each of the sprinklers. But, of course, he's just doing a low-skill job, he doesn't need to know any programming...

      For more general usage, try watching pretty much any office worker at his or her computer for ten minutes. You'll find it a painful experience: so many things that are trivial to automate are done by hand on a daily basis. A basic understanding of programming and half an hour with the VBA documentation in Word would save huge amounts of time every day. But, of course, they're just doing administrative work, they don't need to know any programming...

      --
      I am TheRaven on Soylent News
    7. Re:In some respect, I agree. by Nursie · · Score: 3, Interesting

      1) What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

      Hi there!

      I'm a C programmer! Been doing it since the turn of the century, as I understand it I was over 20 years late to the party but it's *still* going strong now.

      Please, this "it all changes so fast" meme is tired and done.

      It doesn't.

    8. Re:In some respect, I agree. by asc99c · · Score: 3, Interesting

      This is one of the best points on here. For 90% of the people who could benefit from programming knowledge, the question of whether to learn Java, or C, or Ruby is ridiculous. Many office workers have to deal with spreadsheets quite a bit, and VBA is the thing they often need.

      My wife used to be a team leader and she had to submit various reports on a weekly basis, through a process that took about 2 hours of copying and pasting between various spreadsheets. One day she was doing it from home and I saw she had got rid of about half the work using more complex formulas instead of copy/paste. I showed her how to add a button to run a VBA macro that did the rest, and reduced it to a 10 minute job, collating the data from a few sources, and then hitting a button.

      Within a few months of that she had rewritten most of the standard procedures for how most of the management reports were created (by herself) and automated most parts of it.

    9. Re:In some respect, I agree. by Nursie · · Score: 2

      Not really much difference TBH. C11 looks like it adds a few (really very few) features, but the age of the systems and the compilers used in a lot of places prohibits taking advantage of any of these.

      C99 introduced more stuff, but even *that* is little use in cross platform code and in a world where Microsoft's C compilers don't (and likely won't ever) implement C99.

      So.... no, you don't really even have to keep up with standards. There hasn't been a new one that's relevant to me since before I started professional work.

  3. Totally agree by cc1984_ · · Score: 3, Insightful

    Where I work, we have secretaries copying and pasting (using a mouse) passages from a intranet website into our database. It made me cry just watching it. Now forget the fact that the other end could set up a ReST interface, a simple screen scrape would make a job that took hours into a job that would take seconds.

    There is so much inefficiency in offices that could be eradicated if only people were a little savvier about what computers can do.

    1. Re:Totally agree by Tom · · Score: 4, Insightful

      Most of inefficiencies don't need a new system. They just need people to be better users.

      Here's a thought experiment. Teach all the secretaries in your company the 20 or so most important keyboard shortcuts. I guarantee you a measurable improvement of output.

      No programming knowledge needed.

      --
      Assorted stuff I do sometimes: Lemuria.org
    2. Re:Totally agree by Tom · · Score: 2

      If this is a job that needs to be done over and over and over, it is worth investing the time.

      If It's a one-time or irregular job, some coder hacking up a script in a few hours that can handle 90% of the cases with the secretary doing the fails and fringe cases manually would still save time.

      The failure of the geek: Wants to automate everything
      The failure of the manager: Mistrusts automation so he wants everything done by hand

      That's why usually the 80% solution is the optimal solution.

      --
      Assorted stuff I do sometimes: Lemuria.org
    3. Re:Totally agree by cc1984_ · · Score: 2

      You're missing the point. If everybody had at least a basic knowledge of computer programming (or at least the existence of it), everyone would know that copy and paste is a bad idea and do something about it. As it stands, the secretaries know no better other than the job is a PITA and the other end thinks that writing a webpage displaying the data is the best they can do.

      Getting the secretaries to know how to parse XML and use Regexps is not the exercise here. The exercise is giving people a sense that computer programming is not magic and the barrier to getting something automated is not as high as people think it is. This goes from the bottom to the top of any organization so that everyone is singing from the same hymn sheet.

    4. Re:Totally agree by Anonymous Coward · · Score: 2, Insightful

      If it's a one-time or irregular job, it's worth investing time in a meta-solution, that can generate solutions to one-time or irregular jobs.

      Computer science doesn't just stop at the first recursive iteration.

    5. Re:Totally agree by malkavian · · Score: 2

      Well, I suspect a fair part of the Slashdot crowd are actually armed with enough info to be able to build some very basic working models of a car engine. Minor surgery (emergency tracheotomoty), removal of foreign bodies etc. certainly isn't beyond the scope of teenagers. Building a piano? Again, simple to get a basic, not very good thing going. Producing a TV show? Sure. Most teenagers are capable of that.
      What you're thinking of, however, is a high quality end product that you'd accept in a commercial environment. That doesn't come without aptitude and a whole load of practice.
      Knowing the basics of how an engine works let me fix things that don't actually require a mechanic (oil changes, topping up water, checking fluid levels, maybe replacing pipes etc.). That makes me more efficient with costs, and keeping the whole process of driving more efficient.
      First Aid, CPR and a host of other minor medical procedures are already taught. I do occasionally make use of them. This means less trips to the Emergency Department fouling up the system (and perhaps costing money). It also means less immediate suffering if you can triage at the initial point, and remedy basic conditions. I've been doing that since being a scout as an early teenager.
      Built my own guitar as a teenager (it was pretty rubbish compared to a properly built one, but hey, I enjoyed the challenge). Not quite a piano, but I could have done an abysmal job and got something workable in time, with sufficient money.
      Producing a TV show? Done quite a few drama based things as a teenager. Enough to get by. As have most kids.
      The thing with each of those is, that by understanding what they're based on, what premises and assumptions you can make, and having a context, you get a far better idea of what you should actually be doing to be more efficient in that general area.
      At the moment, computer training as simply telling people "Don't look under a bonnet, don't look under the car. All you need to know is that dial in front of you, a gearstick and a couple of pedals". Give a bit of context! If someone understood regexes, for example, they'd understand WHY you do data entry in a particular way, and perhaps they'd also ask a relevant question (such as 'is this case sensitive?') when first encountering a system.
      That bit of knowledge can make all the difference. You teach someone about everything, but you can train them to work out what they need to know by giving them context, and letting their brain take the road from there.

  4. Engineering would be a better thing to learn by digitaldude99 · · Score: 4, Insightful

    The world doesnt need any more programmers. I should know, I have been looking for a programming job for ages and no one will give me a job. On the other hand, there is a shortage of engineers. In the oil industry there is a dire shortage of engineers, anyone qualified as a chemical engineer can command a good salary, yet strangely all the univerisity courses on this in the UK are being closed down in place of non vocational courses. No one in the media or government seems aware of this. Instead of all these shows on TV telling people what a good idea it is to try and be a pop star or super model, they should have shows encouraging people to take up more practical professions.

    1. Re:Engineering would be a better thing to learn by ciderbrew · · Score: 2

      No mod points. Have a +20 Yes all that. They do run a few programs on the BBC of "How to build ..." http://www.bbc.co.uk/programmes/p00lysc9
      To stop home mind rot I got rid of my TV, stick to iplayer and take my son to the science museum as often as possible.You have to build geeks these days.

    2. Re:Engineering would be a better thing to learn by martin_dk · · Score: 2

      All upcoming engineers should be able to program.

      Coding is just a subset of necessary practical tools.

      It should be taught in every primary school.

    3. Re:Engineering would be a better thing to learn by ciderbrew · · Score: 2

      A huge number of children unable to use computers; but able to play games. I started in the days of the 48k spectrum and if you wanted to play a game in those days you had to have a little bit of exposure in knowing how to do that. Just a few commands.
      If your best mate Barry came over to play games, you would have great fun in typing
      10 PRINT "Barry is an Arse"
      20 GOTO 10
      just a few commands
      Kids today don't get that. It's all locked away. They'll get 10years and a billion pound fine for downloading a game. A skilless task. They'll need the skills in not getting caught. I can't afford his fine so he'd better be a bloody good "cyber criminal". I'll not be paying £60 a game just like my parents wouldn't buy mine. And kids don't listen or do as they are told so things will be copied and swapped. AND I'm ranting - Sorry -- sorry. Lunch time.

      Engineering / building a geek point missed I guess.

  5. Yet the majority of us are entirely dependent on a by emilper · · Score: 4, Insightful

    Programming is a calling, not a profession. Let them try programming as soon as possible, get those with the calling identified and cultivate their ability.

    Yes, most of them probably won't get a CS degree ... so what ? Domain knowledge is as important as knowing algorithms, if not more important. There is need for accountants-programmers, linguists-programmers, geologists-programmers etc. Computer Science degrees are for those that want to write compilers, operating systems, new DB engines, routing algorithms etc. For the rest, the (probably innate, not educated) ability to stay stuck to a chair 10h/day running lines of code in the virtual machine in your head and having fun while doing it, logical thinking, basic algorithms and domain knowledge are more important.

  6. Re:In principle, yes. by SuricouRaven · · Score: 4, Insightful

    Or the other end: They all get lessons covering only Visual Studio and .NET, or making iOS apps in xcode, because Microsoft or Apple respectively offers a massive discount and almost-free support to schools to make sure the programmers of the future are their customers of the future too.

  7. Nice in concept. by lattyware · · Score: 4, Insightful

    I love the idea, because I would have loved it, however, one has to remember that not everyone loves programming the way we might do.

    I think that courses should be offered earlier and in a much more useful form, and definitely some programming and CompSci theory should be put in the curriculum to give an understanding, but for the average person, deep programming knowledge isn't the main thing needed. Definitely giving people the chance to learn if they want to is very important.

    I think the more important thing is to teach basic logic and debating skills at a young age. People really lack basic skills like spotting logical fallacies and following an argument. I think teaching some formal logic at a young age would really increase political participation, increace scientific and computing ability, lower people falling for scams like phishing, and increase general learning ability.

    --
    -- Lattyware (www.lattyware.co.uk)
  8. Programming will become the new Shakespeare by jholyhead · · Score: 5, Insightful

    Do we want a generation of kids to grow up despising programming and programmers? Look at what the education system does to English Literature, Maths and Science.

    Kids grow up loathing Shakespeare because it isn't taught in the same context that it was written for. Kids grow up to hate maths because they've been force fed the mundane basics since they were 5. Do we honestly think they'll do a better job with programming?

    I'm all for a more thorough coverage of Comp Sci and ICT - of which programming is obviously a part, but it should be weighted to play to the strengths and interests of the individual students. Some students will take to programming, others to graphics and animation, but as soon as you start making stuff compulsory, you find yourself forced to water down the content and you end up sucking the joy out of it.

    Those of us with Comp Sci university backgrounds will probably remember how miserable those students who didn't 'get' programming were. Do we really want to do that to kids?

    1. Re:Programming will become the new Shakespeare by jholyhead · · Score: 2

      Teaching a subject badly makes kids hate something. Why do you think that they will do a better job of teaching programming than they do with Maths, Science, English etc?

  9. I missed something by gmhowell · · Score: 5, Insightful

    I missed why this should be mandatory. I missed why we should attempt to educate kids who cannot read, do simple arithmetic, identify their MP (the writer is from the UK). I'm guessing this author grew up in a mostly white, middle to upper class area, knows mostly white, middle class people, and thinks the most pressing issues are the ones facing white, middle class people.

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  10. Teach basics of Computer Science! by Cyberax · · Score: 4, Insightful

    What I'd really want is for schools to teach the basics of computer science. So that everybody at least knew what the word 'encoding' means when applied to information, what digital data is and why it's different from analog signals, etc.

    It'd definitely cut down the number of people sending screenshots in JPG and bying Monster HDMI cables.

  11. Benifits by Faisal+Rehman · · Score: 3, Interesting

    Coding strengthens other areas, like logic, mathematics, detailed visualozation of problem, focus and insight

  12. Re:In principle, yes. by sithlord2 · · Score: 2


    So what? A for-loop in Java is basically the same as in .NET or Objective C.

    Programming is about a certain mind-set, logic & math. Only bad programmers complain about programming languages. A good programmer can program in any programming language he wants...

    Okay, except "brainf*ck" maybe...

    --
    ...You are over-qualified and under-paid. If we give you a raise, we will break the cosmic balance of the universe.
  13. Re:In principle, yes. by Captain+Hook · · Score: 2

    I think you are taking "Programming" to literally.

    What I took from TFA was more a kin to scripting. Learning how to write a perl/python script to scan a bunch of documents for certain phrases, even learning regular expressions for use inside applications which support RegEx would be useful.

    You don't need full on paid for development environments to teach that.

    --
    These comments are my personal opinions and do not necessarily reflect the opinions of the other voices in my head.
  14. please don't by Tom · · Score: 2

    I said this before in a different topic, but please don't.

    We already have way, way too many PHBs who think they know what coding is because they once wrote a simple script in Visual Basic, two MS Word Macros and know formulas in Excel.

    We don't have a shortage of people who know how to code. But we do have a massive shortage of people who can code well. And teaching programming to kids before we have figured out how to properly teach coding is a disaster waiting to happen. Case in point: A C++ university course where I helped someone out last week. They actually teach them crap that will lead to exploitable code first, and then (in the next module) they tell them that there's border conditions they should check for. If only these idiots would go bungie-jumping without a rope first, and then add the rope on the 2nd jump, we would have much better code.

    Almost all the "simple programs" that you teach people to code with are horrible pieces of junk, from input validation to testing. It teaches bad habits and it gives people a wrong impression on what coding is like. And even if (hopefully) these half-taught idiots won't ever write any code in their lives, they may well end up as the managers who decide the deadlines for the programmers.

    Please don't teach coding to kids. Teach it to the few who actually enjoy fiddling and can concentrate long and well enough to focus on the details to get it right. We don't need more code in this world, we need better code.

    --
    Assorted stuff I do sometimes: Lemuria.org
    1. Re:please don't by sourcerror · · Score: 2

      "We already have way, way too many PHBs who think they know what coding is because they once wrote a simple script in Visual Basic, two MS Word Macros and know formulas in Excel."

      The worst of them are the electrical engineers who think they know everything about software engineering just because they programmed a microcontroller in C.

  15. Re:In principle, yes. by qxcv · · Score: 2

    Only bad programmers complain about programming languages. A good programmer can program in any programming language he wants...

    It's a good thing all schoolchildren are Good Programmers then. Hell, why are we even teaching them this! They can program in any language they want!
     
    A few lesson's experience in one language makes not a Good Programmer. Not having a portable, flexible language makes it extremely difficult for kids to hack on cool pet projects like web apps and games without investing a significant amount of time learning a new language for doing each task.

    --
    "The most dangerous enemy of a better solution is an existing codebase that is just good enough." -- Eric S. Raymond
  16. Missing the point. by thinkscout · · Score: 2

    Teaching kids to code has more significance than just training future programmers or improving basic computer literacy (which is on the increase http://www.eurojournals.com/ajsr_3_07.pdf ). Like mathematics, programming presents a method of solving problems that is generally applicable. Even if children don't go into science or a technical profession the patterns of though which programming experience will encourage should allow kids to reason more effectively when solving a problem. Obviously this may not be the case for every individual but when applied across an entire population positive effects may be observed. Also programming could be very useful in helping children learn mathematics by demonstrating real applications of the equations they learn in school.

  17. Please stop! by RobinEggs · · Score: 3, Insightful

    If you can't code, you are forced to rely on those that can to ensure that you can benefit from the greatest tool at your disposal

    I really wish computer scientists would get over themselves. At least the arrogant ones who, like conceited physicists and preening economists, think all the problems on Earth are merely esoteric subsets of their own field of study, which they'll get around to solving in due time. Interesting philosophical arguments about universal language aside, it's simply not true that everything is better with computers or better if reduced to pure math. There are fantastic uses for programming and computing in damn near every field, but it's ludicrous seeing programmers argue, again and again, that every engineer or scientist should be a programmer, much less every citizen. Not everything is better with a computer; some things are even worse.

    It's not the goddamn Matrix yet, either; we're not "forced to rely on" people who program any more than we're forced to rely on people who grow food or fix cars. We all rely on all of those people, we're comfortable with some divisions of labor, and while computers are useful in every field that doesn't make programming the most useful skill of all. It makes it the most general skill, perhaps, but that's not an argument for universal programming literacy in and of itself. Maybe every industry needs programmers, but programmers need not become the core of every industry. Nor do I believe that programming teaches any particular problem solving or critical thinking talent, regardless of the language or whether the skills are actually used to program, better than logic, chemistry, or even anthropology courses.

    We certainly don't yet need to regard programming as a component of basic literacy, in any case.

  18. Re:In principle, yes. by mwvdlee · · Score: 2

    Teach them basic HTML/CSS/JS skills.

    They're not the most elegant languages in the world (understatement), but they're relatively easy (just stick to procedural code) and a browser is pretty much always available. Most browsers are quite forgiving as well; if you forget an HTML close tag or omit a semicolon in JS, mostly you'll still get the output upto the point it goes bad.

    JS can be quite a mess, but if you stick to the basics JS will do fine for the purpose of teaching absolute beginners. You don't need to teach OO, closures or modern JS techniques; document.writeln() will do fine for anything you need in these types of lessons.

    It also satisfies the need for immediate results. With a little bit of HTML and CSS, you can make a lot pretty webpages. Just let them create their own homepage; some pictures, some links, pretty colors, cool mouse hover effects, perhaps a JS to print the current date; simple stuff they could expand upon.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  19. Two things by Gideon+Wells · · Score: 2, Insightful

    1) Basic computer literacy, if you can manage that. My school had typing or basic computer literacy mandatory. Strange as the computer literacy course included a section on typing. My school had two programming courses.

    2) Increasingly dependent on the few? This isn't limited to just computers. How many of us here on /. can sew our own clothes from scratch? Have gardens capable of feeding our families year round? Able to repair our own cars? Fix our televisions, built our furniture, make the thread used to sew our clothes, possibly even wire and pipe our own homes? And the time to do it all?

    Anyone can learn all of this, including coding, but is it time effective? It is a trade off for living in these interesting times. Somewhere, on some thing, we will always be dependent on others. A bit of mandatory coding isn't going to change this. As a geek I'm tempted to say this is a good idea. Then I step back and ask myself do I really want sewing, small engine repair, gardening, etc. all to be mandatory?

    --
    by Anonymous Coward: I, for one, welcome the shift from car analogies to pizza analogies. um.. overlords?
  20. Re:In principle, yes. by expatriot · · Score: 2

    When I was in high school in the 60's, my father strongly suggested that I should take a typing course. In those days this was on a manual typewriter and the class was full of girls who I presume wanted to be secretaries.

    It was one of the most useful courses I took, and the skill obviously transferred to computer keyboards.

    Getting some things into "muscle memory" is good. Getting some things, like programming or language, into our brain organization is good.

    The old Visual Basic would be a bad choice, but .NET, Java, Python, or even Logo would be a start.

    It's not only useful for those who will eventually become full time programmers, it is also beneficial for anyone who uses computers in their work in any capacity. Even if it just helps them understand the limitation of computers, it would be worth it. Remember anyone saying "It's on the computer so it must be right"?

  21. The whole idea is stupid... by beh · · Score: 4, Insightful

    As a software developer, I can see where the call for that comes from - but it's just about as misplaced as it could be. Software developers aren't the 'standard' the rest of the world should orient themselves by.

    Developing software is a great skill to have if you're a software engineer -- not sure whether it's a waste of time if you plan to become, say, a doctor, a plumber, etc...

    There are very few skills that _everybody_ needs to have for their normal day to day lives - developing software isn't one of them. Giving kids an idea of what is part of it may be a good idea, i.e. a basic understanding of how computers work. Coding skills on the other hand - not so sure; particularly - who knows what language and what paradigm will be 'state of the art' by the time the kid finally gets to use his/her development skills on. Picture it from this side - when I went to school, programming courses looked at BASIC and Pascal. Nice languages - for teaching - but I'm not sure whether it will really prepare you for coding C/C++, Java, Perl, Python, Ruby, ...

    Do you really think that it makes sense giving someone much of a development course in something that may be outdated a few years later? I didn't really like history lessons, biology lessons, ... But I'm sure most of the history being taught is still the same; most of the principles of biology are still intact, ... On the other hand - one of the things we learned about in school was some of the hardware: anyone still remember what a ULA is? Or the practical knowledge of how to hook up a tape deck to a computer? ... punch cards?

    Development classes and paradigms are too specific a skill for a mandatory course to be forced on everyone.

    1. Re:The whole idea is stupid... by robthebloke · · Score: 5, Insightful

      not sure whether it's a waste of time if you plan to become, say, a doctor, a plumber, etc...

      A librarian with programming knowledge would be snapped up immediately (since most libraries are being forced to digitise their collections).
      Someone who can speak arabic would be much better writing an english -> arabic translator than the vast majority of programmers.
      If you're writing animation software, an animator who can program is much more valuable than a programmer who knows nothing about animation.

      That's really the problem with recruitment though isn't it? There are plenty of programmers around, however there are very few people with (insert relevant skill here) who can actually program! Since CS tends to be the place where most people learn programming, how is that going to help us recruit a biologist with programming experience? Exposing children to programming at school gives them a chance to specialise in a subject other than CS, and still have a chance at employment as a programmer in the future....

    2. Re:The whole idea is stupid... by jimbolauski · · Score: 2

      Old hardware does not effect logic or the skills needed to program, those skills carry over language to language, it is not the syntax that is important just the reasoning ability, it's why a proficient programmer can learn a new language in a few months. The reason every student shouldn't take a programming course is because that course would not give students essential skills that a majority of them will use. Most of these skills are touched upon in math classes and the redundancy of a programming class will not add much for the students that go on to unrelated work. All that is needed is more of the logic and reasoning skills to be taught in math classes, just a tweak of the curriculum.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
    3. Re:The whole idea is stupid... by khr · · Score: 4, Insightful

      As a software developer, I can see where the call for that comes from - but it's just about as misplaced as it could be. Software developers aren't the 'standard' the rest of the world should orient themselves by.

      In junior high, even though I was already planning a career in computers, I still had to take shop class, something I didn't plan to really use. Still, I learned a bit about using some of the basic tools that might be around the house to get some tasks done with them. While my woodwork would probably never measure up to professional standards, I can probably do a few things if I need to for myself.

      The same could be said for computers. Even those who don't plan to become professional software developers could still use the skills learned for better use of a this other tool that's likely to be around the house...

    4. Re:The whole idea is stupid... by CastrTroy · · Score: 2

      Which is why I think programming probably isn't the right thing to be teaching to everybody. Something like systems administration would be a much better course. Understanding the basics like how a computer goes together, what the different parts are for (many people don't even know the difference between memory (RAM) and storage (hard disk). You can't be proficient in programming until you actually understand how to operate a computer, and many people fail on that to no end. Get people up to the point where they can operate their computer before we talk about how they should be programming them. For a car analogy, let's make sure everyone knows how to drive well, before we start requiring everyone to be a mechanic.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    5. Re:The whole idea is stupid... by FireFury03 · · Score: 5, Insightful

      As a software developer, I can see where the call for that comes from - but it's just about as misplaced as it could be. Software developers aren't the 'standard' the rest of the world should orient themselves by.

      Developing software is a great skill to have if you're a software engineer -- not sure whether it's a waste of time if you plan to become, say, a doctor, a plumber, etc...

      There are very few skills that _everybody_ needs to have for their normal day to day lives - developing software isn't one of them.

      Whilst I agree with you that software development isn't a mandatory skill for all careers, I do think that it would be a good idea to give people a mandatory introduction to it at school and then allow them to opt to do it in the later stages of school. Remember that there are mandatory classes in many "non-essential" subjects already - why is it considered a good idea to teach kids art, music, geography, history, engineering (aka "technology") but not software development?

      When I was doing my GCSEs (a little under 20 years ago), I ended up doing art and geography as my optional subjects. That wasn't because I thought they were interesting or useful (I firmly believed, and still believe that they were the most boring wastes of time I've ever encountered and have done nothing to usefully improve my education). Computer science wasn't available either as a mandatory or as an optional subject. As far as I know, it still isn't, 20 years later (yes, there are now useless "computing" classes that teach you how to use Word - something that maybe you could dedicate a lesson or 2 to, but I honestly don't see how you can fill an entire subject with that).

      In fact, I would go so far to say that a rudamentary understanding of how software works (not just how to use it), would be far more useful to most people than the likes of art, geography, etc. Even if you're not going to have a career in computing, you're still almost certainly going to use computers and have to interact with techies, so having at least some understanding of how they work is helpful. I don't subscribe to the idea that understanding beyond the level that you are working at isn't useful - if you're writing software in assembly language then it helps to have an basic understanding of the physical chip design; if you're writing software in C it helps to have a basic understanding of the instructions that code will be compiled to, as well as how the operating system is going to handle your system calls; by extension, if you're using computers (and people from all areas of life do this, including doctors, company directors, etc.) then it helps to have a basic understanding of how the software actually works.

      particularly - who knows what language and what paradigm will be 'state of the art' by the time the kid finally gets to use his/her development skills on.

      I fundamentally believe that we shouldn't be teaching languages just because they are currently in use or state of the art. When I was doing my A levels and later when I was doing my degree, basic procedural programming was taught using Pascal, because it happens to be a reasonable teaching language. It is, however, a language that isn't really used in industry, but that doesn't matter because once you've understood the basics of programming, picking up a new language is easy. These days, the university I studied at has switched to using Java to teach basic programming skills, because industry alledgedly wants Java programmers. Java is a pretty horrendous language to use as a teaching language for people who have never programmed before, so it fails at that point. Even if industry does want Java programmers now, they probably won't in 10 years, so using that as the foundation for a degree seems daft.

      As a company director myself, I don't want programmers who know a single specific language - we use a variety of languages (Java is not one of them), and which languages are used periodically

    6. Re:The whole idea is stupid... by BrokenHalo · · Score: 2

      True. And (by way of a nitpick) this this brings me back to a remark in the OP where it is claimed that "the computer is humanity's most powerful tool".

      I dispute this. Humanity's most powerful and important tool is the same as it has been for thousands of years: the hammer.

    7. Re:The whole idea is stupid... by tomhudson · · Score: 3, Interesting
      You missed the point - programmers are a commodity.

      Exposing children to programming at school gives them a chance to specialise in a subject other than CS, and still have a chance at employment as a programmer in the future....

      Looking back, I'm glad my kids didn't bother. The working conditions are mostly crap, the job satisfaction is among the lowest of any industry, sexual harassment is the #1 factor for women dropping out (68%), and you're going to be hit by the 3 Os - Outsourced, Off-shored or Obsolete - well before you're ready to retire.

      Staying current doesn't help - perception is what counts, which is why you see people worried that they may never find another job at 35 because they're seen as "too old."

    8. Re:The whole idea is stupid... by gtbritishskull · · Score: 4, Interesting

      I am an engineer who programs. I do automation. Most of my time is spent programming, but I would not have this job if I were not an engineer. The working conditions are great. Job satisfaction is pretty good. Not a girl, so don't know about sexual harassment, but have not seen any in my office (but there are not any female engineers). We outsource the gruntwork, but then the program has to be fixed, tested, and installed. If my boss could outsource my job he would (not because he is a dick or anything but because he is a businessman and is not going to give me charity) but he can't. Your life sucks because you don't have a useful skill to leverage with your programming, so you are a commodity. The point is, as you seem to agree, that people should not become just programmers. Programming should be a skill, not a job. Everyone should learn to program, just like everyone needs to learn to write. I write emails all day long (or at least it seems like it), but my career is not writing. My value add is engineering, which I leverage with my programming and writing skills. There are very few professions that I can think of where your worth does not increase dramatically from knowing how to program.

    9. Re:The whole idea is stupid... by Hatta · · Score: 2

      You missed the point. Not everyone with programming knowledge is a programmer, any more than anyone with English knowledge is a writer. We're not talking about making everyone a software engineer. We're talking about giving people the tools to automate the day to day problems everyone encounters in their lives.

      --
      Give me Classic Slashdot or give me death!
    10. Re:The whole idea is stupid... by Hatta · · Score: 3, Interesting

      Teaching kids to "program" is as useless as teaching kids to "use a computer".

      I agree, both are not useless at all. Not everyone who has to use a computer for work is interested enough to learn on their own. I had a secretary here a few weeks ago who works on a computer all day, she couldn't open a .csv file. A little bit of education would go a long way to making people like that less helpless.

      --
      Give me Classic Slashdot or give me death!
    11. Re:The whole idea is stupid... by ceoyoyo · · Score: 2

      "You missed the point - programmers are a commodity."

      You missed the point. Programmers are a commodity. People with other skills who can also program (or programmers who know something about things other than programming) are rare and valuable.

  22. What about other proffessions by MrMickS · · Score: 2

    We rely on a select few to carry out a number of things in society. There are a select few doctors, barristers, engineers, dentists, etc. Its the way that our society works. IMO we have too many people in IT today that are doing it because its a job rather than because they understand it. This leads to many of the issues we see in IT.

    If they are going to teach anything in schools make it problem solving, which already exists as part of some mathematics curriculums but has fallen into disuse because its tricky. Improve computer literacy in a general sense. Almost all homes have networks these days, explain how that works, etc. These can be done in the abstract but with practical application. Its the abstract that the children need to learn at this age because that base knowledge will be useful regardless of vendor etc.

    --
    You may think me a tired, old, cynic. I'd have to disagree about the tired bit.
  23. Re:In principle, yes. by Canazza · · Score: 2

    my first programming experience was controlling a turtle. Back when I was about 8.
    I also remember someone (ie, adults, not some weird savant show-and-tell) coming into school with a pack of Lego, LEDs and a microcontroller and teaching us about how traffic lights work when I was about 10.

    --
    It pays to be obvious, especially if you have a reputation for being subtle.
  24. The real reason to teach your kids to code: by hey! · · Score: 3, Interesting

    Society can have no higher purpose than to produce a world full of people who are more like me.

    Everyone thinks this, whether they're a software engineer or a sous chef. And we're all right, because we're imagining training future generations to be more like the *best* of ourselves and never the worst. We coders imagine a society full of creative problem solvers. We don't imagine a future full of people who are arrogant toward anyone they can find a reason to feel superior to.

    Now I happen to think TFA does a poor job of arguing its point. It claims that coding will teach "logic and reason",but it uses these terms in a very loose way. On this basis a businessman has just as much claim that learning to make decisions about allocating resources teaches "logic and reason". A landscape painter could argue that learning to paint teaches "logic and reason", because you have to work according to aesthetic principles. If you think art is a bit loosey goosey, consider how a pure mathematician looks at coding; sure it's *governed* by mathematical logic, but what isn't? Clearly everyone should be trained in the methods of philosophical investigation.

    Coding is very much akin to fine art. Yes, you've got to satisfy the compiler and produce a consistently working product, but the real secret sauce in coding is *imagination*. Coding is about transforming your mental representation of a problem from something you don't know what to do with to something that can be broken down with a little persistence. B-trees, hash tables, web services, function closures ... none of these things were discovered by studying nature, but through feats of imagination.

    It'd be great if everyone learned the kind of intellectual skills that coding sharpens. The problem with this idea is that it doesn't make room for all the other really valuable lessons other disciplines have. Yes it would be great if *everyone* was trained in coding, and *nothing else had to be thrown out of the curriculum*. The same goes for accounting, law or military strategy. But soon you get the point where you've claimed *all* childrens' free time. You're nowhere near teaching them everything that would be handy to know, but you've taken away time that they could use learning to direct their own energies and imagination.

    I think teaching *everything to somebody* is a good idea, but teaching *everything to everybody* is a bad one.

    There is such a thing as too much standardization in education. A little standardization is a good thing; we want everyone to be able to read and calculate and understand their roles as citizens. But taken to an extreme, you run up against an unforgiving truth: you can't teach someone *everything* that they might need to know. If you try, you end up with things that nobody learns that somebody ought to. Education ought to embrace both *standardization* and *diversity* as goals, both pursued in moderation. At present I believe the pendulum in the US at least has swung too far toward standardization.

    There's only one thing I'd want to see added to education everywhere, and it's more a matter of attitude than knowledge. There's altogether too many people who when faced with a difficult problem say things like "I'm no good at math", "I'm no good at foreign languages" or "I have no artistic talent". I think it's important for people to recognize and acknowledge thier limitations, but also to believe they can overcome those limitations. A homeowner confronted with a geometry problem should think, "I'm no good at math, but if I applied myself I could figure this out." A nurse in an emergency room might think, "I'm no good at languages, but I tried I could learn enough Cambodian to ask patients to point to what hurts."

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  25. Programming is part of a well-rounded education by cdecoro · · Score: 4, Interesting

    A lot of people here make a good point that is, however, not relevant. Namely, that "we don't need more programmers." I'm inclined to agree, especially hearing from friends about how difficult the job market is for many of them. However, this criticism misses the point: we want to teach those that *aren't* going to programmers, in order to provide them with a well-rounded education.

    Most of the people that are taught algebra (or any math above basic arithmatic) will never use it in their work, much less be mathematicians. Same for a foreign language, or history, geography, chemistry, physics, etc. For that matter, it is completely irrelevant to the lives of the vast majority of people whether humankind developed after billions of years of evolution, or created in a day. Yet I don't see many slashdotters arguing in favor of those religious groups that don't want to teach accurate biology. Children should be given exposure to as much information and knowledge as possible, to make them better informed and educated adults. What they do with it then is up to them.

    Other countries do a better job producing more well-rounded students. Let me give an example: A German friend, a Ph.D. student in comparative literature, asked what my CompSci Ph.D. thesis was about. I said "mathematical integration," and asked her if she was familiar with the term (from experience, most Americans without science backgrounds are not). "Obviously," she said "I did graduate from high school, you know."

    Apparently, in Germany, everyone at university-bound high schools takes calculus. It's just expected. It doesn't matter if they're going to be in science or math. It is taught in case they might use it, and so that they can be generally more-knowledgeable people. The same, in my view, should apply with programming. It teaches rigorous, formal thinking skills, something that is sorely lacking in American academia.

  26. Re:In principle, yes. by TapeCutter · · Score: 3, Interesting

    How are such skills even *remotely* useful to peple such as lumberjacks, casino dealers, chefs, cashiers, clothing designers or nurses?

    Coincidently I was a "lumberjack" in the early 80's, programming was very useful to me as a way of getting out of a life of low paid manual labour.

    Come to think of it the crusty old manager of the sawmill would ask you maths questions before he would give you the "cream job" of picking house lots from the green-chain. However the only worker making any real money was the guy operating the large break down saw, it had more knobs and switches than a small aircraft and was a very specialised skill. Of course a gigantic band saw with a 4 meter high jaw that can manipulate and slice up a 40ton log to within 1/64th of an inch would be controlled by a computer these days, and I wouldn't be surprised if house lots are now picked and packed by one guy operating a few industrial robots.

    And yes, we did occasionally sing the lumberjack song.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  27. Are you kidding me? by SmallFurryCreature · · Score: 2

    Oh wait, like so many you don't know what it truly means to be literate. To be literate is NOT to know what a word means but to be capable of learning the meaning of a new word.

    To explain: A research animal hits a level with a image and gets a nut. The animal likes nuts so will associate the image with a nut. If another leaver has another image and delivers an electric shock, which the animal does not like, he will associate that image with the shock.

    But the animal has no understanding of the image. The image could a photo, a drawing, a glyph or word but it has no understanding of it beyond a simple association with the lever and the result.

    You could teach some animals a hundred words but that does not make them literate UNTIL they can learn new words just by deduction. For instance, if you know what Audiophile and Xenophobe means, including that the words in questions are combo's of simpler words, then can you guess what the made up word Audiophobe might mean? THEN you are literate. Same as simply being able to recite multiplication tables does not make you understand math, just being able to use a computer by pressing the key that gives the nut is not being computer literate.

    A computer literate person could be set in front of a different OS or program and deduce how it works without constant hand holding.

    A test? Take a new MMO like Star Wars: The Old Republic. It isn't exactly pushing new boundaries,you would expect that anyone with experience with either another MMO or games in general (and for some functions, computer programs in general) to be able to sort it out. And yet, general chat is filled with people asking the most inane questions.

    NOT so much because of a low IQ and their parents being siblings BUT because they only learned to hit the right key at the right time. They did NOT learn how to deal with stuff, they learned a routine, there is no understanding anymore then the lab animal understand the lever or electricity or the biology of nuts.

    • People are afraid, if you mess with a running car engine you can loose fingers, mess with a running OS and... nothing at all can happen. A crashed car engine is going to cost you, a crashed desktop is a mild nuisance. If you can even manage to do it anymore, but still people treat computers and software as if it was a loaded gun... that is for that percentage of the population that does not end up shooting themselves in the head AND miss their brain.
    • Lots of "training" is just for routine, hit this button, then that one rather then UNDERSTANDING why. And the "why" goes deep. Mouses have two buttons, 99% of the time if the desired action cannot be achieved with a left click, try a right one. Don't worry, the computer will NOT explode.
    • Lack of processing feedback. Impatience with feedback. You can make a button flash for attention and people will look right over it. Force a popup that blocks all other input until you sign in blood that you have read the message and people will STILL not read it because surely it can't be relevant.

    But this about more then computer literacy. Take this real life case: Public transport suffers from broken doors, it happens. How do you signal to the customer the door is broken and they got to use another? Do you put a RED sign at EYE height? ignored. Red sign above the button. Ignored. Color button red permanently with leds instead of black when in motion and green when stopped? Ignored. Do you put a sticker OVER the button making it impossible to operate? Ignored. Do you make EVERYONE else in the train move to another door when they see it? Ignored.

    Yet those people can still "operate" their computer, unless something happens that is not part of the routine. Would you judge a person as public transport literate if they can open a normal door but are completely lost with a broken door? No.

    I don't think everyone should be at the same level, I was completely lost when I was rushed to hospital after 20 years of not even seeing a doctor and needed a lo

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  28. Load of bull by SmallFurryCreature · · Score: 2

    I am old, all it means I get payed more then my fellow developers.

    As for 35... I remember 35... dimly. Saying that I am past 35 is like saying the Voyager 1 is a bit far. Hell, I was once amazed at the high tech in Voyager... I think so, that far back the memory ... what was I talking about?

    Oh, you might be right when you think programmers are the kiddies who work in Access but real developers? People who know how to turn an idea into a working product from start to finish? They are FUCKING hard to find. Granted, I live in Holland where the economy is so bad that when the government wanted to issue a new loan they got a NEGATIVE interest (meaning that the finance industry thinks it is safer to PAY the dutch to please allow them to loan their money is the safest bet) and unemployment is fairly low (4-5%) but the list of open vacancies for developers is staggering that right now I get offers for more money in fields I have no experience with in languages I never used because they can't find anyone else.

    Saying that employment is hard as programmer who has aged, is like saying that being a chef is not a long term job because there are no 35+ burger flippers. Granted, if you spent 17 years not learning a single additional skill, that might be true, but then that would be true in most fields.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.