Why is programming good to start learning from a young age?

Anyone can start to program at any age. However, starting early will pay dividends. 

Here are some of the benefits of learning to code from a young age:

1. It teaches logical problem solving.

Oftentimes, a logical answer to a complex question is most readily reached when the question (and consequently the thought process) can be divided into smaller pieces. As a completely random example, say you are asked “What is your opinion on the current economic situation of Canada?”. A non-logical person would speak emotionally, entirely subject to personal experience and the biases that come with it. A logical person would break down the question and proceed to answer the smaller and more “digestible” questions based on data and evidence, putting emotions aside. Programming is all about writing code line by line, step by step. Its very nature forces you to break it down into smaller pieces. It is an inherently logical activity.

2. It teaches creativity.

We aren’t robots. Logical thinking is not the only aspect of our lives.

Without creativity, our world would be very bland. Homes would have no character, buildings would have no curves, people would have no personality, and programmers would be bored. For any relatively complex problem or question, there are many possible solutions. And because human nature is itself complex, it comes to no surprise that we are all unique individuals, expressing ourselves in unique ways. This individuality is welcomed and celebrated as our students write their own unique programs given the knowledge provided.

3. It blends logic with creativity.

Oftentimes in school, we are told exactly what to do. “Solve for x given 4x = 8”. “What year did Cristopher Columbus discover America”? The benefit of this is that it provides a clear platform to compare students and grade them. However, this is not very representative of the real world. Let’s say I want to build a pull-up bar in my backyard. There are so many designs, materials and pieces I can go for. Yes, I must make sure that it will be sturdy, but there are lots of flexible parameters, giving leeway for creativity. This combination of logic and creativity comes up everywhere. People enjoy seeing the individual touch a creator adds to their work. 

4. It fosters perseverance.

Programmers can spend entire days looking for an error in their code which makes their program misbehave or even not run at all. This is part of the programming experience, and our students will certainly experience it. Everyone makes mistakes, and students will have to just sit down and work the problems out. As an instructor, I always encourage my students to first try to solve the problem themselves, and once they’ve spent enough time on a problem, they can message the instructor or their classmates for hints. That half-hour spent alone, trying to find the bug, is very important. The end reward is an awesome program that works, but another subtle reward is the stimulation of the perseverance “muscle”. As a bonus, it also makes you detail-oriented since you wouldn’t want to make any more mistakes which you then have to spend more time searching for.

5. It fosters the “producer” mentality.

In today’s technology-addicted society, a lot people are net consumers. The fact that children are net consumers isn’t inherently a problem though; that’s just how learning happens. We do however want them to grow up to become producers and be an asset to society. And a good way to ensure that is to have them creating early on in their lives. Whether it be producing music, growing your own vegetables, or writing computer programs, production is the best antidote to overconsumption.

6. It is present in many professional fields.

Separately, all the previous benefits can be achieved through other means. You can develop logic by playing chess, you can develop creativity by drawing, you can develop perseverance by practicing martial arts, and you can produce pretty much anything. However, not many skills can say that they are as far-reaching as programming (interpersonal skills such as public speaking come to mind as an exception). Any field (other than pure labor work) can benefit from a good programmer. So if you grow up to like agriculture, architecture, banking, or  real estate, you can always combine your love for programming with your love for whatever else.

KidCoder ensures that its students get all the benefits of programming. 

Classes begin with the students bringing up any questions they have. Then the instructor would go over any difficult assignment questions from the previous week (based on student submissions). This would be followed by approximately 50 minutes of regular class time, where the instructor teaches the lesson.

By the end of the 12 weeks, students are expected to come up with a project; this is typically a “mini game”, but it could also be some sort of artistic presentation made using Python. Students are expected to use and combine many programming concepts into one program. On week 13, students will present their projects to the KidCoder staff, as well as to parents. 

Written by Andrei Guevorkian