If you had asked me this question when I was 19, while I was taking my first course in software engineering, I would have definitely said that 10-year-olds should not be learning this stuff. In fact, it wouldn’t even cross my mind that someone half my age can comprehend this, unless we’re dealing with a prodigy child. This stuff is too complex, and too intense. I’d say that logical and creative thinking is very important to develop from a young age, but programming is not the way to go about it.
Today, my opinion hasn’t changed about the fact that children should learn to think logically and creatively. However, I have since learned that provided the right learning method (read “right amount of fun”), programming can and should absolutely be taught to the younger generation. It simply gives an unfair advantage in life (not saying it’s the only way).
From my experience and from having talked to parents who are programmers, on average, 9 – 10 years old is the youngest someone can start to learn to code with no prior knowledge.
There are ways to start as young as 6 years old, but that isn’t by teaching to actually write code, but rather by using code blocks (Scratch is popular for this) which the child can drag and drop into place to have some event occur in a step-by-step manner. The major benefit of this technique is that there is no possibility for any writing-based errors such as mistyping or forgetting to add a colon somewhere. There is also no need to memorize function names and parameters. And block programming has no way of introducing more advanced topics such as OOP (6 year olds shouldn’t be learning that anyway). Basically, everything which students typically struggle with when first learning to code is removed from the “block programming” method.
Similarly, there are games such as LightBot (view gameplay) and Magic Pen (view gameplay) which will help develop logical and problem solving skills.
And I’m not saying that there’s anything wrong with that. In fact, I would highly recommend this to children! Such learning methods are for a younger audience though. But if you want to jump straight into what actual software engineers do, then 9 – 10 years old is really the youngest reasonable age to start at.
The courses provided by KidCoder use a “code editor” that professionals use. The Python programming language is a very popular language used in many industries. So much of programming can be taught while sticking with Minecraft, and KidCoder’s curriculum uses every opportunity to teach about real-world programming concepts while staying within the Minecraft world as much as possible. The programming concepts that our students learn are directly applicable to non-Minecraft-related programs, and a sneak-peak of that is shown throughout the course series.
Written by Andrei Guevorkian