As computers and digital devices become commonplace, computer programming is becoming an increasingly useful skill for kids to learn. Many schools are now teaching coding skills as part of their curriculum, even with students as young as five or six. Some educators such as MIT’s Mitchel Resnick go as far as to say that coding is the new literacy — as important to a child’s education as reading and writing skills.
The great news is that, thanks to modern technologies such as the iPad, young kids can pick up coding skills even before they can read and write. This is exactly what ScratchJr is designed for. In this article you’ll get a quick review of ScratchJr, find out what your kid can do with it, and discover which coding skills your kid will learn while using ScratchJr. You’ll also look at some other great apps and websites that your kid can use to learn coding.
What is ScratchJr?
ScratchJr is a new, free iPad app that lets kids create interactive animations, stories and basic games using simple computer programming. To use ScratchJr, you add characters to a stage, then give each character a set of instructions — in other words, a simple computer program — that tells the character how to move, jump, make sounds, and so on.
With traditional programming, you create computer programs by typing instructions into a text document. In ScratchJr, you create computer programs simply by dragging coloured programming blocks around. This means that ScratchJr is easy for anyone to use, especially kids who aren’t yet proficient with reading and typing.
ScratchJr is based on the popular Scratch website, which is also designed to teach kids (and indeed grown-ups) computer programming skills in a fun, easily accessible way. Scratch and ScratchJr are similar in many ways, but there are some key differences:
- ScratchJr is not as powerful as Scratch. ScratchJr has a much smaller “palette” of programming blocks to play with. For example, in Scratch there are blocks that let you draw shapes, play musical notes, work with data, make decisions, prompt the user to type something, and lots more. In ScratchJr you’re limited mainly to blocks for movement, changing size, fading in and out, playing a recorded sound, and simple looping (repetition).
- ScratchJr has fewer creative options. The Scratch website lets you create several different “costumes” (animation frames) for a character (known as a sprite in Scratch); lets you apply effects to sounds, such as fading out; and offers more powerful and precise drawing tools. ScratchJr, by contrast, offers a more modest set of creative options.
- ScratchJr is designed for a younger age range. Whereas Scratch is aimed at the eight-plus age range, ScratchJr focuses on the five-to-seven age group. That said, my four-year-old daughter loves playing with it, and I’m sure a nine-year-old would enjoy it too.
- ScratchJr works on an iPad. Possibly the best thing about ScratchJr is that it runs on the iPad, which means your kid can create computer programs anywhere! (The Scratch website uses Flash, so it only works on desktop browsers.)
ScratchJr is easier to pick up and use than Scratch, partly because it is simpler, and partly due to its kid-friendly touchscreen interface. The graphics that come with the app are really nice, the user interface is intuitive, and the whole app has a fun, welcoming feel that makes it a pleasure to use.
What can kids do with ScratchJr?
Kids can use ScratchJr to create all sorts of fun animated stories and games. The basic idea is that you create a project, pick a background stage, add one or more characters to the stage, then snap together various jigsaw-piece programming blocks to create a short computer program for each character, known as a programming script in ScratchJr.
Each character can have several different scripts, triggered by different actions such as tapping the character; tapping the project’s green “start” flag; or bumping into another character. In this way, you can build up quite a complex scene of interacting animated characters.
Available backgrounds include parks, cities, sports fields, beach scenes, forests and space scenes. You can also draw your own background using the built-in drawing tools, as well as take a picture with the iPad’s camera and use it as part of a background.
There’s a large library of characters to choose from too, including animals, people, vehicles, plants and inanimate objects. As with backgrounds, you can also draw new characters, as well as incorporate photos taken with the iPad’s camera.
You can also create several different pages within a project, each with its own background and characters. This allows you to create a story that comprises various different scenes. ScratchJr also lets you add text anywhere on each page, which is great for adding titles or a storyline.
As to the programming blocks themselves, there are nearly 30 different blocks available for your kid to play with, broken down into six categories, as follows:
- Yellow triggering blocks are always placed at the start of a character’s programming script. They specify the action or event that will start the script running, such as the user tapping the green “start” flag, the user tapping the character, the character being touched by another character, or a message being sent. There’s also a block that sends a message. (Messages let your characters interact with each other, without having to touch each other.)
- Blue motion blocks can make the character move up, down, left or right; rotate the character; hop up and down; or return to the character’s starting position.
- Purple looks blocks alter the way a character looks. There are blocks to display a speech bubble containing text; grow or shrink the character; and fade the character in or out.
- Green sound blocks let the character make sounds. You can choose from the default “pop” sound, or record your own sounds using the iPad’s microphone.
- Orange control blocks let you pause the script for a certain amount of time; stop all scripts for the current character; change the speed of certain blocks, such as motion blocks; and repeat a set of blocks a certain number of times.
- Finally, red end blocks are placed at the end of the script. You can choose simply to let the script end, you can make the script repeat forever, or you can change to a different page in the project, allowing you to build up a series of different scenes in your story.
If your kid gets stuck at any point, ScratchJr has an excellent help system. On ScratchJr’s home screen, you can tap the question mark icon to access a short intro video which neatly covers the app’s main features, as well as choose from eight sample projects that show how ScratchJr works.
In addition, you can tap the top-right book icon on the home screen to access a brief introduction to ScratchJr, handy guides to the main interface and paint editor interface, and a very useful Blocks Guide that describes each of the programming blocks available in ScratchJr.
What will my kid learn with ScratchJr?
We’ve said that ScratchJr can teach coding skills, but what exactly can your kid learn while using the app? Some of the key programming concepts that ScratchJr teaches include:
- Sequential execution. By default, the programming blocks in a character’s script run one after the other. The leftmost block of the script runs first, followed by the next block to the right of that block, and so on. This is exactly how real computer programs work; instructions are run sequentially, one after the other.
- Looping. ScratchJr includes two ways to repeat programming blocks: the Repeat block repeats a set of blocks a specified number of times, while the Repeat Forever block repeats a script over and over. These two constructs are known as loops, and they are an important fundamental aspect of “real” computer programming.
- Events. The triggering blocks that respond to interactions — such as the user tapping the green flag, or characters bumping into each other — are examples of what are known as events in programming-speak. Events are a crucial part of most modern programming languages; they allow apps and websites to respond to everything from the user pressing a key, moving the mouse or rotating the device through to plugging headphones into the device or connecting to a wi-fi network.
- Subroutines. Nearly all programming languages support the concept of subroutines, which are self-contained blocks of code that can be “called”, or triggered, by other blocks of code. Subroutines are fundamental to good programming practice, since they let the programmer break down a complex program into simpler, more manageable chunks. ScratchJr includes several subroutine-like features, including the ability to create lots of small scripts and join them together with triggers and messages.
- Object-oriented programming. In ScratchJr, you attach small computer programs to the characters on the stage. This is the basis for a well-known type of computer programming called object-oriented-programming, or OOP. In OOP terms, those characters would be called objects, and their programs would be called methods. OOP is widely used to write much of software you use today, from the Windows PC on your desk through to the iPhone in your pocket and the Minecraft game that your kid is probably playing right now!
- Debugging. Last — but my known means least — debugging is a critical skill that every programmer needs to learn well. “Debugging” means identifying bugs — programming errors — in your code, and tracking down their causes. As your kid tinkers with a character’s programming blocks to figure out why the character isn’t behaving as intended, they are subconsciously picking up and practising this valuable skill.
In short, while ScratchJr is very simple and easy to use, it provides a good grounding in some of the essential concepts that all computer programmers use all day, every day.
What else is out there for the iPad?
As well as ScratchJr, there are many other excellent iPad apps available to help your kid learn to code. These include:
- Hopscotch, another great iPad app that I wrote about recently. Hopscotch has fewer built-in characters than ScratchJr, and you can’t create your own characters or backgrounds (yet). However, when it comes to programming potential Hopscotch is a bit more powerful than ScratchJr, offering more precise movement blocks, the ability for characters to draw graphics, and simple variables for holding data. It also has a nice community element, allowing you to share your creations and follow other community members to see what they’ve made.
- Tynker is an iPad app designed for the 9-11 age range. As such, it’s more advanced than either ScratchJr or Hopscotch, being more akin to the Scratch website in terms of features and complexity. You can do some amazing things with Tynker, including writing fully interactive games. As well as creating your own projects, there are also puzzle games in which you have to solve the puzzle by programming the characters in the game. Almost like having two apps in one!
- Cargo-Bot is a simple iPad game that, like Tynker, lets your kid learn programming skills by solving puzzles. In this app, you need to write computer programs to move a robot claw in the right way to lift crates and carry out tasks. Strangely addictive for parents too!
- Lightbot is another iPad game in the “learn programming through solving puzzles” genre. In this game, you need to program a little robot to light up tiles in various levels of ever-increasing complexity. It’s fun to play, and along the way your kid will pick up programming concepts such as loops, conditionals and subroutines. There are two versions available: a standard version for ages 9-11, and a “junior” version for the six-to-eight age group.
I hope this article has given you a flavour of ScratchJr, and how your kid can use this great new app to learn coding skills. Coding is a really important skill to have these days, so if you haven’t already done so, I recommend downloading ScratchJr — and some of the other fantastic iPad apps mentioned above — and taking them for a spin with your kid!
Have fun, and thanks for reading. 🙂