Many people ask us why we teach kids to code by building games and apps rather than with more academic software projects.
Common questions we receive are:
“Is what you’re teaching really transferable?”
“Won’t kids fall away once they realize that coding in the real world isn’t all fun and games?”
These are perfectly understandable concerns, and we thought we would explore the topic in more depth.
In this article we outline 5 reasons why we think coding games is the best way to teach kids computer programming.
1. Coding games is high-interest and engaging for kids
One thing many parents and educators don’t realize is that it is easy to get kids interested in computer programming, but incredibly challenging to keep them interested long term.
CodaKid learned this lesson the hard way in October 2014 just after launch.
By the end of our first month, nearly all of the kids enrolled in our beta program had lost interest and wanted to drop out.
We were devastated.
All of the hard work and planning went down the drain, and we second guessed whether we should just throw in the towel and go find real jobs.
Rather than give up, we decided to pivot and introduce real game programming with professional languages and tools.
We used things that kids were already interested in, like Minecraft, Roblox, 3D video games, and game apps.
Making games is fun, but also demands focus concentration, and patience.
But allowing kids to make creative decisions about gameplay, to test out their logic, and see others playing their levels brought engagement to levels we didn’t think possible.
By the end of our first class, we had kids fist bumping and literally jumping out of their chairs.
We have now taken our approach to our online courses and are achieving similar results.
2. The effectiveness of coding games is research-based
There is substantial research that shows that game based learning has been effective in improving student motivation.
In addition there are several conclusive studies that game-based learning systems have been statistically proven to help students retain knowledge, concentrate and perform at higher levels of student achievement.
When students are able to not only create their own games using code, play their games to test and iterate, and then earn awards and badges for completing projects, students get very excited about computer programming and want to learn more.
3. Coding games teaches real languages
By coding real video games, apps, and drones, kids learn to use use languages like JavaScript, Python, Lua, Java, and C#.
While visual block languages can be handy for kids ages 4 – 7, we find that most kids are ready for the text-based coding experience must sooner than parents think.
In fact, we find that many kids view visual block interfaces as “kid tools”, and they want the real thing.
At CodaKid, we’ve found that the choice of language is less important than using age appropriate curricula that helps kids build things that they want to make.
Not only do kids learn real skills, but it helps build a tremendous amount of confidence in understanding the inner workings of a software program.
4. Coding games teaches kids real tools
At our online academy, we program games, apps, and drones using the same tools that are used at major tech companies such as Facebook, Google, and Intel.
By learning with professional text editors like Eclipse and Atom, kids as young as age 7 build skills and confidence.
They also learn the critical skill of debugging code using these editors, which gives them real life experience in a major part of development.
During this journey, our students are often surprised to learn that they are actually building real software.
5. Coding games teaches foundational, transferable skills
Game programming teaches important programming concepts that are found in nearly every programming project regardless of sector or discipline.
For example, students learn booleans, conditionals, loops, variables, methods, functions, arrays, switch statements, and more. These concepts are used in artificial intelligence, database programming, data science, and more.
For the uninitiated, here is a pseudo-code snippet that illustrates a conditional statement. In this statement, the player’s character will jump if the user presses the space bar.
Conclusion
There are many competing philosophies on the best ways to teach kids computer programming. Based on extensive research and experience teaching over ten thousand kids how to code, we believe that coding games is the most effective way to teach kids programming fundamentals.
Do you have any knowledge or experience that you’d like to share?
If so, please leave comments below!