Scratch or Python or JS for Kids

Should my child start with Scratch or Python or JavaScript?

When my father’s generation was studying in school, differential calculus and electro-magnetism was not taught in school. When I was going through school these subjects entered into school books in the 8-10th grades everywhere across the world. Similarly, new topics are entering into schools and mature topics are being introduced in a friendly manner sooner to children, for example topics like Probability and Combinatorics. On the same lines, today, children across the world are getting acquainted with computers very quickly, starting from Scratch and Python to BBC Microbit and Arduino based microcontrollers.

Which programming language to start for my kids?

Parents today are very well aware that they should introduce their kids to computer programming as almost a hygiene. But, most parents get confused on where to start? There are so many programming languages and so many jargons floating around and everyday new topics are coming out. 

Learning a programming language well is like learning to drive a bicycle or a bike. You can pick a good language of your choice and once you become good at the constructs and the basics of riding or programming, you can then program in any language. Yes, the controls and the syntax could be a bit different from language to language, but it is just like riding a bike – once you know it, you will manage to ride any bike with a bit of learning and adjustment.

When kids are starting on a blank slate in the programming world, then it is important to start with block-based programming if the child is of low age – less than 15 years. Introducing block based programming will remove the hassles of the syntax of a programming language and will make the kid to focus on the logic of programming constructs such as variable definitions, conditional statements, loops, iteration, functions, etc. This serves as a basic for kids to then graduate onto text based programming.

Scratch or Python or JavaScript

Coding for Kids

If you have a child between the ages of 8-14 years old and they didn’t have any coding background before, then which language do they start in – Scratch (block-based) or Python (block-based) or JavaScript (block-based)?

  • If the child is very young, say less than 8 years old, then it is good to start with Scratch programming first because both JavaScript (block-based) and Python (block-based) will have some syntactic/text based constructs that will be not important for small children to learn. Also, Scratch is very visual and hence will attract the young kids trying to learn something new and will keep them interested and engaged.
  • If the child is between 8-10 years old and has no coding background before, then it is beneficial to start with JavaScript (block-based) programming. This is because JavaScript block-based is very visual and will enable the child to gain the programming constructs without starting from Scratch programming.
  • If the child is 11 or above, then we can start with Python (block-based) directly or we may still decide to start with JavaScript (block-based) and then move to Python (block-based) and that is a call by the instructor. Both these are excellent languages to learn programming and it is important to learn both these languages as their usages in real-world programming are different and are the heroes in their respective worlds. So, it doesn’t matter so much whether you’re starting JavaScript first and then learning Python or vice-versa. The only issue is Python can be less visual and more text based with standard screens, which could be boring and unimaginative for kids starting programming. Hence, it is recommended to start with JavaScript (block-based) even for a short duration and then move to Python.

Hope this is useful, thank you.