No, Every Kid Should Not Learn to Code

Apple has announced another series of “Hour of Code” workshops it some of its retail stores, doubling down on the idea that every child should learn to code. Many people roll out this idea that all kids should be taught to code, but it’s simply wrong.

Sure, learning to program computers and create apps is a useful skill, but coding isn’t for everyone. A good app has code, but it also has intuitive design. Why isn’t Apple running “Hour of Design” workshops for kids? As the arts are essentially absent from education these days, kids aren’t learning about these skills, and only learning to code is only one element of the creation of apps.

While learning to code is useful for skills such as logic and reasoning, only some people have the mindset for this type of thinking. Suggesting that it is essential is leading more and more kids to be pushed in a way that might not suit them.

Teach kids lots of things, but give them more options. I’m surprised that Apple, who truly does care about design, doesn’t broaden their focus. They’d sell just as many iPads – perhaps more – to kids who want to learn creative skills.

14 thoughts on “No, Every Kid Should Not Learn to Code

  1. Agreed — almost completely. The design of a piece of software (particularly its UI) is generally more important than its coding.

    People are generally poor at analytical thinking and practical problem solving. If coding courses were designed to focus on these skills, they could be useful.

    • I don’t contest that it’s useful, but it’s not for everyone, and it shouldn’t be trotted out as being essential. It’s part of a very particular silicon valley mindset that thinks that we all need to be one with our computing devices.

      There are lots of other ways to foster problem solving and analytical thinking skills.

      • Kirk, you are absolutely correct. Another example could be this:

        Is coding the same thing it was 30 years ago? Languages change, syntaxes evolve.

        My guess is that in 20 years, chip0s will be coded using natural language.

  2. I agree that everyone will not want to pursue programming as a career. However, isn’t the intention here the same as exposing everyone to just a taste of Shakespeare or to some elementary science exposure to foster broader thinking? While I certainly would not recommend required coursework with exams for everyone, is an hour of code is too much?

    • Certainly not, but Apple has made an app to learn how to code, but hasn’t made an app to learn how to design.

  3. We know coding, which has been in the classroom since the late 70’s addresses these skills. You say, “There are lots of other ways to foster problem solving and analytical thinking skills.” Can you name a couple ways for foster these skills outside of coding?

  4. This is perfect example of both ad populism and genetic fallacy logical errors. Everyone should have the opportunity to learn and be exposed to new ideas and skills, regardless of whether or not everyone will be great at those things.

  5. Why shouldn’t every kid at least be exposed to coding, how else would they know whether they’re good at it or not? perhaps just the exposure will help them realize they’re skills. You’re pointing out a defeatist attitude by saying all kids shouldn’t be exposed or taught coding, that’s as if saying all kids should be exposed to or taught Math or Science just incase they don’t get it. I agree Apple should widen their options of teaching in stores and in apps but hey give them credit for at least trying to do something new and different especially since public schools don’t or can’t’ offer said classes.

  6. I think Kirk is at his best, when the curmudgeon factor is dialed back a little further than it was today. If Apple starts rounding kids up on the streets, and forcing them into coding classes, I will become concerned (although this is a simplified description of the normal educational system in many countries). Whether Apple says “Everyone should learn to code” or “Some people might consider trying out a coding class”, the people who show up will make their own choices.

    Advocating additional options is great, but complaining about a “rah, rah, let’s all do something worthwhile” educational campaign, because the slogan is simplistic, is misguided, in my opinion.

    • And even worse, it seems illogical to complain that Apple shouldn’t be offering “Hour of Code” workshops because they aren’t also offering “Hour of Design” workshops. So Apple shouldn’t provide a useful service unless they also provide another service that would also be useful? That makes no sense! (Plus, it also ignores the many, many artistic workshops that Apple already provides.)

      And while we’re on the subject, Apple is teaching coding because it’s something specific that be taught, tested, and completed. Kids can spend an hour and have a concrete program that they created themselves. Sure, good design is also important, but it’s also something that is much more subjective, less quantifiable, and really varies from app to app. You can’t take an hour class and say, “Okay, now I know good design.”

      This whole post seems kind of pointless, and complaining just for the sake of complaining.

  7. This is a really good point but right now, we might not want Apple to be teaching design as iTunes has become a mess and the current “guess what this icon is, guess what happens” model is confusing and slow.

  8. Amen. CompSci is not the only discipline needed to make the world great. Hour of Code is a PR stunt.

    Everyone should become iterate. Period. There are far to many inhabiting the planet for whole ignorance is the succor of their very existence.

    • “Everyone should become iterate. Period. There are far to many inhabiting the planet for whole ignorance is the succor of their very existence.”

      Do I even need to point out the irony of this paragraph?

  9. There are differences between good design and bad design, both with regard to user interface, and code design. These differences become obvious when you actually sit down to design UIs and write code.

    One of the classic errors of object-oriented design is forgetting the basic rule — an object should represent some thing, something that (usually) has an external existence, independent of the code. I’ve seen source code where the designer (too often the coder) turns every last stinking thing into an object. The result is pointless complication, in which interactions among objects are difficult to follow. In correctly designed object-oriented code, there is no traceable “path” through the code, because none is needed. Each object does what it’s “supposed” to do, based solely on its interface definition.

Leave a Comment