Scratch programming is a simple language created by MIT labs. Scratch is free and can be accessed using a web browser or by downloading the app. Scratch is designed for children as an educational tool. Scratch coding is designed, developed, and moderated by the Scratch Foundation, a nonprofit organization.
What is Scratch?
Scratch is a free programming language developed by MIT that enables children to produce interactive narratives, animations, games, music, and visual art. Scratch allows users to create these projects and share them online. Scratch can be used in a web browser or downloaded to a mobile device.
Overview of Scratch
Let us understand everything about Scratch from the table below:
|Programming Language Type||Block Based Visual Programming Language|
|Founded by||MIT Media Lab|
|Age Group||Primarily for children between 8 to 16|
|Languages Supported||122 Languages*|
Scratch can be used in 40+ languages as of now. However, Scratch has planned to have more than 122 languages on its platform.
Scratch User Statistics
The graph below depicts the age group of Scratch users in April 2021:
The age group with the most registrations is 12, followed closely by 11 and then 13. So, if you are wondering if Scratch is right for you, there really is no age limit to getting started.
Benefits of Scratch Programming Language
Scratch is a widely-used programming language and is very often used as an introductory programming language for children. The key advantages of Scratch programming are explained below:
- Scratch programming offers simple visuals that are designed with kids in mind. The Scratch interface allows children to use drag and drop functionality for coding, which is not available in complex text-based programming.
- Scratch enables students to learn algorithms and logic building. Several research studies have shown that kids introduced to Scratch find it easier to understand advanced programming concepts in later years.
- It is an all-in-one development environment for coding, art, and sound that can be used to create games, stories, and animations.
- No compiler is required. Even incomplete erroneous code can be executed without causing any syntax errors.
- Scratch has a very large user community that is of great help to learners.
What is Scratch Editor?
The Scratch editor is the interface you use to build your games, animations, and stories in Scratch programming. When you first launch Scratch, it automatically launches the code editor. The scratch screen is divided into different sections as below.
Components of Scratch Editor
The components of Scratch editor are given below:
The Block Palette is the area on the left of the screen when the Code button is pressed. On the left, there is an area that contains the nine-block categories in Scratch. These blocks can be dragged into the Code Area to make scripts.
The Code Area is the large space to the right of the Block Palette. It is an area for storing blocks that run the project. Blocks can be dragged from the Block Palette into the Code Area and arranged to form scripts. Each sprite has its own script, and sprites can be selected using the Sprite Pane.
The stage is the area where the sprites are displayed and perform their actions. It is located at the top of the area to the right of the Scripts Area.
The Sprite Pane is located to the right of the Scripts Area and at the bottom of the stage. It allows one to quickly switch sprites and view the different scripts each sprite contains.
Menu Bar (Header)
To open new projects, edit existing projects, and save and share them with other Scratchers. The menu bar comprises:
- File menu
- Edit Menu
- Tutorials button
- Project Name
- Share button
- See Project Page
- My stuff
The default Scratch programming interface contains three tabs and two buttons:
- Code Tab: In Scratch programming, this section is used to access all the code blocks such as Motion blocks, Looks Blocks, Control Blocks, Operator Blocks, and so on.
- Costumes Tab: The costume tab opens up a costume editor. This is a place where you can make and modify sprites. Scratch has tonnes of in-built stripes and you can always import a new one from your drive or make something completely new.
- Sounds Tab: Sounds tab opens up a sound editor. This is a place where you can make and modify sounds. Scratch has tonnes of in-built sounds that can be used to make games and animations. You can always import something new from your drive or create something entirely new.
- Green Flag (Start Button): This is used to fire up the code and see the result on the preview panel.
- Red Dot (Stop Button): This is used to stop the code execution.
What Are the Building Components of Scratch?
In order to create Scratch projects, we will have to understand three building components of Scratch programming language. The three building components of Scratch are as follows:
- Coding Blocks
Let us understand the building components of Scratch programming to begin creating Scratch projects
Sprites in Scratch Programming
Sprites are the key objects (images) that are programmed in Scratch. Sprites can range from animals, people, objects, and things like sports, music, food, and fashion. Scratch has a rich library of inbuilt sprites which come attached with a set of code blocks. For example, a drum kit sprite can be used to play different levels of bass, high tom, and low tom.
You can also edit an existing sprite, import one from your drive, or make a new one using the costume editor.
Backdrops in Scratch Programming
Backdrops are creative backgrounds that you can use for your game or story. You can choose from an existing backdrop, paint a new one, or upload from an existing file on your computer or drive. When a backdrop is added to a scratch project, it appears on the stage.
Scratch has tonnes of in-built backdrops across categories such as fantasy, sports, outdoors, indoors, space, underwater, patterns and much more.
Code Blocks in Scratch Programming
Code blocks are used to perform actions on sprites in a game or story. Scratch provides code blocks such as motion blocks, which can be used to set a sprite into motion, or sound blocks, which can be used to add sound effects to a sprite, or event blocks, which are used to define when the code is run.
Code blocks can be used by dragging them into your project to create a script.
A collection of code blocks that interlock with each other to perform a certain action or story or game is called a script. Let us look at the coding blocks one by one:
1. Motion Blocks
These are used to move the sprite on the stage. Let us look a some of the popular motion blocks
Move steps block: this block is used to move the sprite by a finite number of steps
Turn degrees blocks: these are used to turn the sprite by a specified angle in a clockwise or anti-clockwise direction
Go to block: is used to move the sprite to a specific position on the stage
Glide secs to blocks: is used to move the sprite to a specific position using a gliding movement
If on edge, bounce block: This is one of the most popular motion blocks used in game design. If the sprite hits any of the edges on the stage it will bounce back onto the stage.
2. Looks Blocks
These are used to define how the sprite ad background will look. Let’s look at some of the popular looks blocks
Say & think blocks: Say blocks can be used to represent speech by sprites
Switch costume block: This is used to change the costume of a sprite. This block comes in very handy to denote the motion of a sprite such as a bird flapping its wings where each costume can be defined as a stage of motion in the bird’s flight
Change effect by block: This block is used to change the color, brightness, or pixelation of the sprite
3. Sound Blocks
These are used to add sound effects to a sprite e.g.
Play sound block: will play selected sound example a “magic spell” sound until done
Change pitch effect block: is used to change the pitch by specified points
Set volume to X% block: is used to set the sound effect volume to the desired level
4. Events Blocks
Events blocks are used to define the triggers when the script should run. All the other blocks will have no meaning till an event block is used to define when a script is to be run
Some examples of events and associated blocks are as below
When the green flag clicked block
When the X key is pressed block
When the backdrop switches to block
Broadcast message and wait for block
5. Control Blocks
These are the logic blocks of Scratch allowing power over when and how the script is run e.g.
Repeat block: is used to define that the code within the repeat block will run a specified number of times (10 times in the example below)
If then else block: This is a conditional block and is used to perform a certain action only if the required condition is met or else perform the alternative action defined under the else block
Wait until block: This is a pause block in Scratch programming. It can be used to pause code execution for a defined time period or until a certain condition is met
Sensing blocks: Sensing blocks are used in Scratch programming to identify and measure how different objects (sprites & colors) within a game or story are interacting with each other or to detect certain keyboard and mouse movements. For example:
Ask & wait for block: This block can be used to ask for input from the user such as the name and store this information. Later the stored information can be retrieved and displayed on the screen.
Touching color block: This block can be used to check if a sprite is touching the specified color. This is very useful in game development where actions can be defined if a collision occurs between two sprites
Distance to block: This block is used to calculate and report the distance in pixels between objects (sprites).
6. Operator Blocks
Operator blocks are used to Perform Arithmetic functions such as addition, subtraction, multiplication & division
Perform value comparison
Perform string operations such as joining two strings, calculating the length of a string, or identifying characters within a string
7. Variable Blocks
Variable blocks are used to make variables and set, change and report values of variables. Variables are temporary stores of value in a program. Let’s look at variable blocks
Set to block: This is used to set the initial value of a variable. This can be a numeric value or string
Change by block: This block is used to change the value of a variable by a specified value
Show variable block: This block can be used to show the variable on the stage
Hide variable block: This is the opposite of the show variable. It is used to hide the variable value from the stage
8. My Blocks
This feature is used to create new custom blocks (called procedures) which can be created using a combination of standard Scratch blocks. The custom procedures can be saved in Scratch and used directly in a script. This saves the time and effort of duplicating blocks of code if the same sequence of actions is to be performed multiple times within a script.
How to Get Started With Scratch?
To get started all you need to do is type in scratch.mit.edu in your web browser and create your Scratch account. The steps towards creating a Scratch account and login to Scratch website is as follows:
Creating Scratch Account
The steps to create your account on Scratch is as follows:
- Step 1: Visit the official website of Scratch – scratch.mit.edu.
- Step 2: On the homepage, click on the “Join Scratch” button.
- Step 3: Now create a username for yourself and set your password as per the specifications.
- Step 4: Click on the “Next” button.
- Step 5: Now in the next consecutive windows, enter your date of birth, the country where you live, gender, email id.
- Step 6: Click on the “Get started” button.
- Step 7: Check your email to confirm your account.
Once your email account is confirmed, then your scratch account is created.
Once you have created a Scratch account, the next step is to login to Scratch. The Scratch login steps are explained below:
- Step 1: Visit official site of Scratch – scratch.mit.edu.
- Step 2: Click on the Sign in button.
- Step 3: Enter your username and password.
- Step 4: Click on the “Sign in” button and your are logged into your Scratch account.
What Are the System Requirements for Scratch Programming?
Scratch is designed to run on most web browsers across desktops, laptops, and tablets. You can view projects on mobile phones, but currently, you are not able to create or edit projects on phones.
Below is the list of officially supported browsers as mentioned on the Scratch website
Desktop Requirements for Installing Scratch Programming
- Chrome (63+)
- Edge (15+)
- Firefox (57+)
- Safari (11+)
- Internet Explorer is NOT supported.
Tablet Requirements for Installing Scratch Programming
- Mobile Chrome (63+)
- Mobile Safari (11+)
What Are Scratch Projects?
Any experience, such as a story, a game, or an animation, is saved as a project in Scratch. Once you have set up your account, you can assess any of your saved projects.
There are multiple games that we can create on Scratch. Here are the top 10 games that you can create on Scratch.
Did you know?Projects can be shared publicly so that other Scratches can also enjoy the experience. You can provide instructions to other Scratches on how to experience the project and also provide notes and credits in case you are using or remixing the work of any other Scratcher.
Do check out our in-depth Scratch tutorials on how to make these games. Wiingy also provides online instructor-led certification programs in Scratch. Please book a call with our academic advisor here to know more about these programs.
How to Share Your Saved Projects?
Scratch allows Scratchers to share their saved project with other Scratchers. A key prerequisite is that the projects must be made in Scratch only and not on any Scratch modifications.
The steps to share a project are as follows
- Step 1: Go to the My Stuff page from the Scratch editor by clicking on the <> icon.
- Step 2: The My Stuff page will open with a list of projects. Select and click on the required project to be shared.
- Step 3: Add instructions for other users on how to experience your project (game/story/animation).
- Step 4: Include notes and credits about how you created your project, as well as if you borrowed ideas, scripts, or artwork from other users. It is always good practise to credit users whose work you have built upon.
- Step 5: Click on the “share” button on the orange bar above the project.
Voila!!! Your project is now available for the world to experience. A unique link is also auto-generated for the shared project, which you can copy and share with your friends. Scratch also generates an embed code which you can insert into your website to list the project on your website.
Note: Projects cannot be shared from the offline editor. A shared project is viewable to all Scratchers, even if they are not signed in. A shared project can be used by anyone to remix the project.
How to Delete Your Scratch Project/Game?
Steps to share a project are as follows:
- Step 1: Go to the My Stuff page from the Scratch editor by clicking on the <> icon
- Step 2: My Stuff page will open with a list of projects
- Step 3: Scroll down until you see the project/projects you want to Delete
- Step 4: If your project is shared it must be first unshared before deleting. Click on the “unshare” button next to the project then click “delete”
- Step 5: As with other software to permanently delete the project, go to “trash” and click on the “Empty Trash” button. You will be prompted to verify your account password to permanently delete the projects.
Note: You cannot recover the projects you have permanently deleted. Scratch recommends using Contact Us with an explanation if you want to recover a permanently deleted project as the Scratch Team can still recover it.
Limitations of Scratch Programming
The disadvantages or limitations of Scratch programming are:
- It does not offer a progression to text-based programming languages.
- Scratch programmers suffer from code smells, dead code, and duplication.
- As programmers become more experienced, they require code compilation, version control, and the ability to manage and reuse code, which is missing in Scratch.
- Scratch programming does not allow the creation of 3D experiences which are becoming increasingly common.
Though Scratch programming is a great fit for a primary school computing curriculum, it’s always best to challenge the more able students and provide something new to break up the monotony of using the same software for several years. Wiingy Studio is one of the best Scratch replacements. Wiingy Studio provides a user-friendly platform for kids to create traditional software projects but also connect and program robots based on leading global platforms such as micro:bit and arduino.
The Studio supports block-based and text-based programming languages. It is free to use and can be accessed using a simple web browser. Register for a Wiingy demo class here and enable your child’s education in game development, coding, and many more!
FAQs on Scratch Programming
The frequently asked questions on Scratch Programming are explained below:
What is scratch programming used for?
Scratch is a visual programming language that allows its users to create different kinds of projects, likes, games, animations, or stories. It helps users, especially children to understand the basics of coding and game development.
Can I download scratch programming?
Yes, the scratch application can be downloaded onto your desktop or laptop. It cannot be downloaded onto your phone though. For downloading onto your computer, go to scratch.mit.edu/download. Here you can see downloading options for different OS. Choose your OS and click on the links to download the application. After downloading you have to install the application. For this, go to your downloads and click on your scratch app download to run the application. Give all the required permission for the app to operate and your app to be installed.
What is the importance of scratch programming?
Learning scratch programming can nurture creativity in your child, develop their math skills through practical applications, enhance their logical and analytical thinking skills, and Will definitely help them learn how to code.
Is scratch real coding?
Scratch is the world’s largest coding community for children designed by MIT media labs. The programming language uses a simple visual interface that is easy to learn. Children can create different types of projects on this, like games, animations or stories, etc.
What is the recommended age for scratch programming?
Scratch programming is recommended for children above the age of 8. It is primarily designed for children but people of all ages enjoy it.
How to save your project/Game in scratch programming?
You Will need to sign up and log in on scratch to save your project online. Alternatively, you can save a copy of your scratch project locally on your computer. Just go to the file menu and select “download to your computer”
What is “my stuff” in scratch?
My stuff is the personal repository section on the scratch website where one can create, share, edit, unshare and delete projects and studios. My stuff section can only be viewed if one is signed in.
What are the system requirements to download Scratch?
The downloadable version of Scratch is called the Scratch app and requires
1. Windows 10+
2. macOS 10.13+
4. Android 6.0+
How to unshare a shared project?
Steps to unshare a shared project are as follows:
1. Go to the my stuff Page from the scratch editor by clicking on the <> icon.
2. The my stuff Page Will open with a list of projects.
3. Scroll down until you see the project/Projects you want to unshare.
4. Click on the “unshare” button next to the project that you want to unshare.
Note: The project is only unshared, not deleted, and can be shared again in the future.
What are the benefits of signing into a scratch account?
Scratch’s basic features, such as opening the editor, watching a tutorial, and creating a project, can be done without signing in to scratch. However, signing into a scratch account allows the user to access multiple features within scratch. Signed-up users can:
1. Share their projects on the scratch website
2. Use other features such as commenting, following, loving, and favoriting other shared projects.
3. Remix projects
4. Participate in the scratch forums
5. Personalize the user profile
Can scratch be used offline?
Scratch has an online downloadable version called the scratch app. The downloadable version is available for windows and Mac for use on laptops and desktops.
What can one make using Scratch programming?
Using Scratch code you can create interactive stories, games, and animations.
When was Scratch launched?
Scratch was launched on Jan 8, 2007.
What is the vision & mission of Scratch?
Vision to spread creative, caring, collaborative, equitable approaches to coding and learning around the world. Mission Providing young people with digital tools and opportunities to imagine, create, share, and learn.
Who are the primary users of Scratch?
Scratch programming is designed especially for ages 8 to 16 but is used by people of all ages. Millions of people are creating Scratch projects in a wide variety of settings, including homes, schools, museums, libraries, and community centers.
How large is the Scratch community?
As per Scratch’s annual report, 2020 15 million new users registered on Scratch in 2020 up 3.8% from 201980 million projects were created on Scratch in 2020 up 37% from 201929 million people were creating projects in 2020 up 44% from 2019Scratch is translated into 64 languages, 3 more languages added from 2019.
Who are Scratchers?
Scratch users popularly known as Scratchers and use Scratch to make animations, art, music, games, and stories.
Does Scratch provide free tutorials?
Scratch has over 25 free tutorials across these categories to help users get started and make their creations.
Though Scratch programming is a great fit for a primary school computing curriculum, it’s always best to challenge the more able students and provide something new to break up the monotony of using the same software for several years. Wiingy Studio is one of the best Scratch replacements. With the Wiingy Studio foundation, kids will not only be prepared to take on increasingly challenging coding projects, but they’ll also have something else that’s probably just as important: the desire and curiosity to keep learning.