How to get kids & teens started on coding

Published by SG Code Campus
10 Jul 2019 · 5 min read

Sometimes the first step is the hardest. But we’ve got this! Whether you are looking for a learn-at-home programme, a holiday camp or a coding school with a structured learning roadmap, our 5-step process will ensure you find the coding education that your kids deserve.

For many parents, getting their kid or teenager to learn how to code is a foregone conclusion. They acknowledge the digital era that we’re living in. They want to nurture a digital fluency in their children so that they can participate actively in society and the future economy. This includes being able to read, write and understand a programming language so that their kids and teens have an edge. They also know that computer science graduates and graduates of related fields account for some of the highest starting salaries in Singapore, New York and Beijing.

(But just in case you’re not yet convinced and need more reasons why your kid should learn to code, read this and delve deeper into why a coding education is essential for kids & teens today.)

So it is only natural that many of these parents have asked us how their kids and teens can and should start learning to code. In this article, we share our approach so that you can focus on making the best decision for your child’s learning journey.

1. Consider your child’s current developmental stage

Quite often we get asked how old (or young) a child must be before he/she can start learning how to code in a particular language. Parents expect us to give them a specific number, but we prefer to think in terms of developmental stages.

Computer science concepts are abstract and require abstract reasoning to be understood. Every child develops abstract reasoning at a different age but typically it is the last stage in his or her cognitive development. Under one cognitive development theory, this could occur as late as 12 or 13 years of age. In other models, age is just a proxy, and some children progress through the stages either faster or slower and at different ages.

We have some analogies that we like to use to demonstrate how cognitive development progresses along a spectrum from a literal understanding to an abstract understanding. For example:

The concrete and abstract idea of cognitive development

So ask yourself, how well your child or teenager can discern the nuanced differences between each of the elements as you move from concrete ideas on the left towards abstract ideas on the right. This transition from concrete thinking to abstract thinking is the mental framework we should adopt when trying to decide when and how our kids and teens can start learning how to code.

Approximate Age Range Cognitive Development stage What can they understand
4-7 Concrete observable reality Left-hand column
7-11 Concrete-abstract logical reasoning Centre column
11-adulthood Abstract thought and metacognition Right-hand column

This leads us to the next step - while bearing in mind your child’s cognitive development stage:

2. Pick a programming language that is age and developmentally appropriate for your child

These are some general guidelines on which programming languages would be age and developmentally appropriate for kids and teens.

Approximate Age Range Cognitive Development stage Computer skills Programming Languages
4-7 Concrete observable reality Minimal computer skills; predominantly concrete manipulatives Physical blocks: Cubetto, Osmo, Think & Learn Code-a-Pillar
7-11 Concrete-abstract logical reasoning Touch screen skills Tap & drop, block-based languages: Blockly, Scratch Jr
7-11 Concrete-abstract logical reasoning Beginner to intermediate keyboard mouse / trackpad, and hardware skills Drag & drop, block-based languages: Scratch, micro:bit, App Inventor 2
11-adulthood Abstract thought and metacognition Advanced keyboard skills, including keyboard shortcuts Full-syntax, script-based languages: Python, JavaScript, C++, Java

3. Choose an effective coding camp/programme designed for your child’s developmental stage

After you have understood your child’s developmental stage and identified the programming language that is most suitable for them, you need to find a course that has been designed to maximise learning based on both these factors.

Does the course identify clear learning objectives? Are the teaching methods developmentally appropriate? Does the pace of learning match the shape of your child’s learning curve? Is the content well-scoped given the duration of the course and each lesson? Is the content engaging and inspiring?

Some of these questions can be difficult to answer if you don’t have a technical background. If you want a quick way to figure out if a course is the right course for you then skip ahead to step 4.

4. Watch their excitement grow as they solve more and more problems using code!

Most kids and teens love technology. If this is their first time going under the hood to see how tech is created, their first time giving instructions to computers, first time using a programming language, first time solving problems using code, you can bet that they’ll be super excited, inspired and driven to do more!

Beyond their palpable enthusiasm for coding, you would see them asking for more opportunities to code. They would be keen to go for more classes, want to sign up for a Scratch account, bring a micro:bit home, get a mobile device to code, or make random stuff, just because they can. And if you’re wondering what your child can do after they learn to code, we have some amazing examples by primary school and secondary school students here.  

Over time, as beginner coders get increasingly familiar and confident in expressing themselves in a programming language, you may even start to see them coding independently at home, teaching a sibling how to code, or even teaching you how an application works!

Kids and teens learn best when they are motivated, engaged and challenged. The above are sure signs that you’ve found the right coding course for them! So, what next?

5. Level-up in a structured, progressive way so that the kids strengthen their foundation and work towards more complex coding concepts and builds.

Taking a beginner level course, whether for 2 hours or 20, is really just the tip of the iceberg for kids who want to learn how to code, and who want to really be able to do so.

Once you have the basics of programming well underway, a young coder should do several things:

  • cement their conceptual understanding and learn to apply it with additional practice and use cases
  • add more coding tools to their toolbox by learning more concepts and coding tools
  • increase the complexity of the ideas and the builds
  • solve increasingly complex and varied problems using code  

His or her next course should provide the structure, opportunity and curriculum to become a more confident, independent coder capable of more complex tasks. Just like how math learners start with the basics of addition, subtraction, multiplication and division before moving on to indices, fractions, and decimals, when kids and teens learn to code, they need to keep building competencies before they can really code.

And if you aren’t sure what kids who can really code look like, you can check out some examples here :)

We know getting started always feels like the hardest part but having your kids and teens learn to code is well worth it. And if you find the right place for your kid, they will thank you for it!