Access to affordable technology is driving a revolution in how teachers teach and students learn. One of the trends in recent years is teaching computer programming to younger students, i.e. coding for kids. It can be fascinating to see how younger students interact with laptops, tablets and cell phones. They’ve grown up in this new digital age and absorb things from their surroundings very quickly.  If you notice, you’ll see that kids always try to create or build something new. This is evident in the huge success of Lego products or Minecraft.  Making a house out of Legos or building an app / game involves the same logic that is used for coding.  Understanding how to write code involves creativity, critical thinking and problem solving. Additionally, learning skills like the development of simple websites and games help the kids to increase their problem solving skills along with their visual design skills.

Sites like the ones below take a block approach to programming. Concepts are broken down into small chucks that are easy to digest. It allows the children to learn individual ideas first then encourages students to solve problems by making connections between singular skills.  Listed below are the top 5 websites that are great for introducing coding to students in grades K-8.

Codecademy (http://codecademy.com)

Codecademy is easily the most popular website that teaches anyone programming with the help of a user-friendly interface and a wide variety of coding languages to learn. This free resource aims to teach a range of skills roughly 30 minutes at a time.  The downside to this site is that it is not ideal for younger students.  The lessons are not taught with games, but with a more traditional approach better suited for students in grade 4+.

Scratch (https://scratch.mit.edu)

This site was designed and maintained by MIT students. It was made especially for children ages 8 to 16. It is easy programming language that enables the kids to create just about anything they like.  Scratch uses block coding that allow students to snap pieces of code together like a puzzle. Its filled with examples and support an active online community of Scratch programmers.  Younger coders should check out Scratch Jr. Its got a similar model, but its geared toward students ages 5-7.

The Foos (http://thefoos.com)

Learning can be so much fun with the Foos. It is a kid  friendly way to learn coding lessons.  Students learn concepts through three different games that a similar to games they might play at home.  Like Scratch above, it uses a bloxck coding style.  Kids put the blocks of code in the correct order to complete a task such as grabbing a coin or dodging a bad guy. The “pick up and play” element of the game makes it more powerful and appealing to the younger learners. Awesome site for students in K-3.

Lightbot (http://lightbot.com/)

Lightbot is great fun for kids and does a really good job by introducing some complex principles of programming. It provides an easy way for kids to learn concepts like loops, if-then statements, without typing or coding. This develops the baseline set of skills needed to proceed into more advanced ideas.  Lightbot is available on iPad, Windows and Android devices.  Lightbot Jr, gear toward students ages 4-8, is only available on iPad and Android devices.

CheckIO (http://checkio.org/)

CheckIO is a unique way to learn coding.  Its an online game where you complete coding challenges to progress.  The site includes a discussion board for each activity to help students that are struggling to complete a lesson.  The really amazing feature though is that you are not required to complete the lesson in a set way.  You just need to write the code to solve the problem.  This one is not as entry level as the others, but it a fantastic second step in the education process.

UPDATES:

Thanks to Jake Miller () for these additional resources

CodeMonkey (https://www.playcodemonkey.com/)

This site is perfect for students of all ages who are interested in coding.  This game based model has the student write actual lines of code, instead of dragging and dropping blocks of code like others on this list.   The lessons are “bite sized” and cover quite a wide variety of coding concepts.  In the future, the site hopes to allow those kids who have mastered the content to create new challenges for u and coming learners!

HopScotch (https://www.gethopscotch.com/)

In this iOS only app, students learn how to create their own variations of popular games such as Flappy Bird or Geometry Dash.  There are also 40 challenges for learners to complete once they’ve gotten through the basics. Hopscotch is block based (dragging and dropping code “blocks”), but still does a fantastic job explaining concepts. Warning, Hopscotch can get a bit addicting, but its worth it!

If these don’t suite you needs, check out these sites for more options: Code.org, Alice, Kodu, Move the Turtle, Teaching Kids Programming, Daisy the Dinosaur, Hakitzu Elite: Robot Hackers, Rasbeery- Pi, MIT App Inventor, etc.

Did we miss one?  Let us know in the comments below.