The coding mindset has a lot of overlap with the mindset needed for subjects like Maths and Science, but also with a sports mindset. The problem-solving aspects of coding are similar to those in Maths and Science. But coding is built on resilience too, the same type of resilience needed in sports. Coding helps children build resilience as they learn and practise.
In this blog, we'll explore coding further to understand why determination and resilience are key skills that students learn. This is part of our Parents' guide to coding series as we help parents navigate the coding world.
A computer program is a way of solving a problem by asking the computer to perform a series of tasks. However, to communicate with the computer, you need to use a coding language that has its own grammar and rules.
Coding is An Exercise in Problem-Solving
The words making up a programming language like Python are not enough, though. A common misconception is that learning to code is the same as learning commands in a programming language. That's far from the truth. Knowing the commands in a programming language is just the very first step, a bit like learning how to write the numbers when studying Maths.
The most important part of learning to code is to learn how to use the methods and techniques in coding, and when to use them. Another analogy is that's useful os to compare the commands in programming with a set of ingredients available in the kitchen. Different chefs can make very different dishes with the same ingredients ranging from terrible dishes to Michelin-starred meals!
Building Resilience Through Coding
So where does resilience come into coding? Unlike other subjects, coding has a specific challenge. When you're writing a computer program, the program will only work if everything is in place as it should be. You cannot "almost" solve a puzzle, or just get 90% of the problem solved. For the program to work, everything needs to be right.
This is where resilience comes in. Learning to code teaches children to persevere with trying to solve a problem, making improvements until all issues are resolved and the program works.
Coding also teaches students to look at errors as a part of the learning process and not as a negative. It is impossible to write computer programs without making errors. Errors are so important that languages like Python have a whole set of different error types and error messages that are designed to help a programmer understand the error. The process of finding and removing bugs from a program–bugs are a type of error–is so important that it has a name in coding. It's called debugging.
The approach in coding where errors are treated as part of the process and not as an inconvenience also teaches students skills that go beyond coding. Learning to treat errors in a positive manner is important in other aspects of life, and not just in coding. This is another way in which coding builds resilience in children.
There's more to coding than just learning lots of commands. The reason many children and adults love coding is that it provides a challenge, and as you get better, you can set yourself harder challenges. Resilience is a key attribute in coding and in other aspects of life. Learning to code goes beyond just teaching children to learn how to write a computer program.