For younger kids, visual-based learning software such as Scratch is perfect for learning core programming concepts. For older kids who are adept at learning more sophisticated concepts, ‘high level’ (or easily read) languages such as Python are the best entry point to learning, which has the added benefit of being a ‘real-life’ programming language used worldwide.
There is a significant jump in technical understanding between both styles of learning, largely depending on the ability of the child. The ages of 10 - 15 are a significant period of development for a child, and the medium they use to learn will be determined by their existing ability for comprehension and problem-solving.
Many 'gamified' learning platforms aimed at kids within this age group, such as codecombat.com, frame the Python coding experience in a game. The colors, storyline, and task-driven structure keep kids interested and engaged.
The best method of teaching code is related to the culture and environment in which the child is taught. Children tend to absorb new information when they are working within a positive atmosphere, and studies have shown that a happy child is one that learns faster - and a child that learns faster is a happier child.
“Engaging with the world in playful ways is essential for laying a foundation for learning early in life” (Jennifer M. Zosh, Emily J. Hopkins, 2017)
How Do Kids Learn to Code? Through play! Minecraft, a popular first-person adventure game available on most platforms, is a particularly good example of learning through play. When kids can imagine and produce their own custom modifications, they become more focused and engaged and associate learning with fun. However, it's important to note that Minecraft will not teach students to code but rather how to play games.