So, do kids really need to learn coding?

<blogpost>

Federal Labor is pushing to make coding part of our primary school curriculum.

Coding is extremely fashionable right now. A mate of mine works for a hot New York City start-up called codecademy that teaches people to code for free online, and has got a LOT of positive press.

Tony Abbott suggested learning coding was unnecessary, got laughed at, then had to back down when he realised his own government was also funding coding in schools.

Is learning to code important?

Well, the market for software has exploded and there are millions of apps for sale right now. Some apps make enough money they can have a $40 million ad campaign starring Kate Upton. But most make very little money.

app long tail

From Metakite: The Shape Of The App Store

When I look at software I have on my computer and phone, I see relatively little that is boutique, and lots that is mainstream – Firefox, iTunes, etc. The replicability of software means we don’t each need one made personally.

That suggests the coding universe exhibits the characteristics of a one-to-many market, like acting or professional sports, rather than a one-to-one market like lawyering or medicine.

The key characteristic of labour markets in professional sports and acting is that a few people make a lot of money in them, while a large coterie of fringe dwellers hopes for a big break and makes next to nothing. App-making is the same.

Further eroding the need for coding skills is the fact coding can substitute for itself.

Good back-end coding makes it possible for non-coders to do things that used to require coding skills, like run a website (like this one), an online store, or even make an app. There are dozens of sites that let you make an app with simple drag and drop techniques.

Don’t get me wrong – there will be coding jobs in Australia in the future. Lots of them. Some of those jobs will be very well paid. We should continue to have great computer science programs at high schools and universities open to those who have passion for coding

But will there be enough demand to warrant teaching coding to everyone?

There will be even more plumbers in future and I don’t hear anyone saying we should teach the fundamentals of unclogging in Grade 5.

Let’s not forget writing code can be fiddly, repetitive and boring. This is not the sort of activity that will ignite bored kids imaginations. I did a term of writing code as an elective in 1995 and hope to never again cross paths with an assignment operator.

Even nerds that are experts in computer programming think learning to code is wasteful.

Coding requires an analytical mind and a grasp of language. Ensuring literacy and numeracy are in place is a higher priority than teaching coding. With the fundamentals in place, learning other things is easier.

We ought not fool ourselves that adding a subject is costless.

Adding to a school curriculum is easy for politicians. They don’t face the opportunity cost, don’t realise students are really only paying attention for a couple of hours a day, and don’t understand half the kids aren’t properly literate.

Teachers at the coal-face, however, know the trade-offs are real. The 2014 Federal Government review of the Australian curriculum highlighted that:

“the greatest concern was the content load expected to be delivered at primary school.”

We should push back on this fanciful policy.

</blogpost>

Published by

thomasthethinkengine

Thomas the Think Engine is the blog of a trained economist. It comes to you from Melbourne Australia.

19 thoughts on “So, do kids really need to learn coding?”

  1. My eldest son is a casual teacher and has been teaching a simple form of coding for a few years now, he is disgusted with the high percentage of kids he encounters that aren’t properly literate! He is a passionate unemployed teacher.

    Liked by 1 person

    1. please feel free to pass this post onto him! I’d really love to hear from someone at the pointy end of this.

      Like

  2. I don’t think everyone needs to learn how to code. It’s a waste. Most people aren’t suited to it and won’t really get much out of it.

    But we should be comparing the study of coding and being generally nifty with computers against everything else that is taught in schools. Other than English and maths and science, which a lot of students don’t learn much of anyway, most of what’s taught at schools is superfluous anyway. Subjects like geography, history or social studies are learnt by osmosis a lot of the time, and they don’t require any special skills to end up learning. Basically, if you learn how to read English text and work with numbers, you’ve got the skills that enables you to learn geography, history and social studies.

    Learning to code (or to be nifty with computers) is a separate skill. Some people might never be any good at it, and that’s fine. But it’s something that’s more important to be exposed to, at the very least, rather than geography, history or social studies.

    And while I’m on the matter, I also think an applied philosophy subject, like rational thinking, should be studied from an early age. That’s reasoning with words. I reckon that too is far more important than history, geography or social studies.

    Confession: I’ve got honours degrees in computer engineering and philosophy. My thoughts are biased.

    Liked by 1 person

    1. I agree with you on the need to study rational thinking. But I guess I believe the study of rational thinking should be applied in schools by studying the humanities. History, political science, economics, etc. I feel like not studying the humanities permanently cripples some people’s ability to think critically about society.

      Like

      1. Funny! I think studying the humanities permanently cripples some people’s ability to think critically about society.

        The humanities is replete with woolly thinking. I include philosophy in this. The humanities demonstrate the shortcomings in everyone’s application of reason, including those who study the humanities, many of whom might have their shortcomings accentuated by studying the humanities.

        Case in point that might be close to your heart: I would say that basically every humanities subject that isn’t economics portrays economics (and capitalism) exceptionally poorly, so much so that someone who has never studied the humanities might have a more accurate impression of economics (and capitalism) than those who have studied the humanities.

        Liked by 1 person

  3. I’m not sure where I stand on this one, but I think that talking about app store revenues kind of misses the point. It’s kind of like drawing a graph of the number of people who make money from journalism (!) to make a point about whether we should teach kids how to write. The reason everyone is talking about coding is because there is a conjecture that it is becoming a fundamental life skill, much like literacy or numeracy. What that means is precisely that not only “coders” should understand the basics of coding.

    How many people could benefit from being able to write some decent Excel macros? Or slapping together a quick script to automate a common task in their work? With connected homes coming, getting the most out of your gadgets might mean understanding how to program them.

    Should everybody be able write a scalable backend in C++? Probably not. But is learning how to script a spreadsheet more broadly useful to kids than being able to derive the quadratic formula? I’d say so.

    Like

    1. You may be right about quadratic formulae. But that’s a soft target!

      An analogy I considered using is talking about engines. In the machine age, we all depended on engines. But not everybody knew how to build / fix them.

      And as time went on, fewer people needed to know how build/fix them, as they became more reliable, more customisable, cheaper. Even though little petrol and electric motors are in more and more things now the average person needs to interfere with them less and less. The same might be true of software.

      The idea that you need to know how software works to optimise it is probably still true now. But less so since the invention of the mouse, the end of DOS, the rise of voice operation and a million other UI tweaks. Will this continue in future as software become ever more adaptable and intuitive?

      Like

      1. Analogies are like alpacas, you can find one that suits any point.

        The point is not to understand how software works, but rather to learn how to make software work for you. The benefits of automation will accrue most heavily to those who understand how to automate.

        Like

  4. Two points:
    1. The big players who make squillions from coding (MS, Apple, etc) are lobbying hard for this sort of thing to be taught in schools worldwide. Remember MacDonalds getting VCE accreditation to make workers for them.
    2. Coding as a second language is a good idea. Life in 20 years will be full of machines that can only speak logically, not linguistically.
    3. (I know) Knowledge working jobs are going to disappear (being done by systems that people code) Work on the code and stay in a job.

    Liked by 1 person

  5. I remember being taught “coding” in school, and loving it. Logo (http://en.m.wikipedia.org/wiki/Logo_(programming_language) ) on a BBC Micro desktop computer, when the school computer lab had about 3 of them (early 80s). But I’m a maths/science/logic inclined person, and I realise it wouldn’t have appealed to everyone in my class.

    It set me on a career path, and I’ve benefitted from work in the ICT profession for 20+ years.

    I’m curious about the current push to teach ‘coding’. Hearing politicians say it sounds like something my comfortably retired dad would say; they don’t seem to have any clue what it means. To say ‘teach coding’ is about as vague as saying ‘teach exercising’. There’s many disciplines of exercise, backed by a centuries of scientific and experiential endeavour, enabling a myriad of sport, life and health outcomes. ‘Coding’ is probably even more broad, despite digital technology having existed for less than a century. Before debating whether or not to teach ‘coding’, we should really be asking the promoters to explain what they mean by ‘coding’, and provide some basis for their assertions.

    It might be worthwhile looking to the ICT professional bodies, and understanding their views. For example, ACS is a supporter of ‘digital technologies’ in the school curriculum, but emphasises computing fundamentals, not ‘coding’. (https://www.acs.org.au/__data/assets/pdf_file/0003/18291/ACS-submission-to-the-ACARA-Draft-Curriculum-May-2013-FINAL.pdf)

    I’m not at all convinced kids need to learn ‘coding’, because I have no idea if they mean machine-level digital coding, or C, Java, Ruby, SQL, R, JSON, Perl or Python, and neither do they.

    Liked by 1 person

  6. As some of the other commenters have noted, I do think that many of the arguments in the negative camp miss the point. It’s not about creating amazing 11 year olds who write efficient and maintainable code, nor is it about every 11 year old going on to make a living as a programmer. And to all those coders with all that experience telling us how hard coding is to do “right”, we get it. Anyway relax, little Johnny isn’t about to start smashing out some code you will need to maintain (or if he is, you need a new job). I also don’t buy the argument about creating kids that will ‘think they are great programmers’ if we teach it before university argument. That’s a matter of setting a proper curriculum surely?

    The discussion should be about whether providing young kids some “coding” fundamentals is beneficial. I think the debate would be better centred on that question (and I agree, starting with a bit more depth on what we mean by coding would help).

    Like

  7. Hi Thomas. Some interesting points here in your article and in the comments.

    The first thing that struck me was that after your introduction you based your argument on the following:

    “When I look at software I have on my computer and phone, I see relatively little that is boutique, and lots that is mainstream – Firefox, iTunes, etc. The replicability of software means we don’t each need one made personally. That suggests the coding universe exhibits the characteristics of a one-to-many market, like acting or professional sports, rather than a one-to-one market like lawyering or medicine.”

    To which I say, “YOUR computer! YOUR phone!” Surely you could at least have walked down the street, knocked on a few doors and looked at half a dozen people’s computers and phones to get a better sample size.

    When I look at MY computer and MY phone I see huge numbers of programs and apps that are boutique – ones that I use ALL the time. And I often wish I could sit down and write a little utility or a little app that does some particular thing that I need done. Fortunately, when I need something done, more often than not I find that some little program or app (often a free one) does it perfectly.

    To give one example from just a couple of days ago: I fancied that life would be a lot easier if I could right-click on a bunch of files, choose from the menu, and a box would pop up, I would then type a folder name, the folder would be created and all the files would be automatically moved into that new folder. And I found it pretty quickly – bliss!

    (http://skwire.dcmembers.com/fp/?page=files-2-folder – and I also found a half a dozen other tools that this chap had written that I could find useful.)

    I have hundreds of these kinds of tools, big and small, and hundred of apps on my iPhone – well, maybe dozens of apps that I use all the time.

    And my point is not so much that people need to learn to create these things – there are plenty of geeky kids who are interested enough to do it, and you’re right to say that there’s a “long tail”, just as in music (my area), where a tiny fraction of the people make the vast majority of the money. But my point is that you based your whole argument around what you found on YOUR equipment. You’re not usually so loose with your thinking, but hey, you’re allowed the odd slip-up! ;)

    The second thing I’d like to point out, although I think it’s been hinted at already, is that you don’t always have to (when you grow up) actually DO the things you learn about to benefit from them. It’s the UNDERSTANDING of them that is of benefit. I never learned Latin or French well enough to be able to write or speak them fluently – nowhere near. But I would be a much less able person if I hadn’t been given the basic comprehension that I do have. It’s been the platform from which I have been able to reach all kinds of ideas and thinking that would otherwise have been almost inaccessible to me.

    My wife Marjorie teaches media studies, and I know that the vast majority of the young people she teaches won’t go on to work in the media. But she is giving them the incredibly important ability to critically analyze what they are being fed every day in all kinds of directions. If I could think of one thing I would like children to learn at school, it would probably be that. And yet it’s not ultimately for the DOING of it, it’s for the UNDERSTANDING.

    So, of course, we need to know what people mean by “teaching coding”. Very little of what we learn in school takes us to the point of proficiency, except, hopefully, reading, writing and arithmetic. But teaching the fundamental concepts could help people to understand the increasingly computerized world around them.

    Liked by 1 person

    1. These are very good points. Given the torrent of complaints I’ve received on that issue, I may be forced to reconsider the number of people that use bespoke software!

      And I do appreciate your point about learning vs doing, wrt media. That’s one of my passions – making people understand what they are being fed.

      I wonder though whether the same political necessity exists for understanding the working of machines. I don’t feel less equipped for modern life for not knowing how my computer works, but I’d be adrift if I didn’t understand the stories it shows me.

      Like

      1. I agree entirely that understanding, uh, let’s call it “content”, is much more important than understanding the machinery behind its delivery. The message actually is more important than the medium ;) For the majority of people anyway. Probably by a ratio of at least 10:1, maybe 100:1, especially with the way that media is controlling us nowadays!

        But still, coming from a science background myself, I feel that people should know more about how stuff works. Both how the natural world works (physics, biology, chemistry) and how inventions work. I’ve worked with people who are qualified as scientists – who have better qualifications than I do – and yet who had abysmally poor understanding of basic science. And it really did affect their ability to make decisions and troubleshoot.

        It would be like having a diplomat who, like Justin Bieber, asks the question, “What *is* “German” – we don’t say that in America?”

        I have almost no knowledge of actual coding – in the sense of doing it in a practical way – but (a bit like my smattering of Latin) I am really grateful that I’ve picked up a little bit of understanding of how programming works. It’s *just* enough to allow me to have a significantly greater insight into what is happen with these machines that are so important to my life and the lives of those around me. It would scare me to use my iPhone and not have the faintest idea of how it’s doing what it’s doing! It might not quite be like thinking Siri was a real person, really in there… but it would be heading in that direction.

        And when people talk about algorithms analysing and controlling our lives – solving (and, I dare say, creating) a lot of problems (and we’re going to hear an awful lot more about algorithms over the next ten or twenty years) it would be strange not to have any notion of what an algorithm is, or even how digital stuff works to begin with. It would be like reading the financial news and not knowing how basic arithmetic works.

        But hey, I only came here to make a silly pedantic point and to think aloud a bit, inspired by what you wrote – I don’t actually have *that* strong a view at all about whether coding should be taught in schools!

        Like

  8. Well, I have scanned over these posts, as previously mentioned, my son is a teacher (casual status) he continues to be horrified with the high percentage of illiterate children he encounters! Illiteracy is rampant in our schools, but no one will admit it, the SYSTEM is to blame. He is presently teaching a year six class with the majority of kids UNABLE to do their basic ‘times tables’! Year six!, he has had to rearrange the teaching plans to teach these kids their tables. A basic skill one would think. It appears that there are so many boxes to be ticked by teachers that kids of all ages are NOT being taught basics, reading,writing, spelling and maths. And now the thought is to pile more onto teachers , CODING,! Not being derogatory but a high percentage of the older version teachers do not understand technologies place in schools fully.
    kids are falling through the cracks not knowing the basics!
    That’s my rant, who will teach this coding?

    Liked by 1 person

Leave a Comment