Scratch That Itch for Young Developers

Because Scratch is mainly oriented toward young people, it is particularly interesting to educators and parents who want to introduce students to programming concepts without requiring complex coding or complicated interfaces. Homeschool environments are also a great use case. Don’t be fooled by Scratch’s cartoonish interface or simple project prompts. It provides guidance and concepts that can lead young Scratchers into the fascinating world of application development, setting them up for success with languages like Python, Swift and more.
This article explains Scratch to adults who are setting up an environment for younger users. It describes tools, shows system configuration options and suggests basic projects.
What is Scratch?
The best way to understand Scratch is not to think of it as a programming language. Instead, consider it to be an interface or platform. It provides blocks of functionality that users can drag into position. The combination of blocks generates an application. The underlying code base is called Blockly. Blockly is a block-based coding language oriented on real-world applications. You can easily translate Blockly projects into languages such as Python, Lua, JavaScript and others.
The other important concept is that Scratch is a community. Tutorials, ideas and support options are available within the community, making learning a shared experience. Young programmers can share their projects with others and build on each other’s ideas.
This visual interface is simple and intuitive, inviting several skills, including:
- Computational thinking
- Creativity
- Self-expression
- Problem-solving
These are valuable skills for any young programmers who may someday become professional developers. However, they are also essential skills for any young person to possess.
Scratch’s primary interface is web-based. You’ll manage projects and interact with the community using this option. Note that there is a downloadable app for unconnected computers or those who wish to avoid the community aspects of Scratch.
Those who use the Scratch programming language are called “Scratchers,” and their projects are referred to as “Scratches.”
Set Up Your System
Scratch does not require much in the way of system configuration. Most users participate in the Scratch community and use the browser-based development environment. All you really have to do is ensure you’re using an up-to-date browser. And while the article assumes you’re using macOS, you could certainly be on a Linux or Windows system.
If you’ve read my other articles on Python, Go, Rust and Swift, you know I usually recommend several additional applications, code editors and integrated design environments (IDEs). You won’t need all that for Scratch.
You could use a virtual machine rather than your primary operating system, though that’s probably overkill for Scratch projects.
Configure your Mac’s settings to ensure easy access to programs and a comfortable user interface. Kids might appreciate larger fonts and lower resolutions to make seeing and working with Scratch elements easier.
Don’t expect to install a lot of extra components. While utilities like the iTerm2 terminal interface and the Git version control tool are handy for most dev projects, you won’t need anything like that to get started with Scratch. You also don’t need Apple’s Xcode integrated design environment (IDE).
Homebrew
Working with Scratch requires very little extra software, if any. The Homebrew package manager is always a useful utility, so you could go ahead and install it on your Mac. You’ll use it for far more than just Scratch projects.
Homebrew enables access to software that is not available on Apple’s App Store. It also handles software dependencies elegantly.
You can install Homebrew with a single command:
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
Homebrew isn’t necessary for Scratch, but it’s handy.
Join the Scratch Community
Begin working with Scratch by creating a community account. The process only takes a couple of minutes. The community guidelines are easily understood by young people, so I suggest involving your kid in the process if you’re making an account on their behalf.
Account creation process:
- Open the Scratch homepage and select the Join Scratch link in the menu bar at the top of the screen.
- Create a unique username and password. This name will be visible to the community. Note that the Scratch team recommends not using your real name.
- Next, select your country, birth year and gender, enter an email address, and complete an image recognition prompt.
- Finally, review the community guidelines.
Scratch will email you a confirmation message.


You can log in from the same website whenever necessary.
Exploring the site before beginning a project or tutorial is a good idea. You can see what others have created, read up on Scratch news and learn more about creating projects.

Getting Help
The Scratch team provides two primary forms of support. The first is a discussion forum and the second is a wiki.
The discussion forum consists of various sites covering basic Scratch principles and techniques, “show and tell,” project ideas, feature requests and more.
The Scratch wiki provides basic answers. It should be your first stop when you run into issues.
Scratch Offline Editor and Advanced Tools
Some school settings or other environments may prefer students to work without an Internet connection. No problem! Scratch has you covered with a downloadable app for macOS, ChromeOS, Windows 10+ or Android. The app is free, of course.

Older Scratchers and those seeking to create more advanced programs might benefit from the Gandi IDE. It is an in-browser IDE that extends Scratch’s potential. It also adds a game engine to increase performance. The Gandi IDE retains the drag-and-drop interface already familiar to Scratch users, so it’s easy to learn.

Features:
- Library of sprites, sound effects and other additions.
- Code snippets.
- Share your own development assets with others.

With Scratch’s emphasis on community, you might find it helpful to enable collaborative Scratching. Consider the Blocklive Chrome Extension, which syncs Scratch projects in real-time, making collaboration within a homeschool setting, classroom or across the world possible. Many developers using more powerful languages work on projects collaboratively, so this is certainly a realistic option. Check out the Blocklive homepage for more details.
First Projects
Rather than dive into Scratch with no real plan in mind, consider using the site’s basic prompts for starter projects. These projects teach fundamental concepts in an organized way so that creators have the tools they need to implement their own projects down the road.

Select the Ideas link from the menu at the top of the Scratch homepage to access various tutorials and coding cards. Consider using the YouTube channel as a learning tool, too.

Wrap Up
Scratch is of interest to parents, educators and those interested in fundamental programming concepts. Its goal is to teach new programmers how to think like a developer and use developer tools, leading to greater success with more robust languages, like Python. It’s a great parallel to other similar projects, such as the Raspberry Pi. (Find more information on Raspberry Pi here.)
No setup is required to work with Scratch; you just need an up-to-date web browser. Don’t forget to access the tutorials, YouTube channel and first projects prompts to get started. And plenty of advanced and collaborative resources are available once Scratchers gain more experience.
Finally, consider donating to the Scratch project if you find the program inspirational or helpful. These donations go a long way toward keeping educational programs like this one going.
Start using Scratch today by creating an account and selecting a new project. You’ll be surprised at the combination of fun and learning the community provides.