How to Choose The Right Coding Class

Given the current race to acquire tech talents globally, more students are beginning their programming journey earlier. Just a decade ago, programming was more commonly seen in tertiary institutions. These days, programming education can start as young as 5 years old.

However, the main reason education is starting earlier is because every year, new and better programming interfaces appear. These software and tools help teachers to bring across programming concepts easier.

Parents and educators also noticed the immense value of learning programming, such as helping students to construct their thoughts better through Computational Thinking (CT). 

CT is fundamentally a problem solving process that consists of 4 pillars: Decomposition (of the problem), Pattern Recognition, Abstraction and Algorithmic Thinking.

Educational toys were conventionally intended for children to develop psychomotor skills and improve cognitive development.  

With the introduction of robotic toys, children can now improve on logical thinking and sequential thought processes by scanning graphical cards and physically programming the toy.

 

Which begs the question: From thousands of coding courses, classes and camps, how do we choose the right coding class for our kid?

Consideration #1 – Purpose

There are several reasons why schools and parents may want their children to start coding early. Defining your purpose clearly helps in the selection of the right coding class and institution.

Is it because you would like your child to develop better problem solving skills? Or would you like your child to make good use of his/her spare time? If so, then Scratch programming can be a good start.

If you want your children to develop better spatial awareness and to leverage on their natural gifts with arts then virtual environment designing classes such as Roblox and Minecraft Education will serve them well.

If you want your child to develop useful skills for the future then learning a widely used programming language like Python, Javascript or Swift is the go-to.

If you would like your child to understand the world better, learn how to translate problems into solutions and learn how to manage projects, then mediums like Microbit programming will be optimum.

So start by listing down all the reasons why you would want to enroll your child into a coding class.

 

Consideration #2 – Programming Language

There are many different types of coding classes, such as Scratch programming, Microbit, Roblox, Python, Javascript, Thunkable and even Swift.

Another consideration would be how usable and relevant the programming language is. The progression of each language refers to what you can do with the language after learning it, while the runway gives insight to how far you can take it to. For example, Scratch can lead up to many other tech-related topics while its runway stops at education. Python on the other hand can be used to create actual programs to build tech like YouTube, Google and Artificial Intelligence.

 

The following are brief introductions of some popular classes:

Scratch Programming is a drag-and-drop block-based programming environment where students can quickly learn about fundamentals such as conditional programming and event programming. 

It is one of the most popular starting points for young learners because it doesn’t require much typing. The scripts are created using blocks that resemble Lego. Being open-sourced, users can freely contribute to the community, or put up their projects publicly for everyone to test, play and disassemble.

Another major plus point is the versatility. Scratch acts as a foundation step to other complex projects such as game making and Artificial Intelligence.

Roblox has been on the rise in recent times because it started out as a game that children are familiar with. Being an online multiplayer game, it allows players to mingle in a 3D virtual environment. This social element is also one of the key hooks to the game.

It wasn’t long before education companies realized that they could capitalize by pushing out Roblox classes. Roblox for education consists of two key elements: 3D modeling in a virtual environment and Lua Programming.

Roblox classes tend to be fun and engaging because it allows children to freely create and express their ideas. The environment encourages children to interpret real world objects into 3D models and piece them together into their own world. 

Children tend to start out focusing on their own desires. As they gain more experience in designing their own virtual environment, children slowly transition into outward thinking as to how their world affects other players. 

This perspective is needed for graphic designers, game designers and tech developers as they consider more in depth about user interface (UI).

The Lua programming aspect of Roblox classes, however, requires a deeper understanding of syntax programming and object-oriented programming. 

Python and Swift would have been better starting points for syntax programming. While block-based programming doesn’t require much typing, syntax programming languages are actual professional programming languages that are used to create real-world technology. 

Majority of the applications, browsers and websites these days are built with programming languages like Javascript, Java, Python, C++ and Swift, notably for iOS apps. 

What drag-and-drop block-based programming lacks are key fundamental concepts such as object-oriented programming, data types, lists and dictionaries etc.

Therefore, if you were to consider having a fundamental skill to act as a springboard to future tech or as a displayable skill, then syntax programming languages should be considered. 

You can’t aim to land an intern job by saying you have done Scratch Programming before, but you have a higher chance of success if your resume reads as being proficient in Python Programming.

Furthermore, Swift can be used to develop iOS apps, while C++ acts as the backbone to both front-end and back-end technology. Python is widely used in data science, which also leads up to machine learning and artificial intelligence.

You may want to dig further into the different programming languages used for backend and frontend. Front end usually refers to what people see, while backend runs in the background.

Consideration #3 – Online or Offline Classes

Offline classes usually allow the trainer to walk freely around the classroom and very quickly help students solve problems when they encounter one. The downside, like commuting to work, involves time to travel. 

Offline classes also require more preparation time and set up by the trainer, and lessons need to factor in the students’ settling-in time and any additional administrative tasks.

Online classes, on the other hand, allow access to a variety of educators and courses across the world. Best part is you just have to be online five minutes before the lesson starts. That is not to say that online classes do not have downsides. One of the downsides would be the hassle when it comes to debugging for the students. The student will need to share his/her screen in order for the trainer to look into their work.

 

Consideration #4 – Self-guided or Trainer-guided

Coding courses can come in 2 formats. The self-guided ones are generally recommended for adult learners with more discipline while the younger learners would require more dedicated attention from the trainer.

That said, there are platforms that allow the younger learners to learn from a series of videos as and when they like. This format allows the students to pause and replay the video at their own pace. However, this also means that students will have to struggle a little more when they encounter problems. A trainer will not be able to guide them immediately unless such platforms offer an avenue for students to seek help from.

Trainer-guided classes allow a more open-ended approach. While following a structure from the curriculum, trainers can at their discretion adjust the pace to cater to the students. In the ideal scenario, no two students are the same, and hence a personalised pace can help students learn and retain better.

Trainer-led classes will also be better for curriculum intended for students to tackle open-ended projects and create their solutions freely. In such situations, there are no correct answers and will definitely require the trainer to be more proficient in the subject in order to handle the unknowns.

In Summary

In a sea of classes, clarity on what you want, what is ahead of you and what your options are can give you yet another edge in utilising money efficiently. And we believe it is the same for our future generation. To preach and advocate for a thinking generation, then we must too be one.

Leading by example, we hope that this article gives you more clarity in the selection of the right coding class for your child. 

In subsequent articles, we will also explore how to choose the right institutions to work with. Stay tuned until then!