You’re here because you care.
The kind of care a parent has for their child. Or the care a teacher has for their students. Caring for the growth of children so that they can edge closer to their potential.
But maybe you’re also feeling cautious. Perhaps even sceptical. You either need to be convinced why every child should learn to code or have your intuition validated.
It is a fad or foundation?
In a world where distraction is rising and time is squeezed beyond our control, knowing what to focus on and where to put our energy is crucial.
That’s what I’ll aim to do here. Offer some clarity in order to gain confidence about which route you choose to take. You’ll learn about the benefits of coding at a young age, where to start and ways to juggle the screen time.
By the end, you’ll have your own answer to why every child should learn to code.
Since we’re thinking about the future, let’s start there.
Why is coding important for the future?
Let’s be clear. To claim that coding is an important skill children must acquire is a stretch. After all, the child will decide for themself, whether or not coding an important skill. But if they do choose to pursue coding, it can equip them with some transferrable skills that will empower them.
Think about a skill you acquired somehwere. Then think about where you were able to use that skill elsewhere. How valuable was that for you? You did the learning once and applied it to another context. What a wonderful return on investment.
When I think of a skill just now, coding comes to mind. I go about my world deconstructing problems into smaller chunks so that I can get stuff done. I use that approach in cooking, in my relationships (you better believe it) and when acquiring a new skill.
Why is coding so important for children?
The skill of coding is like a lean version of the scientific method. You need not know the scientific method, but its essence is that it’s self-correcting on the way to some verifiable truth.
Imagine your child (or the children you teach), being able to define their own problems, interact and test out solutions to those problems, reflect on the results then use those results to inform the next step. Epic!
Acquiring that process as a skill would have been super handy at a younger age. My confidence would have grown, likewise, my resilience and my interpretation of the world would be much like it is today: a playground of possibilities and curiosities without enough time to experience it all.
So that’s bigger picture stuff.
On a micro level, it’s important for kids to have an opportunity to learn about technology and the way computers work. However, learning solely about digital technology isn’t the primary benefit for teaching our kids to code.
So just what are the benefits?
What are the benefits of learning to code?
3 General Benefits of Coding for Students and Children
While researching this topic, I came across a publication from the Australian Council for Education Research (ACER). This publication distilled the benefits into three loosely defined categories:
- Teaching kids problem-solving and design skills
- Introducing students to their future environments
- Encouraging students to take up careers in coding to benefit society
Two of these benefits relate directly to the child, while the third zooms out and looks at the contribution the child can make to something bigger than just him or herself.
Let’s unpack each benefit for a closer look at they each mean.
Benefit 1: Computational Thinking. Um, Say What Now?
I may have just lost you with that term computational thinking. It’s okay. By the end of this section you’ll get the gist of it.
I like to think of computational thinking as getting clear on and achieving what you set out to do. You can get clear on something by setting out the steps required to do something in excruciating detail.
Now, I want you to think of a skill. Got one? It’s cool if you don’t. Just think of learning to ride a bike.
We’ll use a bike for two reasons: firstly, it fits nicely into the Steve Jobs quote you’re about to read. Secondly, there’s a good chance you’ve forgotten the steps required to ride a bike, even though you know how to do it.
Coding teaches children how to think (computationally)
Thanks for your gifts, Steve. Rest in peace. Now back to the bike.
When thinking about learning to ride a bike, the goal might be something like “riding a two-wheeled bike unassisted for 10 minutes.” Now, if you’ve never ridden a bike, that could be quite the task as many kids find out.
You could just say, “Hey kid, jump on the bike,” but I wouldn’t expect the success rate to be high. So then, you would break the bigger task into smaller more manageable chunks. That approach, called decomposition, is an aspect of computational thinking. Decomposition is when we take a seemingly large task and break it down into smaller more understandable pieces.
Coding improves problem-solving
How would you break down riding a bike if you were teaching it? Maybe you’re thinking about the training wheels. Can you think of anything you’d need to learn before that?
Maybe it’s just learning to sit on the bike. Maybe it’s how to embark a bike. Maybe it’s the construction of the bike. As you think in reverse, see how deep the excruciating detail can go?
Right now, you’re problem-solving. You’re deconstructing the process required to ride a bike by getting to the nitty-gritty detail.
When we approach solutions to problems systematically like this, we’re developing an appreciation of how things work.
This is a general transferrable skill that children can develop using the vehicle of coding.
So we’ve used an example that’s reasonably familiar. What about when the solution isn’t known? What happens when there is uncertainty? Let’s see how uncertainty can be used to strengthen character.
Coding improves persistence
You may have the best laid-out plans, but life doesn’t always go to plan. When life doesn’t go to plan we have a decision to make between giving up and learning. The latter builds our character while the former feeds our fear.
When we use our struggle as a learning opportunity, that builds resilience. Resilience builds our character to rise up to the challenges that face us.
The coding process is largely a trial-and-error one that becomes more efficient over time. Typically, you’ll write some code, test it out to see if it works, and sometimes it does. Often it doesn’t.
This immediate feedback loop can be frustrating at first, but hugely validating and rewarding as you become comfortable with it.
You tend to test more frequently to gather feedback quicker. When paired with the aforementioned decomposition, the creation process becomes more robust and exciting. That brings us to another computational thinking benefit: creativity.
Coding improves creativity
What is your relationship to technology? You may have a computer, a smartphone, some social media accounts and news sites that you frequent. On many of these devices, your screen time is measured and you can actually see the breakdown of your technology consumption. The statistical breakdown might be surprising or even confronting.
The recommended screen time allotment for children is around 90 minutes each day. Small, right? Most adults would far exceed that number. With the wealth of information at our fingertips, consuming information and digital media has never been easier. Sometimes it almost feels like time travel. Did I really just spend 2 hours on that?
Learning to code modifies your relationship to technology. Coding makes us producers of the media instead of sole consumers of it. When we produce a digital artefact, we are creating. Even the journey to produce the product is filled with creativity.
A child is offered the opportunity to design and build something that is entirely their own. What an empowering experience. In my classes, for example, I took the standard paper-plate clock construction one step further. The hands-on activity is useful for becoming familiar with the attributes of a clock, but it still requires manual movements.
When you pair this clock with coding, you can create a fully functioning clock. In other words, you can program the clock so its hands move around the clock face. I’ve had kids as young as 8-years old co-create this experience.
After a few initial sessions of becoming familiar with some basic principles, kids are ready to explore their own creativity. The experience of architect and seeing immediate results is enthralling.
Back to the clock example. What’s more is that advanced coders can begin to link and use mathematical ideas to generate their clocks. That brings me to the benefit of applied maths.
Coding Helps Children with Math Skills
“What gets measured, gets managed.”
Peter Drucker from his 1954 book titled, “The Practice of Management.
Perhaps I’ll take Peter’s comment out of context here, but there’s no doubting the impact data has on our lives. We use data to inform decision making, discover trends, and learn about the behaviours and traits of the population.
How can this data be processed and analysed? Coding.
The ACER article frames computer science as the new applied mathematics. Humans apply mathematics to understand data, information and knowledge. This application provides insights that add to our scientific knowledge.
When paired with online programs such as Scratch, kids can not only organise and analyse data, but they can visualise it, too.
Take a simple game whose purpose is to shoot a basketball into a hoop. You can count the number of successes and failures. Here we’re collecting data. Once we’ve recorded the data, we can organise and display it. For instance, we could use a success percentage. We could record the percentage across multiple players and then compare.
With enough data, we could even start to analyse the averages of the game, and we could use that information to decide upon the difficulty of the game and the subsequent steps forward to tweak it.
This is the cool thing. If maths gives you the heebie-jeebies, you don’t need to pass those onto your child. Maths is embedded into the process of creation, and skilled mentors will help your child spot the opportunities.
Benefit 2: Students Explore their Future Playgrounds, Now!
Participation in digital communities is something one will inherit these days lest for formal intervention or lack of access. Like it or not, the digital world won’t be going away, and avoiding it is probably akin to preventing your child to read. Rather than preventing the interaction, encouraging desired behaviour is the preferred route.
Coding improves collaboration
Boys in our classes are 50% more likely to share the projects they create to https://t.co/VYSjxUggYk‘s project gallery. Yet, the best ambassadors for girls in CS are the other girls. How can we encourage them to share their projects and show their friends what they’ve made? pic.twitter.com/01tS15EJzD— Code.org (@codeorg) May 21, 2019
A huge benefit of coding is the collaboration required when students work on a project together. Collaboration happens either at school or online. On an online community such as Scratch, students can collaborate and communicate with one another.
Scratch allows learners to inspect another’s project, create a duplicate (through remixing), and build upon it. Scratch even credits the original creator. Studios on Scratch allow projects to be grouped together and moderated, and with the community backed by MIT and the presence of many educators, it’s a safe space for kids to communicate and learn.
In order to participate in these communities, it’s important that those participating know how to communicate. Coding can be useful to refine that as well.
Coding improves communication
The act of coding forces the coder to communicate complex ideas in simple terms. Remember computational thinking and breaking down problems? Well, you do now.
Communicating with this clarity is no walk in the park. It takes time to build and develop. Once there, you often wonder how you ever communicated without first breaking concepts down into smaller pieces.
Coding is another Language
Computers love to take orders from humans. It’s what they do best. Sadly, computers aren’t as forgiving with language as most humans are. Except for maybe those grammarians, but even they still know what you’re intending to say most of the time should you confuse “your” and “you’re”.
Computers can’t infer meaning to the same level that we can just yet. If we make a mistake, then the computer will produce some bizarre results, or worse still, not produce anything at all. So it’s important that we are clear with the language and syntax (grammar of code) that we must use.
Visual programming languages reduce the syntax and code writing burden for beginners. That’s because it’s more like putting together puzzle pieces.
Lastly, coding could help decontextualise language. What do I mean by that?
Well, have you ever listened to someone describe something to you and say “do this” and “move that”. I know if my instructions were littered with that contextualised language, you’d have given up long ago. “This” and “that” require some visual or context to understand the meaning. Decontextualised language is way more descriptive.
For instance, translate “move it to here” to “move the robot 3 spaces to its left.” The latter is more descriptive and you get a better sense of what is being asked of you. Being this specific assists your child’s reflection. I’m always asking students to pretend that I’m an alien or that I can’t see, so that they can describe it to me.
Benefit 3: Nudging students to take up these careers that benefit themselves (and society)
Ray Dalio said that “He who lives by the crystal ball will eat shattered glass.” We can’t know definitively that society needs more coders in the future, so saying we need to generate more professional coders is a bit of a stretch.
Imagine if PE were only a subject at school because its intention was to produce elite sportspeople. It’s just not the case. PE is beneficial to the health and well-being of the individual.
In saying that, the small percentage of learners who pursue a computer science career will improve their job prospects.
Data from the Australian Government suggest that by May 2023, STEM occupations will grow by 10.8% whereas non-STEM related jobs will grow by just 6.1%.
Therefore, a child who learns to code and pursues it as a career will have the advantage of more opportunity no matter which industry they decide to enter.
*BONUS* Benefit 4: The Hidden Benefits of Coding
Part of the appeal of coding is the challenge and reward of seeing your creation to come to life. What’s the essence of this? It’s fun!
I estimate that around 90% of students in the classes I teach are intrinsically sparked by coding. Initially, the enthusiasm is fuelled by the novel experience. Those who then persist, strive for the challenge. Those who embody it, find fulfilment in their contribution.
Who doesn’t like playing games that we enjoy? We’re in a state of calm where we feel engrossed by what we’re doing. Time becomes senseless. We’re immersed in the experience.
Getting kids to create games they enjoy has them move past the consumption phase of digital media into the production phase. The process includes all the benefits listed above and it’s baked into a process they enjoy.
That’s cool and all, but if they become so engrossed, then that leads to more screen time, right?
Proceed with Caution: Why shouldn’t children learn to code?
According to this publication from the DQInstitute, The global average of weekly screen time for kids aged between 8-12 is 32 hours. What’s more, that number is for entertainment alone. The recommendation from health experts is 1-2 hours of screen time per day. The difference between the average and recommended is staggering.
Apprehension about screen time is valid. However, it’s a conversation that’s better suited to a post on attaining digital citizenship skills, which is beyond the scope of this article. I encourage you to check out the DQInstitute for some information and resources on how you can cultivate digital intelligence in your child.
What about from a teaching perspective?
According to the ACER article, some concerns about teaching coding as a skill include that coding does not come from a sound pedagogical (fancy word for teaching framework) background.
The success of Scratch from the Massachusetts Institute of Technology (MIT) is a sound example of a learning program originating from a research institution.
A second argument suggest that the is no evidence to suggest coding is beneficial. Evidence is largely anecdotal rather than from experimental trials, and research would be encouraged in this space.
I am N=1 (sample size of one) but coding has greatly influenced my thinking, understanding and interpretation of the world around me. The key factor behind this influence is computational thinking.
If you’re like me and seeing the benefits to coding then read on, as we’ll explore how to teach your kids code next.
Coding for Kids: How to Teach Your Kids to Code
Coding for kids. That’s any experience that promotes the cultivation of coding skills in kids. These include online resources, bootcamps, programs, apps and even toys.
How to get your child to code?
The first step is to just take some action. Small steps build momentum and momentum is powerful.
You can check out some unplugged activities if your access to technology is limited. In other words, these are activities that you can do offline with your kids. Code.org’s CSUnplugged is a great resource for such activities. I enjoy this resource as it promotes the computational thinking aspect of coding.
However, the buzz factor is probably going to be a little lower. To keep high levels of stoke, you’ll need some tech.
Jump to a website such as code.org to kick off an hour of code. The idea behind the hour of code is to demystify code to show that anyone can learn the basics.
You can also check out a bunch of online video tutorials I’ve made, that are free, that’ll teach you the basics of Scratch.
You could make coding a learning project with your child to learn alongside them. Then, you can model the resilience needed to persevere through those tougher moments.
By that stage, your child is probably off discovering and defining their own learning journey. Job done. Well kind of. You’ll still want to keep track of the screen time management.
Where to now?
We’ve just explored many reasons why every child should learn to code. If you’re feeling inspired, then the next step is to take action. How will you nurture this novel spark that the child has?
Remember, you can start online or offline. What’s important is the start itself. In the section above, scan through some of the ways to start, and choose the easiest one that sticks out to you. Quick wins build momentum, and momentum is powerful, remember?
You’ll always have more ways to come back to. If you’re feeling nervous about coding yourself, then model the learning journey alongside the child.
We aren’t the captors of knowledge, rather, we are the architects of experiences. Now go and gift the creation of experience.