Scratch Lets Your Kid Learn Coding Online, for Free! Here’s How.

Scratch: Coding for Kids
Share this post:
Facebooktwittergoogle_plusredditpinterest

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.
The main Scratch window contains the Stage, the Sprites Window, the Block Palette, and the Scripts Area.

The main Scratch window contains the Stage, the Sprites Window, the Block Palette, and the Scripts Area.

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.

Among other things, Scratch lets kids create simple animations using computer code.

Among other things, Scratch lets kids create simple animations using computer code.

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.
scratch-script

Despite its simple interface, Scratch lets kids create quite complex computer programs and learn many fundamental coding concepts.

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.

The starter projects on the Scratch website are a great way to get going quickly and learn good coding techniques.

The starter projects on the Scratch website are a great way to get going quickly and learn good coding techniques.

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:

shaun-the-sheep

Shaun the Sheep’s Game Academy teaches kids how to write complete video games using Scratch.

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.
  • Tynker offers a range of online programming courses for kids. Students start by using a Scratch-like interface with draggable blocks, and move onto real-world programming using JavaScript code. There’s also a great, free iPad and Android app that helps kids learn to program by solving puzzles and building simple games.
  • 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.

Happy learning!

Get Free Updates

Enjoyed this article? Get the latest news and great ideas on technology, kids, and learning sent straight to your inbox!

9 comments on “Scratch Lets Your Kid Learn Coding Online, for Free! Here’s How.
  1. John Allen Whitlock says:

    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.

    • Matt Doyle says:

      Thank you for your comment John – I’m glad you found the article helpful! Good luck with the teaching. 🙂

  2. Marc says:

    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.

  3. Eugene says:

    I made https://www.scriptacademy.net/ to make programming more fun for my daughter. Do you think text-based languages like JavaScript are too hard for kids to use?

    • Matt Doyle says:

      I think they’re fine for older kids, although I’d probably go with Python or Swift rather than JavaScript. It’s nice that JS is browser-based of course.

  4. Shiela says:

    New to teaching social science in middle school and know this is a tool I need in box. Thank you.

  5. Dan Hubing says:

    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?
    Dan

Leave a Reply

Your email address will not be published. Required fields are marked *

*