What programming language elementary school kids should take?

Coding is a creative outlet, provides academic foundations including math and teaches problem-solving skills. Between the ages of 6-8 years is a perfect time to begin the journey of learning to code.  Beginners are introduced to coding through the creation of their own games and animated stories.  Kids learn that they have infinite more possibilities of play through creating something than just playing something that other people made for them. 

Even though most students in this age group cannot type on a keyboard, there are many drag and drop solutions available today that allow kids to code powerful programs with a few tips. Here are some of the best coding classes for beginners: 

 

Scratch Coding Classes

Scratch is a program developed by the MIT Media Lab to teach kids of any age full programming concepts without the need to touch type.  All important coding concepts are available with a “drag and drop” interface and the tool is powerful enough for adults to learn coding as well.  For children 6-9 years old, Penguin Coding School has a full year curriculum of over 32 weekly classes that combine to teach every aspect of coding from variables and functions to loops and conditionals in a fun, creative and engaging way.  Scratch allows beginners as young as 6 years old to build and code their very own animated adventures and games.

 

Minecraft Coding Classes

Minecraft is a very popular game played by children around the world.  Children are able to create everything from small houses to castles to entire worlds using the basic Minecraft building blocks.  Minecraft released a version of their software called the Education Edition that allows children to code programs that automate a lot of their creation and building tasks, much the same way that professional coders write scripts to automate tasks in an office or enterprise. 

Using the same drag and drop coding interface that was popularized by Scratch, coding classes based on Minecraft Education Edition allows lower elementary school kids as young as 6-8 to create powerful computer programs while they also play Minecraft.  Again the idea is that students learn the power of creating a game, instead of just playing a game.  

 

LEGO Robotics Classes 

LEGO Robotics is another avenue for kids to get into coding. While Scratch and Minecraft were strictly on screen, LEGO Robotics program allows the integration of hands-on creation of LEGO robots that then can be programmed with a “drag and drop” code interface (again based on the Scratch model. The seamless integration between hardware (robot) and software provides a visual and interactive learning experience. LEGO Robotics contain motion and control blocks much like Scratch and MInecraft, but the kids will be able to see their efforts realized in the real action of the robots as opposed to just one the screen. 

Difference Between Scratch vs. Minecraft vs LEGO Robotics

While all three options are great ways for lower elementary school aged kids to get into coding, there are important differences.  The best way to start kids coding is to find the most engaging platform for each child.  

Scratch classes are for children who prefer to begin with a blank canvas in order to build their very own game and animations. This allows children to be as creative as they want in creating a world, characters, music and sounds, and visuals. Scratch games can be as simple as a few blocks of code, to multiple pages of integrated code.  

Minecraft classes are ideal for children who don't prefer a blank canvas to work with, but like task-oriented activities such as building objects such as a castle or roller coaster tracks using Minecraft blocks. It is also a way for kids who at first may not be intrigued by coding itself, but the possibility of playing Minecraft at a more advanced level.  Soon the overall enthusiasm will translate to enthusiasm about coding in general, and will blossom into more advanced forms of coding. 

LEGO Robotics is for the hands-on personality.  Kids in this age group especially find the infinite possibilities of LEGO building to be fun in itself, and can't wait to combine it by building robots that can be programmed to do their bidding.  The same concepts learned in LEGO Robotics programming can easily be translated to other coding platforms.

As children progress in coding, they can move on to different classes, building up their skills and knowledge. Even if they don't go into a career in technology, learning to code provides many benefits that will carry children through life. 

Coding classes for upper elementary school children, aged 9 through 12, have a much different focus than the younger age group (link to the lower elementary school article). In this age group, there is less of a need to use graphics and games to motivate learning, and more about understanding how to use core coding concepts like variables and functions to create something they can proudly call their own.

This is also an interesting age group for two reasons. The first is that there is some overlap between lower elementary school 8 year olds, who are often ready for the next level, and the 9 and 10 year olds. Also note that, even though some kids move sequentially through the programs and get started early in their lives this isn’t a requirement. You can absolutely be a beginner in this age group in order to learn coding that is age appropriate. 

 

The two requirements for taking the upper elementary school level classes are:

1) Adequate typing skills 

2) Maturity to be able to focus and not give up easily

 

Typing skills can be gained through online typing games and tutorials.  This is an essential skill as correct spelling and punctuation is key to coding.  Focus and perseverance are important because coding is best learned through trial & error and students need to be able to handle some mental challenges during the class. 

If both requirements are met, regardless of age, here are the coding classes we would recommend to ages 9-12 year olds.  

 

Python 

Python is a great language to introduce to beginners. It is the first step to learning how to code on a more professional level. Penguin Coding School has many years of experience teaching Python to elementary school students.  We have learned that there are many skills that are best learned with repetition.  Just like learning a foreign language, many concepts don't stick with just one lesson or project.  

For this reason, Penguin Coding School has structured its Python curriculum into more than 15 levels, each level taking approximately 8 weekly classes to complete.  We start with the basics like variables, functions, loops and conditionals (if/then).  Then, the intermediate level classes fold in more advanced concepts like data structures (what to do with multiple items), string manipulation (how to deal with text) in with constant repetition of the four core concepts (variables, functions, loops and conditionals) in every lesson.  

The advanced classes cover object oriented programming, networks, algorithms, machine learning and building applications. Students can progress as slowly or as quickly as they are able. Each of our classes is structured into different coding concepts, with the teacher guiding each student through exercises and projects designed to teach them this concept.

 

Game Design: Roblox (Lua) or Javascript

Roblox (Lua) and Javascript game designing classes are ideal for beginner students who thrive with project-based learning.  Each class is designed to work on a 8-week long project that starts out with coding characters and players and gradually building out a full game.  The motivation to make a "really cool game" that they can share with their friends and family can get the normally reticent student to put effort into learning fairly sophisticated coding concepts. 

The classes are suitable for beginners and advanced students alike as the game can be as simple or complicated as the student likes. Because each lesson builds on the previous lesson, this enables students of all levels to make tangible progress. Students will also learn essential gaming tactics such as storytelling, characterization, and how to program “surprises” into the game.

Roblox is a globally popular online multiplayer game that many students are familiar with.  Roblox has a very sophisticated developer platform called Roblox Studio that allows for all kinds of customization using the programming language called Lua.  Lua is very similar to popular coding languages like Python, Java and Javascript and skills learned in Lua are very transferable to these other languages.  Students in our Roblox classes first learn the Roblox Studio platform and then learn how to program custom objects, players and even build games within the Roblox platform.

Javascript Game Design classes start with an empty HTML canvas, which is essentially an empty white web page.  From here, students will learn how to use their own graphics to build different types of web games in the 8 week semester.  Some games we design are: Flappy Bird, Platformer (like Mario Brothers), Space Invaders and RPG (role-playing game).  Students will dive into advanced coding concepts from the beginning, and will learn to use them as we repeat the same concepts in different games and situations.

 

Choosing Between Python and Game Design

Our upper elementary classes are largely divided between Python and Game Design using Roblox  or Javascript.  Python is the best language to learn coding step by step, concept by concept.  The syntax is relatively straightforward and less error prone so it is easier for beginner typers.  There are also many levels so students can learn Python for 2-3 years before moving onto more sophisticated languages and projects.  

Game Design with Roblox/Javascript are the best classes to take if you feel the student needs a strong project-oriented motivation to learn coding.  Roblox and Javascript give immediate visual support to their coding, which gives them a reason to become passionate about learning.  Their work can also be shared with their friends and family, which is also a good motivation.  Roblox and Javascript classes follow the principles of learning by doing, so students may not get a formal lesson in loops and conditionals, but will be using them throughout the semester in various contexts.  Many students will eventually learn how to use them on their own, as they understand by example, how each coding concept is utilized. 

The most important thing to remember is that students are having fun while learning at this age.  It is very easy to fall in the trap of trying to force kids to learn coding by rote memorization or exercises like in a math class.  While they may be able to parrot definitions and solve exercise problems, students will not develop the appreciation for learning on their own or being creative at building their own applications. On the other hand, you also don't want to sign your kids up for classes that simply have students copy and paste instructor's code.  While this may bring short term enjoyment of feeling like they are creating something on their own, lessons like these do not lead to understanding and true learning.

Next
Next

History of Penguin Coding Robotics Team