Snap! Block-based Coding

The Snap! block-based programming language will be familiar to students who have previously worked in Scratch.  Snap! builds on Scratch with several advanced features.   Students learn basic programming concepts by building animations, games, stories, simulations, and more.

Some of the advanced features include:

  • Anonymous functions
  • Expanded types of lists/arrays
  • Hyperblocks
  • Nestable sprites
  • Codification for customizable blocks in other programming languages

There is an extensive reference manual and many example projects that students can remix and build upon.  Student can save projects to a Snap! Cloud account of their own or to the teacher’s Cloud account.


Grasshopper Coding App for Javascript

The Grasshopper coding app is a great way to introduce kids – and adults – to basic coding concepts and how to code in Javascript.  You can download a version for your iPhone/iPad or for your Android device.

You learn each coding concept through an example, followed by a coding activity to apply it. and a quick quiz question to double-check your understanding.  Each concept builds on the previous one, so students get repeated practice.

The fundamental concepts in this tutorial app include functions, variables, loops, conditional statements (if/else), arrays, operators, and objects.   Kids also learn to code animations using an animation library of code and the fundamental concepts they have learned. The coder will then be able to build their own interactive animations.

For students who already have some basic computer programming knowledge, you can take a quiz at the beginning.  If you pass, you can jump right into some Javascript activities to apply what you already know.

The app requires login with a Google account to save your progress, but you do not need to login to start using the app.  Once logged in, the coder receives award points as they progress through the lessons.

Coding: Khan Academy Computer Science

Learn the coding languages of the web – HTML, CSS, Javascript and SQL databases – with Khan Academy’s self-paced lessons. The tutorials begin with introductions to each of these four languages, then combine them in advanced lessons.

In the process, kids learn fundamental programming concepts as they code. Some of these concepts are: variables, strings, functions, conditional if statements, loops, arrays, object oriented programming, and debugging.

Each lesson consists of a video walkthrough of the coding concept, followed by a coding challenge for the student. Kids are offered helpful hints during their coding exercises, as well as “oh noes!” when things aren’t quite coded correctly. As kids successfully complete challenges, they earn points.

Additional assistance is offered below each exercise via Q&A forums for many exercises and documentation on the syntax for the concepts being taught. Kids can also view coding spinoffs created by other students, and they can make their own spinoffs. They also have the opportunity to share or embed their code in other websites.

Computer Programming on Khan Academy is part of Computing section of the site. Other topics kids can learn in Computing include algorithms, how computers work, how the Internet works, cryptography. and Hour of Code activities.

To save their progress, kids can register and login to use this free site. Parents and teachers can also monitor student progress when they register with the student. Be sure to check out all of the wonderful resources for learning just about any K-12 subject on Khan Academy.

Swift Playgrounds App

If you want to code your own iPad and iPhone apps, this programming app designed for middle and high school students, is a great starting point. You don’t need any programming know-how to start coding. The Swift Playgrounds app teaches you how.

Kids first use code to solve a series of puzzles. After they understand the basics, they take on more complex coding challenges.

If you want to use Swift Playgrounds in the classroom, the app has two free associated Teachers Guides available from Apple Education:

LEGO Fix the Factory App

Kids in grades 3-8 learn early coding skills while they move a robot around a factory maze. They program the robot to pick up battery packs and place them in their correct locations in this app for iPhone/iPad and Android devices.

There are 24 levels. You must complete a level to unlock the next one. Kids earn points and stars based on four criteria at each level:

  • The amount of time it takes to succesfully complete
  • The number of moves
  • The number of attempts required
  • The number of errors in the code

There are helpful visual clues to show kids each step of the code as it’s being executed. And when the robot fails because of an error, a big X marks the spot in the code where the failure occurred. But there are no hints on how to fix it.

The “code” is symbol-based controls of the robot’s movements. So it’s a good option for kids with reading difficulties or those with limited English skills.

The graphics and sound effects are engaging. The robot can be entertaining. He taps his foot or brushes his hair back when he’s programmed to wait in certain steps on a level.

The game is easy for the first few levels. But it quickly becomes more challenging, and more potentially frustrating for younger children. Because of this, it is best suited to kids like the challenge of solving complex puzzles.

Alternatives to Fix the Factory app

If your child or student is really frustrated with this app, here are a few suggestion for other symbol-based coding games.

Lightbot: Code Hour is another multi-level game in which kids also move a robot around a maze. You program the Lighbot to light up specific squares in the maze. The app also introduces kids to another programming concept – procedures. Procedures, or functions, are bits of code that can be called by other code for repeated steps. So kids learn how to make their code more efficient – that is, use the fewest lines of code needed to complete the task.

Lighbot is available online as well as for mobile devices. It’s free for all devices except the Kindle Fire.

Another good option is the ScratchJr app. It’s designed for younger children, grades K-2. Kids pick from four activities that make use of symbol-based coding. Kids have more choices than in the other coding games. They choose a background and characters. They can also design their own story or game, independent of the listed activities.

The ScratchJr website provides guidance for teachers using it in a classroom setting. It is free for all devices.