You might have heard of Scratch. It’s a long-running online project that helps kids and teens learn how to code. Scratch is free, it runs in your browser, and it provides a fantastic introduction to the world of computer programming for kids and adults alike.
If your child is interested in learning to code then Scratch is an excellent place to begin.
Want to know how to help your kid get started with Scratch? Read on to find out!
What is Scratch?
Scratch is a simple programming environment designed for kids aged 8 to 16. Instead of typing lines of text, as you do with traditional coding, you drag coloured blocks and join them together to build programs.
When you first open Scratch, the main window contains the following sections:
- The Stage. This is the large white rectangle in the top-left corner where all the animation happens. To start your program running, you click the green flag button.
- The Sprites Window. This sits below the Stage, and it contains the list of sprites (animated images) that you’re using in your current project.
- The Block Palette. This section is in the middle of the Scratch window, and it contains all the programming blocks that you can use in your programs. They’re organised into categories, including Motion, Looks, Sound, and so on.
- The Scripts Area. This is the large rectangle on the right-hand side, and it contains your scripts (computer programs). You drag blocks from the Block Palette into the Scripts Area to build your scripts.
Once you’ve created a Scratch project, you can download it to your computer as a file. You can upload the file again later if you want to continue working on your project.
Scratch runs entirely in a web browser, which means you can run it from almost any desktop computer. However, you do need to have the Flash plugin installed. That rules out using Scratch on most tablets, but if you have an iPad then check out ScratchJr, a cut-down version of Scratch that runs as an iPad app.
What can my kid do with Scratch?
Although it uses a fairly simple programming language, Scratch lets your child create a pretty big range of projects, from computer-generated art and animated cartoons through to quizzes, puzzles and simple arcade games.
It must be said from the start that your kid isn’t going to create the next Minecraft or Angry Birds using Scratch — it’s simply not powerful enough.
That’s not really the point, though. Unlike traditional programming — where it can take days of coding just to get something to move around onscreen — Scratch lets you create animated graphics and sound in a few minutes, just by dragging blocks around. This means that kids can see pretty good results almost instantly, which then pushes them forward to develop their coding skills further.
What can kids learn from Scratch?
As your kid plays with Scratch and starts creating simple programs, they’ll develop a range of coding and problem-solving skills that will help them when they later move onto real-world programming. These include:
- Manipulating variables — chunks of computer memory — to store and retrieve data.
- Using operators to manipulate data. These include arithmetic operators (plus, minus, multiply, divide), as well as comparison operators (less than, equal to, greater than), logic operators (and, or, not), the concatenation operator (for joining strings together), and trigonometry (sine, cosine, tangent and so on).
- Understanding control flow: the way that computers move through each step in a program.
- Altering control flow with conditional statements and loops.
- Creating reusable chunks of code, known in Scratch as custom blocks. (In programming-speak they’re known as procedures or subroutines.)
- Event handling: writing code that responds to events, such as key presses and mouse clicks.
- Detecting and responding to real-world input, including the mouse position, the loudness of the sounds picked up by the computer’s microphone, and even movement picked up by the webcam!
- Simple multimedia programming, including drawing, animation and sound.
There are many differences between coding in Scratch and programming in a “grown-up” language such as C or Swift. Real-world programming is less about dragging and dropping, and more about working with chunks of text. In addition, real-world languages and platforms are a lot more complex to work with than Scratch, since you can do a lot more things with them.
That said, kids can still learn the fundamental concepts of programming and logical thinking from Scratch. This makes it that much easier for them to graduate to real-world languages later on.
How can my kid get started with Scratch?
To begin using Scratch, just head over to the Scratch website. A good place to start learning is the Getting Started with Scratch tutorial, which teaches you the basics of dragging blocks together to create scripts. You can also download this tutorial as a PDF from the Help page (it’s called the Getting Started Guide).
Once you’ve mastered the basics of putting together scripts, try working through these video tutorials to learn some animation techniques, find out how to build simple games, and discover how to create your own graphics.
There are also some excellent starter projects created by the Scratch team. These give you good starting points from which to build your animations, games or artwork, and they teach lots of useful coding techniques too.
Another good way to learn coding skills is simply to explore the projects that other people have made with Scratch. After you’ve played with a project, click the See Inside button to open up the project editor and see how it was made. You can even make changes to the project and re-share it on the Scratch website (known as remixing).
There are also tons of great resources available to help your kid learn Scratch. Here are some of the best:
- Super Scratch Programming Adventure! is a friendly, approachable book that helps kids learn the basics of Scratch as they create simple video games.
- Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math is another great Scratch book. It’s targeted more at older kids and adults, and is a solid guide to more advanced Scratch programming, with tons of great examples.
- Game Development and Coding for Children is an online course that walks kids through the process of creating five simple Scratch games, learning tons of programming techniques as they go.
- Shaun the Sheep’s Game Academy has some really lovely online Scratch tutorials that let kids build cool games using characters from the popular British animated TV series.
Other ways for kids to learn coding
Scratch is awesome, but there are absolutely tons of other tools that kids can use to learn coding skills. Here is a small selection of the best ones:
- Hopscotch is a fun, free iPad app that is similar to Scratch in many ways, but is more suited to younger kids. Read more about Hopscotch and try a simple tutorial.
- Dash and Dot are a pair of cute programmable robots that are great fun for kids aged 5 and up. They come with a range of iPad and Android apps for controlling and programming the robots, including Blockly, which gives kids a Scratch-like programming environment.
- Kano is a fantastic kit that lets any child put together a complete, great-looking computer really easily. Once they’ve built their own computer, your kid can program it to create all sorts of amazing projects, from simple games like Pong and Snake through to custom Minecraft games and even a wireless server. Great stuff!
Kano lets kids build their own computer and program it!
There has never been a better time for kids to learn programming. Starting with Scratch, then moving on to a range of amazing tablet apps and build-it-yourself computer hardware, your child can learn coding in all sorts of fun, exciting ways.
This so exciting!! Being considered for part-time teaching by a school that specializes in teaching young kids to code and they are using Scratch. They are interested in my possibly coming on-board and helping them to expand there technology training and offerings to their students. Looks like you have lots of helpful information, like Tynker and Kano, that could prove to be invaluable to me in that effort.
Thank you for your comment John – I’m glad you found the article helpful! Good luck with the teaching. 🙂
Thanks for the articles. I’m a grown up with interest in coding and I find this less intimidating to say the least. I will definitely start learning to coding today.
You’re welcome, Marc. Scratch is a great place to start!
New to teaching social science in middle school and know this is a tool I need in box. Thank you.
You’re welcome Shiela 🙂
I’m teaching coding at my local Boys and Girls Club, but since there may be different kids at the classes, I created 1/2 hour projects. Anyone interested in them?
I have signed up but cannot see how to sign in and start learning to code online?
Can you help me plz
Scratch just makes learning fun for kids and since kids get easily bored. It’s an interesting way to spark their enthusiasm for learning how to code. And you have shared some great information, must say, it was a good read. Thanks for sharing!