The Basics

What is Scratch?

Scratch is a programming language created by MIT to help children learn to code. With Scratch, you can create your own interactive stories, games, art and much more. Primary schools across the UK

Scratch Overview from ScratchEd on Vimeo.

What is it good for?

Scratch introduces childen to complex coding concepts in a simplified, fun way. For example, Scratch has equivalents to arrays, iteration, if-else statements as well as Boolean and Dynamic logic.

Scratch also has the potential to foster children's interest in programming which may lead them to more advanced programming languages and ultimately, potential careers.

The colourful, drag-and-drop interface turns coding programs into a game that's accessible to all ages!

How does Scratch fit into the UK Curriculum?

Scratch provides all the tools needed to cover the programming requirements of the ICT curriculum.

Curriculum Scratch
Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts As Scratch is a block-based program, it is by it's very nature comprised of smaller parts which can come together to create a successful program.
Use sequence, selection, and repetition in programs; work with variables and various forms of input and output With Scratch you can create a sequence of statements, include multiple variables, input and output and design your program to repeat steps or the entire process.
Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs Scratch can help pupils hone their logical reasoning skills and use them to create algorithms which will refine their programs.
Understand computer networks including the internet; how they can provide multiple services, such as the world wide web; and the opportunities they offer for communication and collaboration Scratch has the potential to broaden pupil’s understanding of what computers are capable of and increase their awareness of the collaborative aspects inherent in programming and the internet. Pupils can create, collaborate on or share their programs using the Scratch website.

How do I get started?

Getting started with Scratch is as simple as making a free account on the official website. There are a selection of Starter Projects for beginners along with handy resources like this Reference Guide for explainations of the basics in further detail.

Scratch Components

Main Components

Sprite
Sprites are the objects that can perform actions in your project. You can choose from the in-built library which contains various characters and objects or upload your own. They're basically your characters and props!

Costume
Costumes are the alternate appearances of your sprite. Draw your costume in Scratch's Paint Editor, upload images to use or simply click on the sprite's current costume and personalise the colours or stance as you wish.

Stage
The stage is where the program or game you have created takes place.

Scripts
A script is a stacked sequence of blocks that work together to determine how the sprites on the stage interact with each other

Environment

Backdrop
The backdrop is the background on your stage. The in-built library has a range of backdrops from basketball courts to bedrooms. If you can't find what you want, edit existing backdrops or upload your own!

Block Palette
Colour-coded and separated into handy categories, all possible blocks available to you are found in the Block Palette

Script Area
In order to create a sequence, you must drag blocks from the block palette and snap them together in the script area.

Types of Blocks

Stacks
Stack blocks have notches which can snap together like a jigsaw. Some of these blocks have an area inside in which you can type numbers/words, choose menu items or even insert other blocks

Hats
Hat blocks, as the name suggests, have rounded tops and sit on top of stack blocks. They wait for events to occur such as a button press and triggers the following code.

Reporters
Reporter blocks fit inside other blocks. The ones with round ends contain numbers or text whereas the ones with pointed ends report a Boolean value (true of false).


Within these main types of blocks there are sub-categories which have various functions:

Motion
Motion blocks are colour-coded medium-blue and are used to control a sprite's movement. With Motion blocks you can make your sprite do things like move, turn or bounce.

Looks
Look blocks are colour-coded purple and used to control a sprite's appearance. There are Look blocks for changing a costume's colour or to a new one entirely.

Sound
Sounds blocks are color-coded pink and used to control sound. Volume can be adjusted or instruments changed using Sound blocks.

Pen
Pen blocks are colour-coded dark-green, and are used to control the pen aspect of Scratch. With these blocks you can change the colour or size of the Scratch pen etc.

Data
Data blocks fall into two categories: variables (orange) and lists (dark red). Variables are used to hold values and strings and list blocks are used to manipulate lists.

Events
Event blocks are colour-coded brown and used to sense events, which trigger scripts to run. They are essential as without Events blocks programs could only run maunally.

Control
Control blocks are colour-coded gold and used to control scripts. Control blocks can make events repeat multiple times or for a certain duration.

Sensing
Sensing blocks are colour-coded light blue and used to detect different factors of a project. For example, a Sensing block migh check to see if a key is pressed or certain colours are touching.

Operators
Operators blocks are colour-coded light-green and used to script maths equations and string handling. Operators blocks could pick a random number between two digits or identify what the third letter of a word is etc.

More Blocks
More blocks are colour-coded purple and are user-created to hold custom procedures.