K-12 Coding - Embedded.com

K-12 Coding

According to this article and hundreds like it recently, all kids should learn “coding” in elementary school. The argument usually claims that software is so important that everyone needs it to be productive citizens in the 21st century.

By that argument, of course, we'd better teach them all molecular biology, electronic engineering, quantum mechanics, Chinese, and a hundred other subjects. Designing a curriculum means choosing, narrowing down the universe of subjects to those most important for a particular grade level. I salute any youngster who wants to learn coding or any other subject.

But it’s foolish to think everyone needs this skill. However, an educated, effective citizenry does need good reading skills. Basic math (at least). History. It’s critical to learn to use a computer (though most kids get this at home), but designing one is much less important.

From the article: “Coding teaches problem-solving, communication, and collaboration, Resnick says.” Sure. And have you heard the old joke that an extroverted engineer is one whom looks at your shoes instead of his when talking to you? If coding teaches communication, why are engineers such famously poor communicators?

Coding can teach problem solving. Ditto for math and the sciences. As does a carefully-taught English composition class. The latter will be of far more use to pretty much everyone than some misremembered Python syntax.

Then there’s the problem of confusing correlation with cause. I agree that engineers are good problem solvers. But is that because we learned to code/design? Or were we drawn to it because we are good problem solvers?

Then there’s this from The Huffington Post: “Coding is the new literacy… How are America's schools preparing youth for digital citizenship? Unfortunately, it remains focused on the 3Rs (reading, writing, arithmetic), while the ability to read, write, and manipulate code is quickly becoming more relevant.”

This argument, while trashing the three Rs, is simply incorrect. The ability to manipulate code is relevant only to that small segment of the population that needs to do so. The last thing we need is hordes of barely-competent Java people with no knowledge of software engineering tearing up a code base.

As I write this, Code.orgs’ welcome banner claims over 939,000,000 lines of code have been written by students. It’s a meaningless metric.

Perhaps they haven’t mastered loops.

Code.org is one of the few voices that carefully says they are not promoting coding per se; rather, they want the world to learn about computer science. Few others make such a distinction, and in talking to “civilians” over the years I feel most of them believe software engineering is all about sitting in front of a computer 8 hours a day writing code.

One argument is that coding is fun (though I’d imagine only for a subset of kids) and that fun will translate into engineering as a career choice later in life. No doubt there’s some truth there. Teach your kids about software, if they are interested. By all means form after-school coding clubs. Do mentor the young who are interested.

But don’t think coding is an educational or societal silver bullet.

What’s your take?

Jack G. Ganssle is a lecturer and consultant on embedded developmentissues. He conducts seminars on embedded systems and helps companieswith their embedded challenges, and works as an expert witness onembedded issues. Contact him at . His website is.

26 thoughts on “K-12 Coding

  1. Coding at junior grades is a waste of time and won't result in more good programmers.

    What kids that age should be learning are the lower level skills that contribute to becoming a good programmer later in life: understanding the world around them and pro

    Log in to Reply
  2. About eight years ago, a friend and I (both software developers) created an engineering club at our local, rural high school. We received funding and assistance from IEEE and also a grant from a local university. We developed an annual robotics competition

    Log in to Reply
  3. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  4. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  5. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  6. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  7. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  8. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  9. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  10. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  11. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  12. “Coding teaches problem-solving, communication, and collaboration”

    You know, it is a comical tragedy in process.

    For years, it was discovered and rediscovered that being “coding monkey” (adept at intricacies of particular coding tool, but poor at design,

    Log in to Reply
  13. No, not everyone should learn to code. It is great that there are courses for those who are interested. Without a basic interest in programming it would be a mind numbing, dull and painful class to sit through.
    The one thing that bothers me in the embedded

    Log in to Reply
  14. No, not everyone should learn to code. It is great that there are courses for those who are interested. Without a basic interest in programming it would be a mind numbing, dull and painful class to sit through.
    The one thing that bothers me in the embedded

    Log in to Reply
  15. Fantastic observation. Abstraction is certainly something that comes with maturity.

    There have been some interesting studies which suggest that kids should not be pushed into abstract mathematics until they are about 14 or so.

    We have 2 sons who have bee

    Log in to Reply
  16. Absolutely in agreement here. My son has the necessary skills to code, I taught him some C and I could see some innate ability. I wished he would get interested in programming, but he did not. This is a career that is hard for us who like it, I can not ima

    Log in to Reply
  17. To some extent it depends on what they mean by “coding.” From what I have seen, the educators pushing this idea take coding to mean “whatever it takes to get a computer to do something.” So, kids may be learning Basic or Python rather than C.

    I think the

    Log in to Reply
  18. I remember having the same experience when I was about that age: I absolutely did not get certain (very basic) mathematical relationships in physics. I can clearly remember just sitting in class one day and everything just dropped into place – it was so ea

    Log in to Reply
  19. I remember having the same experience when I was about that age: I absolutely did not get certain (very basic) mathematical relationships in physics. I can clearly remember just sitting in class one day and everything just dropped into place – it was so ea

    Log in to Reply
  20. …(what's wrong with my PC?) just develop at a certain pace uninfluenced by what teachers try to cram into them.

    As for teaching coding – school is already filled with enough rubbish. Teach them the basics – as Jack said – then let them go out and play.

    Log in to Reply
  21. I support code.org and do think that more American children need brush up on science, math engineering, especially in the context of computer science. Lets not forget that computer science, whether or not the child eventually becomes a “computer scientist”

    Log in to Reply
  22. I'm guessing that 'coding' is used as euphemism for software engineering. My first thought would be that an introductory course in basic engineering would be beneficial… i.e. an overview of the primary tenants and highlights of various engineering disc

    Log in to Reply
  23. My first thought is along the lines of Dennis Vantour's comment that “'coding' is often used as a euphemism for software engineering.” When people mistakenly refer to me as a “programmer”, I immediately correct them and explain that I am a software engine

    Log in to Reply
  24. From the British persepective, promoting the concept that an engineer is a professional would be a better place to start, rather than making every child a programmer. Having worked with my American counterparts, it seems that often telling someone one you

    Log in to Reply
  25. Not everyone can (or wants to) write code. I'm more concerned about an illiterate and innumerate population whose votes directly affect public policy. I taught my children to look carefully at words and numbers. For example, if you see in a news story that

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.