Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Education

Should We Really Try To Teach Everyone To Code? 291

theodp writes: Gottfried Sehringer asks Should We Really Try to Teach Everyone to Code? He writes, "While everyone today needs to be an app developer, is learning to code really the answer? Henry Ford said that, 'If I had asked people what they wanted, they would have said faster horses.' I view everyone learning to code as app development's version of a faster horse. What we all really want — and need — is a car. The industry is falling back on code because for most people, it's the only thing they know. If you want to build an application, you have to code it. And if you want to build more apps, then you have to teach more people how to code, right? Instead, shouldn't we be asking whether coding is really the best way to build apps in the first place? Sure, code will always have a place in the world, but is it the language for the masses? Is it what we should be teaching everyone, including our kids?" President Obama thinks so, telling Re/code at Friday's Cyber Security Summit that 'everybody's got to learn to code early' (video). But until domestic girls (including his daughters) and underrepresented groups get with the program(ming), the President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent.
This discussion has been archived. No new comments can be posted.

Should We Really Try To Teach Everyone To Code?

Comments Filter:
  • skynet (Score:5, Funny)

    by itzly ( 3699663 ) on Saturday February 14, 2015 @03:02PM (#49056231)

    No, we need to finish Skynet as soon as we can, and then it can do all the coding for us.

    • Re:skynet (Score:5, Insightful)

      by garyisabusyguy ( 732330 ) on Saturday February 14, 2015 @03:36PM (#49056411)

      No matter how good it could code, you could give skynet bad requirements and it would still give you crap

      We need to teach people how to use logic, perform analysis and give clear descriptions of what they want to happen

      Far too often I have seen 'customers' give an incomplete description, fail to understand what they want to happen and then spew at the developers that they failed

      Just teaching them to work with others and stop expecting magic unicorns to appear when they described a turd would remove half of the barriers to delivery

      • Re:skynet (Score:5, Insightful)

        by itzly ( 3699663 ) on Saturday February 14, 2015 @03:44PM (#49056463)

        We need to teach people how to use logic, perform analysis and give clear descriptions of what they want to happen

        A little knowledge is a dangerous thing. I deal with people describing what they want, and in my experience, I'd much rather deal with somebody who can tell in his own terms what problems he's facing, and wants to have fixed. The worst are people who know a little bit about coding, and instead of describing the problem, they start describing a "solution" they came up with.

      • We need to teach people how to use logic, perform analysis and give clear descriptions of what they want to happen

        That would be every politician's nightmare... you can't have people thinking and reasoning, they are way too hard to control if they can figure anything out on their own.
        What makes the job easy is to make everything an emotional issue requiring visceral over reaction.

  • No (Score:5, Insightful)

    by Anonymous Coward on Saturday February 14, 2015 @03:06PM (#49056251)

    Most people aren't fit to code. Don't force them to do something they won't enjoy, are going to end up hating, and is most likely going to be very useless in their lives. Well, okay, many think that about maths too, but then I can see that the fundamentals of maths are needed everywhere.

    • by jythie ( 914043 )
      Coding involves learning to break down complicated tasks into simple steps and then explaining those steps to an idiot (computer). That sounds like something that is kinda useful in the rest of someone's life, even if they never write one again.
      • ...break down complicated tasks into simple steps and then explaining those steps to an idiot.

        Hmm, that sounds suspiciously like the IT support I do every day.

        • Hmm, that sounds suspiciously like the IT management I do every day.

          Signed,
          your boss.

          • by fyngyrz ( 762201 )

            Hmmm, that sounds suspiciously like the corporate behavior I have to watch for every day.

            Signed,
            Stockholder

      • Re: (Score:3, Insightful)

        Far too many people have built-in barriers to performing these steps

        Belief in magical entities that change the world at will, or belief in absolute rules have to be the biggest barriers

        • Re:No (Score:5, Insightful)

          by lgw ( 121541 ) on Saturday February 14, 2015 @06:00PM (#49057053) Journal

          Far too many people have built-in barriers to performing these steps

          Belief in magical entities that change the world at will, or belief in absolute rules have to be the biggest barriers.

          Coding is world built entirely from absolute rules and that's why people can't do it. They can't actually say what they mean, they just grunt a bit and expect you to have "common sense". The compiler has absolute rules, however.

          And if you don't believe in magical entities that change the world at will, you haven't debugged a sufficiently complex system. "Follow these exact steps and the problem will reproduce about 1 in 5 times, more or less."

    • Sorry for the infamous car metaphor but I think, for once it is appropriate.

      By Your logic, in the beginning of automotive era (let's say around 1900) one could have said "most people aren't fit to drive a car". And in fact this sentence was most certainly true then given what the experience of driving one was.

      But now in some countries lack of driving license is a sentence to a miserable live (compared to other representatives of the same society).

      Could it be that today programming tools just aren't mature e

    • by narcc ( 412956 )

      Most people aren't fit to code.

      Translation: I'm super special and unique because I can code.

      Get over yourself. Children can teach themselves.

      • Or a realization that people have strengths and weaknesses. I happen to find programming easy but if you wanted me to do something artistic such as a painting or write a poem then I would have great difficulty.

        I don't know why there is such a great focus on getting people to code. I think that people need to know how computers work but you don't need to know how to program in order to achieve that. We don't expect everyone to become a doctor in order to teach them about health or you don't have to become

  • Yes we should but... (Score:5, Interesting)

    by mykepredko ( 40154 ) on Saturday February 14, 2015 @03:09PM (#49056261) Homepage

    It needs not to be with the expectation that everybody will become an app developer.

    Learning to code provides a person with an opportunity to develop a better understanding of
    1. How a sequence of operations is constructed
    2. How logic is part of the decision making process
    3. How to approach problems in an organized fashion
    4. How to communicate, describe and document ideas
    5. How to work with others in a collaborative environment

    My business (https://www/mimetics.ca) uses robots to teach programming, but it's important to note that not everyone will become a programmer (or develop applications for robots) but the skills learned by creating simple applications are applicable in life and will help then in a multitude of other pursuits.

    Saying that people should learn to code because at some point they will probably will have to program an app is counter-productive and will probably create some very negative perceptions about it. Teaching people (kids) programming as a way to develop the soft skills above and give them a taste of it so they can decide whether or not to pursue it as a career is much more effective and positive.

    myke

    • If everyone is able to program, it will unlock the potential for more powerful interfaces. Something like this guy is talking about [github.io]. Or the Squeak OS, where every button is re-programable by the user [squeak.org].
    • by sribe ( 304414 )

      3. How to approach problems in an organized fashion

      DING! DING! DING! Especially teaching people to break problems into manageable chunks, and construct layered abstractions. (Even if it's only 2 layers--not enough to master complex programming, but still that's a huge jump for most people.)

    • by Nemyst ( 1383049 )
      This sounds more like you're attempting to teach problem solving and fundamental mathematics (logic being part of that) using programming robots as an easy to understand and enjoyable application of the theory. It's been said many times that the curriculum of most countries in the world could use courses on problem solving and critical thinking.
    • by ceoyoyo ( 59147 )

      We have more than enough shitty apps. What we're lacking is accountants who can write a basic program in something more sane than Excel, doctors who can write an SQL query and mechanics who can tweak a simple billing program for their needs.

    • I wonder how many programmers actually write applications? If it's just "apps", you know those really stupid programs on "smart" phones that are URLs wrapped inside of XML and given a nice icon, then a very small percentage of programmers actually do that, probably more than we need. If it's all applications for a computer/phone/tablet then I still think it might not necessarily be the majority of developers who do this. I think most devs are doing infrastructure work or support; like IT, operating syste

  • by mtrachtenberg ( 67780 ) on Saturday February 14, 2015 @03:10PM (#49056263) Homepage

    Ah, the computer, that magnificent "universal machine."

    Have you ever watched as someone tries to take information from, say, Microsoft Word, and use it to do mailing labels? Especially if the information has been formatted to be "pretty." Let me tell you, it ain't pretty.

    We don't need for people to learn to "code." We also don't need for people to learn how to use particular proprietary products. We need for people to learn things like basic math, basic logic, and understand how they can use computers, with a teensy bit of effort and understanding, to accomplish their unique and specific tasks. We also need to teach people that they should not feel helpless when confronted with a computer program that doesn't do precisely what they want.

    I feel a bit Mao-ish on this subject, and truly think the best solution would be to issue a voltage surge to all existing infrastructure, and not allow anyone to buy any replacement computers until they demonstrate an understanding of their jobs (not the computers' jobs, the individual workers' jobs).

    • by plopez ( 54068 )

      What about surgeons? Should they be forced to learn to code? What about basketball players? Landscapers? Chefs[1]? There is a huge set of people for whom coding is irrelevant. Learn critical thinking? Yes. Coding? Probably a waste of time.

      [1] I would argue that a recipe is an algorithm. But implementing it in code is stupid. You can't eat code.

      • What about surgeons? Should they be forced to learn to code? What about basketball players? Landscapers? Chefs[1]? There is a huge set of people for whom coding is irrelevant. Learn critical thinking? Yes. Coding? Probably a waste of time.

        Were these people taught Art or Music in their public education? Were they taught history, or calculus? Were they forced to learn physics and geography? While they may not use all of the lessons taught to them as part of their career (the reason why "Are you Smarter then a 5th Grader" is actually a feasible show), it's possible that it will help them become well rounded and productive members of society.

  • President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent.

    Seems to me we need to teach people to vote better.

  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Saturday February 14, 2015 @03:13PM (#49056281)
    Comment removed based on user account deletion
  • Ford never said it (Score:2, Insightful)

    by Anonymous Coward

    http://quoteinvestigator.com/2011/07/28/ford-faster-horse/ [quoteinvestigator.com]

    It doesn't invalidate the point, but it's important to be accurate.

  • Saying we need more people to code is like saying we need more writers. Not everyone is cut out for buidling apps and it takes a bit of experience to get right.

    It's conflicting because fixing someone else's crap code is easy money and you can step in and look like a hero.

    • by ceoyoyo ( 59147 )

      And yet for some reason we teach everyone to write. Weird.

    • Saying we need more people to code is like saying we need more writers.

      No, it is saying that we need more people to be able to write. I don't think that the argument is to have everyone people professional developers, but it sure will create a skill set that a large percentage of the population will be able to use in one form or another at some point later in their lives.

  • No one uses everything we teach them in school, but the only way to find out if you're good at something and enjoy doing it is to give it a try. Not everyone who takes a programming class or two will end up being a programmer, but the approaches we take in programming can be applied usefully to a lot of other problems. Of course, we still seem to have absolutely no idea how to teach people things and it seems like pure luck whether anyone actually learns anything useful in school, so maybe we should try to
  • Until you get the answer you want ?

    Why not, why don't we teach everyone electronics engineering ?
    Why don't we teach everyone sales and marketing ?
    Why don't we teach everyone the law ?

    Arguably the above would all be more useful for people to know in a non professional fashion than how to code.

    • This. Most of the workforce would benefit from basic education in all aspects of business. Sales, marketing, finance, project management, business development, etc.

      In our neck of the corporate world (software), too few employees understand how business actually functions and what it really takes to make a business work. The current culture of "just build an app and you're set for life" leaves out many of the key steps needed to build a business. As a result, most promising applications go no where and most

  • Treat it like geometry. Everybody needs a semester of it, for exposure to an essential concept in logic/applied math, but anything beyond that should be elective. There's nobody who can't do basic programming who can pass geometry, but not everybody is cut out for it as a career nor enjoys it.

    I wound up taking an extra year of trig in high school, but the most I've ever used it for is roof framing (actually the most approachable book on the subject I've encountered on trig is Roof Framing [amazon.com] by Marshall Gros

  • Didn't we have this very debate not long ago?

    No, we shouldn't teach everybody to code. We don't teach everybody to balance their own checkbook, or why credit cards with a 29% interest rate are a bad thing. Let's start there. We need basic financial literacy. We need basic scientific literacy. Let's get there, and maybe then teach everybody to code.

    • by itzly ( 3699663 )

      Let's start there. We need basic financial literacy. We need basic scientific literacy

      Good idea. Let's make an app for that.

  • One solution to the "everyone should learn to code" dilemma is to integrate early coding into classes where kids can choose among a variety of roles in creating multimedia projects. Some students will naturally be more technically-oriented, some will be more artistic, creating art and music for the project. Others may be able to write a story script. Still others may be best at coordinating the project with organizational skills.

    This is actually how real life works in my profession, the videogame industr

  • we should teach everyone how to fish and farm and hunt.

    I could never learn programming my brain is just not wired for it (tried plenty of times, spent lots of time on EA Auction script back in the day and even though I could modify if by inserting other peoples code writing my own was like looking at Chinese characters) but I could rebuild a small engines, fix and modify my rc cars, do graphic design and art.

  • Someone, someplace, has decided that for the United States to remain competitive in the global arena, we need to have more people who can code, and that the best way to achieve that goal is to just, well, teach more people to code. So we see all kinds of government and private initiatives to just get more people coding. To the extent that we really do need more coders, and that we reach people who otherwise would not have had the opportunity to try coding out, these initiatives are not a bad idea. Howeve

  • by kuzb ( 724081 )

    It's completely unnecessary for everyone to learn how to code. If anything, more emphasis should be placed on practical things, like basic home repair. Understanding how your plumbing works, or being able to change a tire, is probably far more practical and relevant to lives globally than being able to write simple software.

    • by SeaFox ( 739806 )

      It's completely unnecessary for everyone to learn how to code. If anything, more emphasis should be placed on practical things, like basic home repair. Understanding how your plumbing works, or being able to change a tire, is probably far more practical and relevant to lives globally than being able to write simple software.

      What? Are you crazy? We can't have people repairing things on their own. Why are you trying to put handymen and AAA assistance people out of work. Not to mention if people start fixing shit they will be buying fewer replacements. Think of the impact on corporate prof--- er the economy! Yeah, The economy!

  • As well as teach everyone to be a nurse. And plumber. And car mechanic. And carpenter. And physicst.

    Good lord....what stupidness am I reading?
  • Hell no we don't need to teach everyone to code. What we need to teach our young people is how to be adults. How to make a personal budget, how to balance their bank account, how finances and simple things like a car loan work, how to be responsible with money, and how to function in society.
    Half the people that work with me do stupid shit like spend their entire paycheck on a new phone, and then are running around at the end of the month, trying to borrow money for rent, get an extension on their gas bi
  • by Higaran ( 835598 )
    We need to stop wasting our time thinking that everyone needs to know code, or some other high computer skills. What we need are people learning how to drive trucks I'm not talking about a pickup, I'm talking about commercial tractor trailers. In the US the next big workforce shortage is going the be drivers holding a CDL license, it almost already is, or is depending on who your talking to. I manage a small trucking company and I don't have near enough drivers, I know of companies that need to hire thou
    • by mysidia ( 191772 )

      I'm not trying to sound like a recruiter or anything but ANYONE can go to a trucking school and take a few month class for $5000 or less and make $50000 their first year.

      When the average number is $80,000 for their first year, $100,000 for their second year, and $140,000 for workers with 5 years experience, THEN we will be ready for more people to start thinking of commercial trucking as a seriously in-demand profession.

      • by Higaran ( 835598 )
        That will happen, but when the stuff you can buy at walmart will cost you $5 instead of the $1.50 it costs now. Yes I'm sure you can make $80000 the first year as a programmer, but how much school debt do you have, and if the current pool of programmers increased 2 or 3 fold, do you seriously think the average will still be $80000?
  • by westlake ( 615356 ) on Saturday February 14, 2015 @03:59PM (#49056543)

    Henry Ford said that, 'If I had asked people what they wanted, they would have said faster horses.'

    Ford was raised on a farm.

    He knew perfectly well that what people wanted was a tireless "iron horse" with coach or wagon that demanded minimal care and expense and could be out on the road in an instant.

    The Ford Model A could cruise safely and comfortably at 25-45 mph on a hard surfaced road, but these were almost non-existent outside the larger cities in the early days.

  • ..."While everyone today needs to be an app developer,..."

    Really, everyone needs to be an app developer? Why?

  • First step is to get kids to have fun developing critical thinking and logical analysis skills. Some of those will go on to want to learn coding and related topics, while the fundamentals will help anyone faced with that sort of problem.

    Give grade school kids games like The Logical Journey of the Zoombinis [wikipedia.org] to play, don't force them to memorize the particulars of a programming language that will be obsolete by the time they graduate high school.

    More toppings!

  • ... stupid questions to make their way to /.?

    What do you expect from such a discussion?

    Should we try to teach everyone their mother tongue? Should we try to teach everyone history? Should we try to teach everyone mathematics, economics, physics, litterature, arts, poetry and so on?

    Of course we should. Learning about history doesn't make everyone an historian and everyone doesn't pretend to be one neither. So, what is the problem with coding? It doesn't mean you want to turn everyone into a professional prog

  • Subject sayst it, yes everyone in school should learn programming. Actually it is not hard.

    The problem is that in our days the slope is quite steep. C, C++, Java, C# etc. are already on the conceptual level to complicated.

    What remains are langugaes that have at least an REPL interface ... but they have similar problems. Who want to teach Python, Groovy or Ruby to an absolute beginner in 8th or 10th grade?

    We need something on the level of old Basic or Pascal, without line numbers, big integers, big decimals

    • Teach them perl.
      You know the old saying, it was hard to write, it should be hard to read.

    • I think many institutions have pretty much already settled on Javascript as a "first language". Whatever you may think of it, there are some good reasons for using it. It's completely ubiquitous, having a runtime environment in every web browser on every major platform. You don't really even need advanced tools or worry about setting up a particular environment. And, best of all, it's what actually gets used out in the real world. It's easy enough to teach a simple, clean subset of a language initially

  • by sribe ( 304414 ) on Saturday February 14, 2015 @04:15PM (#49056635)

    Instead, shouldn't we be asking whether coding is really the best way to build apps in the first place?

    Management has been trying to find a different way since at least the 1970s, CASE tools, 4GLs, yadda yadda yadda. Yet, somehow, in the end if you want an app working, you have to specify it down to the level of a programming language.

    • Gotta agree with sribe. The best way to build apps is to have a magic box you can just feed a description of what you want to do into the app.

      The problem is, the magic box will ask you lots of questions you didn't think about. You'll have to answer "What should the app do when (unexpected thing) happens?" "What about (error case)?" Et cetera. Source code ends up being a precise and concise way to describe what you want a program to do. Sometimes you can accelerate it using libraries, CASE tools, 4GLs,

  • But until domestic girls (including his daughters) and underrepresented groups get with the program(ming), the President explained he's pushing tech immigration reform hard and using executive action to help address tech's "urgent need" for global talent.

    That reads eerily similar to, "the beatings will continue until morale improves."

    Until more people start training for careers of which we have a large supply, we'll keep increasing that supply and making it even less attractive.

    The "underrepresented groups" part is even weirder. Until American women start going into tech fields, we'll import more and more foreign men?

  • by Livius ( 318358 ) on Saturday February 14, 2015 @04:27PM (#49056687)

    It does not make sense to teach everyone *how* to code any more than it makes sense to teach everyone law or brain surgery or aircraft repair.

    However, everyone does need some degree of understanding *what* coders do, for the simple reason that coding is something that has a large impact on society and the economy. Same as people (particularly those choosing careers or education) need to know what law or surgery or aircraft maintenance are, and maybe some rudimentary knowledge of the field so they have some minimal frame of reference in common with the experts.

  • For people on a STEM path, yes.

    I'd like to see small coding projects be part of the curriculum of science classes.

    Elementary school, can have a Science Club, and maybe some coding projects.

    Middle School, in science elective courses.

    High School, in science elective courses.

    College, if someone is in a STEM major of study.

    For everyone to have to learn it? Nah.

  • Every student should learn to code, just as every student learns biology, physics, and chemistry. It's not that every student will use that knowledge on the job, it's biology, physics, chemistry, and now computers surround us in everyday life. Learning to code provides the basics of what a computer does and how it operates. Throw in a chapters on binary numbers, concepts like input, output, different chips or processing units, what a network is, turing equivalency, etc, and you have an intro to computer
  • Try, yes -- but expect everyone to succeed -- h*ll no!

    We shouldn't expect everyone to code (whatever that means) anymore than we should expect everyone to understand differential equations.

    But what is code changes and will change -- I started with machine code; I don't consider HTML/CSS to be "coding." But I'll admit that properly done HTML/CSS is no less artful that some of the things I've written in machine code, C, or Lisp.

    It is also useful to recall that the telephone (the private wire-line kind)
  • by __aaltlg1547 ( 2541114 ) on Saturday February 14, 2015 @05:25PM (#49056913)

    "While everyone today needs to be an app developer, is learning to code really the answer?"

    Who's going to make stuff? Are people planning to stop eating and living in houses at some point in the future?

  • On a related note: (Score:5, Insightful)

    by ruir ( 2709173 ) on Saturday February 14, 2015 @05:26PM (#49056921)
    Should we teach everyone to: - work in an ER room? - be a mechanic? - operate sewing machines? - be a pilot? - be a prostitute? The possibilities are endless, I tell you.
    • by Rinikusu ( 28164 )

      I would say everyone should have to work Retail and Food Service for at least 6 months-1 year during their teen years.

  • That way I can have more topics of conversation with more people.
  • This whole approach of "everyone must code" is doomed to failure. Does everyone who takes a gym class become an NBA superstar?

    Does everyone who takes a health class become a doctor or nurse?

    Some people have aptitude for things; others do not. If there happen to be few people with the aptitude and will to do something, prices go up for their services. The tech industry is just going to have to deal with the fact that very few people are good at or want to be programmers or architects.

    Besides, we do

    • by Shados ( 741919 ) on Saturday February 14, 2015 @06:10PM (#49057083)

      Not everyone will become a software engineer. I learnt basic statistics in junior high and I never became a statistician. Still, it made it easier to understand charts, statistics, and help not getting duped by everything I read.

      IMO everyone should learn basics... computers are in EVERYTHING we do. I was thought basics of electronics, woodworking, biology, math, foreign languages... a lot of things that are useful in every day life, but are much less ubiquitous. Why not basics of programming?

      Then some will run away with it and become software engineering super stars. The rest won't, but will at least be able to understand enough to be able to communicate with the engineering department at their company, or maybe write little scripts on their own to automate stuff they do often.

      Why not? Its -everywhere-. They should know at least enough to be able to ask questions about it.

  • by peter303 ( 12292 ) on Sunday February 15, 2015 @11:11AM (#49060129)
    Where an introduction to coding would be a part of it. The bulk of the course would be about the major components of computing and most important applications like the Office suite.

An adequate bootstrap is a contradiction in terms.

Working...