Coding for kids, tweens, and students is an absolute essential today. And, I am not saying that because we teach coding! Let’s understand why it is an absolute essential in a more detailed way.
Coding Classes for 6 year olds to 15 year olds are all over the town these days, and there is a backlash from some corner for developers saying – hey, this is too much! Kids don’t need to learn coding and you are only overwhelming these kids with all the unnecessary stuff. After all they’re all not going to become software developers and quality analysts, and who knows maybe ChatGPT will make coding and a large number of software engineers a redundant aspect of life.
The flagbearer of this criticism is conducted by a person named Joe Morgan here. His main idea(s) are:
- Parents think that – if everything is getting automated, then probably the safest job in town is the one who is doing the automation. And, hence parents want their kids to learn coding.
- While teaching coding to kids, institutes or schools focus to teach the syntax of the programming language whereas it has to be focused on problem-solving
- Coding is an iterative process of building something, finding out what is going wrong, debugging for where it is going wrong and then fixing it. So, it is a mix of both creativity and determination
Well, let’s start with why should kids and students really learn coding. What happens if they don’t learn it?
Let’s take an example: I am a software engineer who worked as a developer for about 5 years and I then moved on to the Marketing side of life by doing an MBA. Over the last many years, my jobs have been in Marketing and they had nothing to do with writing code. But, the fact that I learnt software engineering means that I know how technologies are built. So, when various people from the technology or product management teams discuss with me, I am not a newbie and it enables me to understand what they are talking and even manage what they’re trying to tell me. I can get my own data by making and running queries by myself and I can take any cut of data that I need for my analysis. I am not overwhelmed when we see our payment applications having bugs or any other issues – I know it is a part of life and we will have to fix them fast. The underlying idea is that when you learn coding and when you learn software, you learn about how stuff works and that gives you a good advantage over other people who don’t have that similar knowledge. The fact that I know coding decently well empowers me and makes me feel good about myself and doesn’t put me in a disadvantageous position. Again, for example, I’ve faced multiple situations on the internet where my background helped me to be careful w.r.t computer security and password security. Whereas I’ve seen cousins, friends, and close family not having that awareness about security and how they could be vulnerable on the internet unknowingly.
We don’t teach science to kids to make them scientists, we don’t teach math to kids to make them theoretical mathematicians, and we don’t teach about the planetary system to kids so that they’ll be prepared to go to these planets. We teach this stuff to understand how things around us work at a certain level – everybody should have that knowledge and understanding. For example, when you see the stars moving in the sky, you should know the connection of that movement with the earth’s spin and its relative movement. Similarly, kids must learn coding (no two ways about that now anymore) in order to develop problem-solving abilities, understand how software is really built, and logical skills. There are many benefits in kids learning coding. But the one major benefit is that – most kids when they learn mathematics, they don’t have enough theory to apply the math they learn in real-life scenarios. Learning coding helps kids to approach problems in a structured way, use their imagination and logical thinking abilities to solve those problems, develop the patience and an iterative approach to solving stuff that is broken, and appreciate all technologies around with an internal knowledge of how things work. Imagine you’re driving a car and you have to call the mechanic to unlock your steering. You need to know the basic stuff of the world around you. And the world around us right now is largely software technology and kids should know how these tools that are so prevalent are built and are used. Else, these kids will be handicapped and the children who know this will have an edge. Therefore, scientists, academicians, and leaders around the world have said that it is time to include coding in kids curriculum as a mandate all across the world. Because, fortunately or unfortunately, the world has changed and it is never going to be the same again.
Also, when we’re saying we are teaching kids coding, we’re largely talking about enabling them to learn the structured way of problem-solving using some syntax. Yes, we all agree that syntax doesn’t matter. It is like choosing a knife to cut stuff in the kitchen, you will choose the right knife that you think is suitable for the task. But, the main skill is in the hands of the person. And, that’s what the focus is on – no body is teaching kids a lot of syntax to mug up or no one is really burdening kids to go out and solve the memory leaks by analyzing these core dumps from the files. So, it is all positioned well in the right spirit and with the right direction.
For example, a typical problem would be to ask kids to write a program to identify the largest Armstrong number under 20,000. Or it would be to identify how you can make this sprite (character) jump from one building to another. They’re asked to think about the problem for a few minutes and write down (or tell the teacher) the approach and all the parameters they need to think about.
Typically, the students will start with one approach and they will make some mistakes or they’ll forget certain aspects such as coding for the gravity or missing the exit in a recursive loop. Then when they run the program, they learn that there has been some mistake. They’ll think about what could’ve been wrong and then try to fix that problem. This is it! This is all that we want to teach young kids – problem-solving in an iterative manner!
Benefits in teaching coding to kids:
- To use Mathematics and logic in real-life problems
- To learn to create things and to solve difficult problems
- To persist, iterate and improve
- Algorithmic thinking
- Critical thinking
- Attention to detail and debugging the problem to find a solution
- Creativity and Expression
In the process, children learn a lot of mathematics and other subjects in an applicative and visual manner. They also learn algorithmic-thinking, imaginative-skills, designing-skills, mathematical-aptitude, debugging skills, and algorithmic thinking, Not to forget a ton of soft factors such as they build patience in problem-solving, they don’t get bogged down by first-time failures, building the essence that success comes from multiple attempts, and that problem-solving is deep and requires multiple hours of work. These are extremely valuable behavioral and attitudinal tenets for children to develop in their overall development.
Teaching coding to kids is a progressive shift in society to build future humanity, which is more informed and comfortable around how things work. We live in an age where technology plays a role in everything that we do, and the future is going to be more of it. Therefore, all countries are teaching coding to kids across the globe, and it is deemed an absolutely essential course for kids now everywhere.
Hope this is useful, thank you.
You may want to read the below posts which are very related: