Scratch Resources

How do we introduce young people to programming, in an easy, fun, and interesting way? What is the best programming language for those first intoductory steps in programming? Scratch is one answer to these questions.

The Scratch programming language is created specifically to teach programming to children ages 8 to 16. Using Scratch is easy, and it introduces the basics of programming logic to children in a fun way.

What is Scratch?

Scratch is a free, visual programming language created by MIT Media Lab’s Lifelong Kindergarten Group for educational and entertainment purposes. It is a programming language and an online community where children can program and share interactive media such as stories, games, and animation with people from all over the world. As children create with Scratch, they learn to collaborate, reason systematically, and think creatively.

Scratch can be used for many educational and entertainment purposes. They range from math and science projects to animated stories to interactive art and music. Existing projects on the Scratch website can be viewed and modified without saving changes, even without user registration.

Scratch was launched in 2003 as a desktop-only release, and since 2013, Scratch 2 is available both online and as an application for Windows, OS X and Linux. The source code of Scratch 1.x is released under the GPLv2 license and Scratch Source Code License.

Scratch Features and Benefits

Early programming languages were too difficult to use because of their complicated syntax, and programming was usually introduced with activities and tasks that were not appealing to children, like creating lists of prime numbers or simple line drawings.

Scratch visual programming is based on a collection of graphical programming blocks that can be snapped together to create programs, a bit like Lego blocks. It is easy to start experimenting simply by tinkering with the blocks, snapping them together in different combinations and sequences. There is no traditional programming language syntax in Scratch. The dev team behind Scratch promotes three core design principles: make it more tinkerable, more meaningful, and more social than other programming languages.

Scratch projects can easily be uploaded to the Scratch website. Once a project is on the website, anyone can run it in their browser, comment on it, vote for it or download it to view and revise the scripts.

Scratch is available in more than 40 languages, and is used in more than 150 different countries.

Getting Started with Scratch

If you would like to give Scratch a try, it is very easy. Just open the Scratch web site, click on the Create link, and there you go. The Program editor is ready for use, without user registration. Clicking the globe icon in the toolbar, you can select your desired language and start experimenting with Scratch.

Installing Scratch on Your Computer

You can easily install Scratch 2 Offline Editor to work in Scratch without an internet connection. You can find the download at the Scratch web site. Scratch 2 Offline Editor requires Adobe AIR to run, so check if you are running the latest version of it on your computer.

Scratch 2 Offline Editor is available for Windows, Mac OS, and Linux operating systems.

Scratch User Interface

The upper left area of the screen is the stage area that displays the results. The stage uses x and y coordinates with 0;0 being the stage center. The bottom left area, below the stage, displays the Sprites available in the project. Sprites are active graphic objects in Scratch. Users can draw their own Sprite manually in the provided editor, choose a Sprite from the Scratch library, or import a picture from a camera or clip art.

When a Sprite is selected in the bottom left area, blocks of commands can be applied to it by dragging them from the Blocks Palette onto the right area of the screen.

Clicking the globe icon in the toolbar, you can select your desired language. Also, clicking the question mark on the panel to the far right opens the help section with step-by-step tutorials, "how to" section, and Blocks reference. These tutorials will get you programming in Scratch in no time, so be sure to go through them.

Scratch Resources

Since Scratch is widely used in schools and education, you should have no trouble finding Scratch learning resources online. The best place to start learning is to go through the tutorials included with Scratch.

The official Scratch website features many uploaded projects that you can run and tweak, you can check out how they work, and modify them — remix them.

On the other hand, you can find interesting Scratch lessons and learning courses tailored for children online, which can be useful if you are an educator.

Free Online Courses

Free online courses are a good way to get a real-life feel for how Scratch performs and what it can do, but you should really go through the included tutorials first. These included tutorials are an excellent starting point to understanding Scratch programming. There are not that many Scratch interactive courses available, because of the simplicity and ease of use of Scratch, it is mostly self-explanatory.

Additional Resources

Most of the additional resources for Scratch are available from the Scratch website and from the Scratch Wiki. ScratchEd is an online community of Scratch educators with many useful resources.

If you are ready to start using Scratch and you need additional useful resources, please check out some of the following:

Of course, there are many other Scratch resources online, so finding what you need should not be a problem.


Scratch is a great system for getting young people interested in and learning about programming. Use the resources we've discussed here to get the young people you know started in the world of computer programming.