Forgot your password?
typodupeerror
Programming Education

Should Everybody Learn To Code? 387

Posted by Soulskill
from the only-the-ones-who-don't-develop-bejeweled-clones dept.
theodp writes "In July, the Association for Computing Machinery announced it was partnering with Code.org, with ACM contributing funding and its Director of Public Policy to Code.org in a push to 'ensure that every K-12 student in the US has the opportunity to study computer science.' Interestingly, joining others questioning the conventional Presidential wisdom that everybody-must-get-code is the Communications of the ACM, which asks in its February issue, Should Everybody Learn to Code? By the way, Code.org is bringing its Hour of Code show to the UK in March. The new National Curriculum for England that is to be taught in all primary and secondary schools beginning in September includes a new emphasis on Computer Science curricula, said to have been sparked by a speech given by Google Chairman Eric Schmidt in 2011."
This discussion has been archived. No new comments can be posted.

Should Everybody Learn To Code?

Comments Filter:
  • by Anonymous Coward

    Sure, why not. They'll never use it anyway.

    • All right, but let's expand that a bit. Should every engineer know calculus?
      • by ShanghaiBill (739463) on Sunday February 02, 2014 @12:47PM (#46134453)

        All right, but let's expand that a bit. Should every engineer know calculus?

        I was required to take four semesters of calculus in college. During my 30 year career in engineering, I have never, not once, used anything beyond the first semester. When anything else comes up (which is rare), I just look it up in a table of integrals, use a tool like Mathematica, or solve it numerically. The hard part is never "doing the math" but rather figuring out how to construct the mathematical model of physical reality in the first place. Math class doesn't help much there. Knowing how to to integrate an equation doesn't do much good if it is the wrong equation.

        On the other had, programming has been absolutely critical to everything I have done. I have probably spent 20,000 hours doing that. Yet in college, I was just taught how to invoke the Fortran compiler and given a photocopy of the basic syntax. Everything else was self-taught.

        At least for me, there was a vast difference between what I was taught, and the skills that were actually useful.

        • by aaarrrgggh (9205) on Sunday February 02, 2014 @01:32PM (#46134665)

          I have over the years as an electrical engineer used many brute-force solutions to solve what could have been done more elegantly with a different tool: often Excel becomes the Swiss Army knife.

          But, without being able to use a little shell scripting, Perl and PHP, there are problems that can't be easily solved. If I was any good at C or a more modern language I am sure other things could be options.

          Unfortunately, the opposite is also often true-- Visual Basic created a generation of internal office applications that should have been dealt with differently.

          I like to think the best thing computer programming education teaches people is when they should hire a programmer. I still remember a problem 18 years ago where tens of thousands of files had to be modified, and my boss' approach was just to bring in 20 temps after hours and do it manually for a couple months. Fortunately we were able to hire someone to automate it instead, but that approach wasn't available to him as he had no experience in that area.

        • Re: (Score:3, Insightful)

          by Anonymous Coward

          I think you're putting too large of a separation between the knowledge required to solve a calculus problem by hand, and the knowledge required to model a solution that requires calculus.

          From a practical standpoint, if you are solving engineering problems whose solutions end up using integral calculus, I'm not sure how you could avoid learning calculus. How could you model a solution for a problem in terms of something which you never learned? If I was never exposed to calculus the first time, I would have

        • by elashish14 (1302231) <profcalc4@gmai[ ]om ['l.c' in gap]> on Sunday February 02, 2014 @03:14PM (#46135169)

          Being able to do calculus helps you think critically and serves as a basis for study in many other important fields. There's a pattern of reasoning skills that you develop when you read a book, learn a method, apply it to solve a problem, verify your answer, and return to the problem to identify and correct errors.

          Being able to solve the problem without having to look it up gives you an intuition for solving complex problems without having to resort to such means. If I tell you the derivative of a value is x^{-1}, you shouldn't need to look up that it varies logarithmically. And being able to solve the problem yourself is what gives you the faith in the solution being correct. You could always look up the wrong value from the table, or provide the wrong input to a compute engine (side rant: Mathematica syntax drives me bonkers). You should always have multiple ways of understanding and verifying your solutions because relying solely on existing tools to perform the work for you without understanding where they come from turns this process into a black box which you have to rely on purely out of faith; I would argue that this can be dangerous, especially for mission critical applications. For basic calculus, linear algebra and differential equations, which every college engineer is expected to understand, I don't think this is an unreasonable requirement.

          Even while you yourself may have not been in a situation where you needed to understand these concepts, there are many fields in which being able to manipulate these equations is important: particle advection, comupter graphics and animation engines (manipulating ODEs and PDEs, linear algebra), or scientific and numerical computing and modeling (pretty much anything field of math). So I would say, if I were developing a comprehensive computer science program, I absolutely would have to include this in my curriculum, otherwise I would be shutting our students out of these fields. And if you're a mechanical, electrical, chemical, etc. engineer (or you're any other kind of engineer having to work with them), you need to understand these concepts to have faith in your results.

          The purpose of your college program was not to cater its curriculum directly to you, but to give all the students enrolled a broad set of skills that they could apply in situations that might arise. And understand that your program can only expose you to the skills that you should learn, but it's up to you to find a practical use for them.

      • by s.petry (762400) on Sunday February 02, 2014 @12:52PM (#46134481)

        All right, but let's expand that a bit. Should every engineer know calculus?

        Yes, every Engineer should know Calculus. This is different from what's in the subject "Re:Should Everybody Learn Calculus?".

        Now what someone could ask without such an extreme bias is "Should every student in high school learn what calculus is and what you can use it for?" to which the answer would be "yes".

        Learning "Calculus" requires a lot of precursory work which people in general don't in High School. A person could even ask "Should everyone learn the basics of Algebra, Geometry, and Trig to which that answer would also be "yes".

        I'm not saying you introduced the bias, the AC did.

        • by ShanghaiBill (739463) on Sunday February 02, 2014 @01:41PM (#46134717)

          "Should every student in high school learn what calculus is and what you can use it for?" to which the answer would be "yes".

          Well, I would say the answer is "no". But either way, that is an answer to the wrong question. The question is not "Should schools teach X?" but rather "What should we remove from the curriculum to make room for X?" There are a lot of things that could be taught, and saying "everything is important" is the same as saying that nothing is important. For instance, at my son's school the kids in grades 4-6 can type their assignments, instead of writing them out with pen or pencil. Several parents asked the school to provide a touch typing class so the kids learn to type correctly. The school said the schedule was full, so if typing was going in, then something had to go out. After some back and forth discussion, the school decided to dump cursive writing, and replace it with classes on touch typing. That seems like a big improvement to me, since most of these kids will never again in their life write a letter or paper with a pen, but will spend much of their lives in front of a kayboard.

    • Re: (Score:3, Informative)

      by daem0n1x (748565)

      Simple answer: NO

      Now, my own question: Should all stupid ideas taken out of someone's ass be published and re-published as often as this one???

    • by ClaraBow (212734)
      I agree, but it does teach logic, problem solving, and critical thinking. It will also teaches students to use a set of steps to solve a problem. Kids are not being taught a lot of these types of skills in school today. Most kids are taught Algebra and never use it -- but that's not the point. The underlying problem-sovling skills are what matters.
  • by Anonymous Coward on Sunday February 02, 2014 @09:27AM (#46133423)

    No.

    ensure that every K-12 student in the US has the opportunity to study computer science

    Yes.

  • by buchner.johannes (1139593) on Sunday February 02, 2014 @09:29AM (#46133425) Homepage Journal

    (1) Reading comprehension
    (2) Household economics
    then Coding.
    Everyone thinks that their profession is the most important in the world. But making everyone a programmer is not the most important task.

    • LOGO isn't all that hard and gives people enough insight into how computers work to cure them of some idea that it's all spooky magic done by scary people.
    • by eulernet (1132389)

      Coding is knowledge, but there are more useful knowledge than learning to code.
      For example, psychology's or negotiation's skills, which will always be useful anywhere.

    • by DoofusOfDeath (636671) on Sunday February 02, 2014 @10:58AM (#46133895)

      (1) Reading comprehension
      (2) Household economics
      then Coding.
      Everyone thinks that their profession is the most important in the world. But making everyone a programmer is not the most important task.

      This, a million times over. I'm a good computer scientist, but I haven't been careful or thoughtful about household economics. I suspect that if I'd had some instruction in these matters, I would have been more disciplined. Now I find myself only being able to consider jobs which are high-paying, because I've financially boxed myself into a corner. This limits where I can live, on which projects/products I can work, and how much time I can have with my family. It turns out that spending one's mental energy only on computer science isn't always a winning strategy.

      If you're at the beginning or your career or still in college/high school, I implore you to find the knowledge and discipline to create a budget and to live within it. Even though your salary can rise quickly as you gain work experience in software development, it will never outpace your ability to over-spend it.

  • by eyepeepackets (33477) on Sunday February 02, 2014 @09:32AM (#46133441)

    Yes. but then I think everyone should learn the basics of critical thinking. Fundamentals of programming isn't that different from algebra and geometry, so junior high-schoolers should get a dose. If nothing else, they'll learn that programming isn't rocket science: It's a flexible tool which can be used to do rocket science and make Caturday-related goofiness.

    • Yes. but then I think everyone should learn the basics of critical thinking.

      Especially the capability of viewing the issue realistically from a completely opposite perspective is a skill that should be refined. Dialectics, I believe that is called.

    • Fundamentals of programming isn't that different from algebra and geometry

      Yes it is. Algebra and geometry are fundamental and foundational subjects that also have endless applications. Computer programming is simply a skill that is useful to some people. There is also some theory associated with it, sometimes inaccurately called computer science, but better called software engineering. But that's not so fundamental that it's particularly useful to non-programmers. To the extent that some people argue it is, what they're really talking about is the math that it's based on, like gr

      • by Bengie (1121981)
        Programming is the application of knowledge and encompasses all sciences. In order to program, you must be able to look at a problem, understand it, and break it down into its atomic pieces, the same type of thinking that must be done for all problems in any system.
  • by GrumpySteen (1250194) on Sunday February 02, 2014 @09:38AM (#46133465)

    Kids need to be exposed to a wide range of subjects (including programming) that they may later choose to pursue. They don't need to be taught to be experts in every subject, but they do need the basic understanding that will allow them to start learning on their own and to know whether it's something that would interest them or not. That basic understanding will help them make good choices about what classes they take, what they major in, etc.

  • by Anonymous Coward on Sunday February 02, 2014 @09:43AM (#46133503)

    I'm torn on this issue as someone who works in a sales org but has learned how to code/is in a continual process of getting better at it.

    On the positive side of things, it's absolutely amazing how much time can be saved by extremely trivial code. For example, I had a client who needed to check something like 800 URL's for a given result on their page. They were chunking out ranges of the URLs to give to a team of people to do the task before we told them to put down the crack pipe and give us 10 minutes. A quick Python script looking for said element on each URL in the list dealt with that task nicely.

    On the negative side-- the one thing learning code has taught me is that I'll never be that good at it. I had to bash my brains out on a table for many, many weeks, just to understand basic concepts like lists and arrays, and am only NOW really grasping the concepts of classes/why I should care. My code is sloppy, works well only really when run by me, and my ability to read other code/make modifications is limited to say the least. I stuck with learning code ONLY because I truly enjoyed it, and even then, after about 6-7 years of working at it, remain pretty mediocre.

    In short, I'll never be a very good coder. I had to work INSANELY hard to get as good as I am, and I only did so because I genuinely love coding (even if I'll never be a savant with it). Trying to force people to go through that sounds like bad news bears, and I just can't see it working on any level. On the other hand, I get the appeal, because really everyone benefits. I get along great with our engineers because I can genuinely speak with them at a level that is more attuned to what they are thinking, and I can legitimately translate between the two orgs better than they could without me. It should be noted that we also have some rare engineers who can cross over to our world and love them for it.

    So in short, I get why people want this to happen. Forcing it however is a recipe for disaster.

    • "I had to bash my brains out on a table for many, many weeks, just to understand basic concepts like lists and arrays"

      And that's exacly why programing could be a very nice *tool* to develop youngsters' brains.

      You see, "lists" and "arrays" are words from common language because lists and arrays in programing are exactly that: lists and arrays.

      That you had problem understanding that, means that in fact you have problems with such common concepts.

      It's a pitty, but if you have problems grasping basic concepts l

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        FYI I'm the OP.

        "You see, "lists" and "arrays" are words from common language because lists and arrays in programing are exactly that: lists and arrays."

        Did this make sense to you when you wrote it? Read it again.

        I realize that lists and arrays make perfect sense to you (and they do to me now too), but in the beginning when I was reading books on how to do all of this stuff, it was NOT intuitive to me. I would propose that it is only intuitive to a small subset of the population.

        " what it means is that you

      • by Bengie (1121981)
        I bet the sales person would kick your ass at selling stuff. I'm great at programming, but I don't do around judging people based on how well they can program, just that they're good at something and they probably do that something better than me.
    • by Bengie (1121981)
      Hats off to you, sales person. The only sales people I've worked with have absolutely no understanding of programming. Need a feature added? Sure, our programmers can magically add that and have it ready by tomorrow.
  • by Pav (4298)
    ...many important concepts useful to logical and critical thought can be learned this way. I guess it's up to the educators to decide the best way to get students to grok these skills. Coding for codings sake? Wrong reason.
  • by Urd.Yggdrasil (1127899) on Sunday February 02, 2014 @09:52AM (#46133557)
    Formal logic: Yes Troubleshooting: Yes Basic computer skills: Yes The fewer people who think computers are magical devil machines and can figure out how to solve technical problems on their own the better, but the vast majority of people will not write programs.
    • To be fair, I've got a phd in cs, and I still think of macs as magical devil machines.

  • A public education for every child is a marvelous thing, but it has become overly general.

    Every opportunity should be available to each student, but we must learn to admit our children have different strengths, weaknesses, and preferences.

    Though it seems true any child can grow up to be POTUS, not every child can be an astrophysicist.

  • by ip_freely_2000 (577249) on Sunday February 02, 2014 @09:54AM (#46133569)
    The Association for Computing Machinery wants everyone to code? I wonder what The Association for Fixing Your Car, Association for Small Repairs Around The Home, The Association for Recognizing and Stopping Child Abuse, The Association for Common Courtesy and The Association for Reasonable Adult Relationships would think. All worthy, imo.
  • by mothlos (832302) on Sunday February 02, 2014 @09:58AM (#46133581)

    Having worked in office environments, the amount of effort office workers could reserve by having access to a decent scripting language is immense; I once saw someone renaming over three thousand files by hand in order to change a date format. The potential drawbacks are also fairly obvious since businesses tend to do a terrible job of managing their IT tools and anarchistic coding is going to make this worse. However, the potential for productivity enhancements is there and it seems like a challenge which can be largely overcome, particularly if the workforce had these skills which were languishing. If this is the reality we should to push for, then some sort of programming experience which can be linked to useful activities seems like it would be worthwhile for many, from the drones in the office to automated farm equipment and CNC operators.

    • by Tom (822) on Sunday February 02, 2014 @10:22AM (#46133717) Homepage Journal

      I once saw someone renaming over three thousand files by hand in order to change a date format

      They don't need to code. They need an IT department that doesn't have its head in its ass and is supplied with enough resources to be able to afford solving user problems like that.

      Sadly, most companies run with a "lean" (read: understaffed) IT. Meaning they don't have time for anything but the essentials. But since most people in accounting, etc. don't make that much less than an IT worker, for a task like this which takes 15 minutes of time for the IT guy but could save a couple hours of work for the account (or whatever) dude, the interest of the company would clearly be that he picks up the phone, calls IT, explains his need and some IT guy does the shell magic for him quick.

      Teaching everyone how to code, even basic skills, however, would cost a lot more than it's worth. Just hire two more IT guys. It's cheaper.

      • by FailedTheTuringTest (937776) on Sunday February 02, 2014 @11:11AM (#46133979)

        They don't need to code. They need an IT department that doesn't have its head in its ass and is supplied with enough resources to be able to afford solving user problems like that.

        Yes... but the other piece of the puzzle is that the user has to be computer-savvy enough to know, or at least suspect, that there is a better way to accomplish a task. Users who have very narrow IT training may think there is only one way to do a task, and may not bother to ask for help because they don't even know that an alternative exists. Only people with slightly broader training will even be aware that there are things like scripts that can automate tedious processes.

        • by Areyoukiddingme (1289470) on Sunday February 02, 2014 @02:47PM (#46135025)

          Yes... but the other piece of the puzzle is that the user has to be computer-savvy enough to know, or at least suspect, that there is a better way to accomplish a task.

          At last, the real value in this rather silly education push. No, most people are not going to actually learn how to code, even if they take a class with the ostensible purpose of learning. But they will, at least, get a grasp on what's possible. It's amazing to me, after 20 years of so-called Information Age, exactly how few people have this basic grasp. It's just not there. The possibility that the machine can do repetitious things for them never crosses most people's minds. People think what they want done can't be automated because one part is unique each time, if they even give any consideration to the possibility of automation at all.

          Primary school is about teaching people the basics, numeracy and literacy. Secondary school is as much about about teaching people what's possible as it is teaching any particular thing, and in this day and age, learning what a computer can do is at least as important at learning what chemistry can do.

      • by BonThomme (239873)

        if you'll just fill out this trouble ticket, we'll put out your house fire. tomorrow.

    • by Ateocinico (32734)

      In my own experience, the guy renaming the files by hand prefers that to writing the script. Most people avoid thinking at any cost.

  • Would coding in visual languages like Scratch [mit.edu] qualifies? Everybody should learn how to solve problems and do tasks in a formal way, and see how that solution runs by itself, without their intervention, free will, or common sense. Doing it wriitting text or manipulating diagrams is independent of the core question.
  • Everyone should be given the opportunity to learn programming. Unfortunately it is not as simply done as teaching math. To learn basic math, you need paper & pencil. To learn basic programming sensibly, you have to have some sort of computer available. We're talking a very big leap in cost here for those who are not so fortunate to be able to dump a few 100 bucks on something as not immediately survival ensuring as education.

    Yes, I can hear how many here cry out how I dare to say that education is not w

    • by emj (15659)

      If all phones were unlocked and open sourced this would not be a problem, a phone from 1999 would be pretty ok to code on. That's one reason I really like GPL for consumer products.

  • Most people will never need to look at any amount of code in their lives, even people who spend every day working on a computer don't need to understand the code behind the software they're using. What needs to be taught are much broader computing skills. During my time in IT, not once did I wish anyone knew how to code, but every day I wished they'd take courses on general usage. What I mean by that is they come out of school knowing how to access the software they expect to need for their profession and a
    • "Most people will never need to look at any amount of code in their lives"

      Absolutly wrong. Most of people will manage to go through their lives without touching a command prompt. But most first world people would save a lot of hours just with minimal programing abilities (shell level).

      You think otherwise simply because you just don't foresee how many automatable actions you do along your day, from obvious things, like algorithmically renaming your computer-based photo collection, to not so obvious (to you

  • by nurb432 (527695) on Sunday February 02, 2014 @10:09AM (#46133649) Homepage Journal

    While its nice to know what coding is, as it helps make the magic box do things, it wont enrich most of the public to know how to do so.

    Hate to break it, but 99% of the public really don't care how most things work, they just want it to work when its turned on. Knowing how an appliance ( yes, that is what a computer is to most ) works doesn't really make it work any better.

    • by hacker (14635)

      When computer-based automation and robotics starts taking away 50%+ of the common jobs in the industry, you can bet learning how to code, will be immensely valuable.

      Do we have the capital funds at the government level to re-school and re-skill everyone who is 40+, locked into a career path and now out of work, with nothing available in their own industry sector?

      We're ignoring a very large and looming issue that is about to hit us in 10 years or less. Someone will need to be around, understand and be convers

  • no

    next question?

  • I am a financial analyst. Knowing how to program allows me to automate boring things and generate analysis that would otherwise be impossible. It also means I am constantly creating tools that threaten the employment of coworkers who do not know how to program.

    When you know programming, you spend most of your time improving the 1st and even 2nd derivative of the productivity function of a given task. When enough people like that are available for a given field, why would employers bother with people who
  • So everyone probably should get at least some exposure to it. Some of them will probably like it and go on to be programmers. But I think it's more important to focus on applying the knowledge you've picked up in school to solving problems the students haven't encountered before. School learning seems to be increasingly just memorization and teaching to tests, and a lot of people that I meet don't seem to be particularly good at synthesizing solutions to problems they haven't seen before. There seems to be
  • by bzipitidoo (647217) <bzipitidoo@yahoo.com> on Sunday February 02, 2014 @10:22AM (#46133727) Journal

    And it's a lot more fun than MS vs Linux, Java vs .NET, Nvidia vs AMD, or even vi vs emacs. Sorry "gcc or llvm", your grudge match will have to settle for a 3 AM slot on a low budget, obscure science light cable TV channel.

    The big language demolition derby is still hot and furious, like the annual playoffs of old sports that still excite fans, if you can see past all the smoking wrecks like Modula and the entire team of modular programming cluttering the arena. If only the Perl 6 team could sort out their engine troubles and get their car into the arena, replace that sputtering Perl 5 vehicle and challenge that JavaScript/CSS/HTML/AJAX monstrousity that was cobbled together from a dozen different brands of automobiles, and that C++ bug that still works after being run over and rolled over and which just got a fresh set of wheels. OOP sponsors must be wondering which teams are still proud to bear their logos. And where's Haskell? Oh yes, loudly honking their horns from atop the safety of their functional programming pedestal while the LISP car circles round and round as if they expect a ramp to appear at any moment. Python? Dancing around the LAMP pole with PHP's go-kart. In one of the darker corners of the arena are the excruciatingly slow horse drawn wagons of the Fortran and Cobol teams, just trying to hold their ground. Follow the oil slick to find C. Java is struggling to move under the crushing weight of their massive armor, spare parts, and the huge gas tanks needed to feed their too thirsty engine. The kids would still love those Logo toy cars they used to hand out last century.

    If coding is so universal, what language should everyone learn? We're nowhere near sorting that out. Shouldn't we be able to settle and standardize on the essential elements of a programming language? As it is, it's like arguments over mathematical notation. Multiplication works the same whether the symbol used is x or * or a dot or nothing at all because it's the default operation. But it's not so easy to tell what is trivial and what is important in programming languages.

  • Surely people should also understand how to repair the cars they drive every day. It's not that hard, they just need to learn how to use basic hand tools and diagnostic tools, and then everything is is a simple step by step process. Sure there are tip and techniques that mechanics develop over time as they have more experience, but hey, anyone fresh out of a 12 week "Become an auto mechanic" boot camp can rebuild an engine.

    And for that matter, everyone should become a plumber, electrician, HVAC engineer, e

    • by Shados (741919)

      Coding is becoming more akin to writing now though. As in people would benefit from the basics in their day to day job.

      A project manager writing a quick query on the timesheet system.

      A designer writing a photoshop macro.

      An accountant coding a plugin for his favorite spreadsheet.

      A logistic specialist adding a screen to the ERP system.

      An exec writing his own report real quick.

      And so on. Thus why knowing the basics would help...this isn't a speciality skill anymore. Oh sure, actual software engineering or comp

  • Some as a pro
    Some as a hobby / interesting thing to know
    Many just enough to know when you're being tweaked by a HW or SW salesperson
    (So does this include USB3? Yup. iEEE1394? Sure. Full LRF support? Absolutely!)
    (We have to have the pro package - this one doesn't do .MID to .OBJ - and it'll be extra two weeks of training.)

  • Becoming a serious programmer means changing the way you think. Quite frankly, we need to have people who don't think like a programmer.

    Making everyone learn how to code would be like sending everyone to law school.

  • All judges and anyone working in the Patent Office should be required to have taken the equivalent of a college minor in computer science. (Not IT, but real CS). Just the core courses.

  • there are so many hours in the school day.
    Look at the world: real problems are war, famine, violence, lack of love
    this has nothing to do with coding
    I think that rather then take hours out of the k12 curriculum for coding, we should take hours out for psychology.
    maybe if children learned more about them selves and others, ti would help with the big problems

  • by Shados (741919) on Sunday February 02, 2014 @11:06AM (#46133945)

    At the end of the day, coding is just a form of applied math. Sure, not 100%, but relational database is just relational algebra, UI programming is geometry and other stuff like matrices, functional programming is...well, yanno. And so on and so forth.

    You probably can squeeze in some programming in math courses so people understand the basics. Not everyone should be expected to become a master programmer, or even a code monkey, but people should know the very basics, just as how they taught me the basics of how to bake a cake or whats the difference between the basic forms of investments in school.

  • by burni2 (1643061) on Sunday February 02, 2014 @11:09AM (#46133961)

    Well coding, is the prime example where things that are not specific engouh, either fail totally or are COMPLETLY INSECURE (Pretty Happy Parsing errors)

    You don't need to learn to code, you just need to learn how to describe something, that it can be reproduced within a certain margin of error. This is the description of a specification.

    And you might say "reproducable yes, but does it work ?"
    Not if the working condition is not specified.

    If you can describe somehting acurate, THEN YOU CAN program!

    Hint:
    Good practice for writting "good"(see upper description) specifications:

    - one page introduction make it 1/4 of a page
    - List interfaces
    - List operating conditions
    - List operating requirements
    - List ordering/delivery conditions
    - List storage conditions
    - List mounting unmounting possibilites and conditions (yes this includes tools and tool sizes)
    - do the D-FMEA as easy as dancing YMCA !

    based on this list collection of data you need to provide, if the data isn't 100% acurate and you know that, take an educated guess, (calculate, use your engineering skills, use previous data set a trigger level of acceptable conditions)

  • Should everybody learn to drive?
    Should everybody learn to fish?
    Should everybody learn to use an abacus?
    Should everybody learn to make fire with 2 sticks?
    Should everybody learn how to skin a rabbit with their bare hands?

    The answer is no, and so is the answer to this question. In fact, this article is a perfect example of Betteridges law of headlines [wikipedia.org] which, iirc, was covered here on slashdot a few months ago.
  • before you do algebra, you need to learn to multiply, and before that you need to learn to add and subtract.
    certain higher levels of abstract thinking require prior training in order to be of good use.
    getting a good grounding in the basics gives one better preparation to wield the forces of code.

    for the earlier grades —when they're still learning to add and subtract, and count their ABCs.. up to grade two and three, you cant even really assume that kind of stuff yet — kids grow slow, just like p

  • Everyone should be taught Logic. Code may be a handy way to teach it. But there are many ways to teach logic. If code isn't the best then it shouldn't be used.
  • To a certain rudimentary level, i shoul be subject in the school.

    Like everything which is subject in a school, it can not be more than an opportunity to learn it and get interested in it.

    I am fine if the from the 95% which understand the world less than me 50% understand this fact.

  • by jader3rd (2222716) on Sunday February 02, 2014 @12:10PM (#46134291)
    I was good at math in High School. I got a 5 on the Calculus AP test. But I never did understand that whole 'f(x)' thing. Why not just put 'y='. I basically gave up trying to wrap my head around why someone would ever write 'the f of x'. Then one day in University in my Introduction to Computer Science class the professor shorthanded a function declaration on the white board as 'f(x)', and years of middle and high school math all of a sudden made a whole lot more sense. I think that many students would be able to grasp the concepts of variables in math class sooner if they had a chance to use them in a couple of simple programs first. Plus they would enjoy a little bit of programming a lot more than pre-algebra.
    • by gweihir (88907)

      That is the only scope I can agree to some symbolic coding in: As part of teaching mathematics. That can be done well, in, e.g., Haskell.

  • by sootman (158191) on Sunday February 02, 2014 @12:30PM (#46134371) Homepage Journal

    Alternate headline: "Should an article posing this question be posted to Slashdot every month?"

I am the wandering glitch -- catch me if you can.

Working...