Compared to a lot of other programming languages, Scratch has quite a gentle learning curve. Still, getting started can be a little bit of a doozy if you’ve had zero prior experience with the kind of terminology used in programming. It can be a little tricky to start writing a program if you’re not sure what things like events, loops and Cartesian coordinates are! To help you out a bit, we’ve compiled a glossary of terms for new Scratchers.

Now, you can use this list to familiarise yourself with new programming terms and ideas, or you could use it teach your kids about some important programming concepts. A great way to open up a discussion about these concepts to your kids would be to introduce this glossary as a spelling list. That being said, there’s really no limit to the different ways you can introduce these terms to your kids!







Nice and straightforward: think of a command as an instruction for a computer to follow.


Debugging is the (often excruciatingly painful!) process of going through your code and finding all the little errors that prevent it from working properly — or, in some cases, from working at all!


Pixels are little tiny units that contain colour information and make up the images that you see on your screen.

Control/Control flow

Control flow refers to the order in which the instructions in your program are executed. Simple programs will execute instructions in a sequential, top-down order. If you want to read about control flow in more detail, you can refer to the article that we wrote on it here.


Think of branching as a crossroads: it’s when a computer is going through the set of instructions to execute, and it comes upon multiple different ways to progress through the code. If you need a bit more info to wrap your head around this concept, then you can read about it in our control flow article.

Here’s an example of a branching program. When this program executes, the computer will run into two options: option A (say “You got me!”), or option B (say “Haven’t got me yet…”).

 If the cursor isn’t touching Scratch Cat, it says, “Haven’t got me yet…”

 At any point that the cursor makes contact with Scratch Cat, it says, “You got me!”


Loops are a programming concept that can be used to repeat sets of instructions until a certain condition is met. There are lots of different types of loops to understand, but if you want a gentle introduction to loops, you can read about it in the article that we wrote on it here — just scroll down to the “Loops” section!

X and Y coordinates

X and Y coordinates are two dimensions of a two-dimensional Cartesian coordinate system. Here’s a visual translation of what that above sentence means:

src=”×212.png” alt=”” width=”300″ height=”212″ />

Here’s what you need to know about X and Y coordinates:

  • The X axis is the horizontal axis — the one that’s running from left to right
  • The Y axis is the vertical axis — the one that’s running from top to bottom
  • The coordinates of the very centre of this plane is (0, 0); the number on the left is the X coordinate, and the number on the right is the Y coordinate.
    • An object to the left of (0, 0) would need a negative X coordinate
    • An object to the right of (0, 0) would need a positive X coordinate
    • An object above (0, 0) would need a positive Y coordinate
    • An object below (0, 0) would need a negative Y coordinate


An event is just what it sounds like — an event is something that happens. It could be a key being pressed, or a mouse being clicked, to name a few things. If you want to get technical about it, an event is a change in states — a key going from being not pressed to being pressed, or a mouse button going from being clicked to unclicked. This change in states is then used to trigger certain behaviours in your program. If you want to read more about events, you can check out the article we wrote on it here.


A Boolean is essentially a truth value: it either carries the value true or false. The value of a Boolean can change from true, to false, and back to true again — multiple times, even! — throughout the course of a single program. If you want to learn more about Booleans, you can read the article we wrote about it here.

An example of a Boolean block in Scratch (you can recognise them by their triangular edges!).


A variable is very handy programming concept: it’s a sort of container that can hold one piece of information at any given time. This information could be a number, a word, or something else. If you want to know more about variables, you can go here to read more about them!


Data, simply put, is the general term for information: numbers, pictures, words, sounds, and so much more! We talked very briefly about data and types of data in this article here if you’re interested in knowing a bit more about them — just scroll down to “More about variables”.


You can think of costumes as different versions of the same sprite. Let’s consider Scratch Cat, for example: it comes with two different costumes; each costume features Scratch Cat with its legs in different positions. These two different versions of the same sprite — two different frames, two alternate appearances, if you will — allow us to animate the sprite in question. When you switch back and forth between Scratch Cat’s two costumes, for example, it gives the illusion that Scratch Cat is walking.

Costume one…

… costume two…

… and the animation!


A library, simply put, is a collection of resources. Think about all the different libraries you have in Scratch: the sound library is a collection of sound files for you to use, the sprite library is a collection of sprites for you to use, the backdrop library is a collection of backdrop files for you to use, and so on, so forth!


Cloning means copying the original sprite and all of the information that it contains over onto a clone of it.


Broadcasting is just what it sounds like: it allows different sprites communicate with one another by sending messages between them.


The repeat block is one of the three looping blocks in Scratch. There are two different repeat blocks. The Repeat (X) block repeats the instructions contained within it for the specified number of times, e.g. Repeat (10) would repeat the instructions inside of it 10 times. The Repeat Until <Y> block repeats the instructions contained within it until a specific condition is met, e.g. Repeat Until <Key “Space” Pressed?> would repeat the instructions contained within it until the space key is pressed.


The forever block is the last of the three looping blocks in Scratch. It does just what you think it does: it repeats the instructions contained within it forever!

Touching (Collision detection)

There are a handful of touching blocks in Scratch, which you can find under the Sensing category. The touching blocks enable us to detect collisions; in other words, they allow us to determine whether or not one thing is touching another thing. The “thing” in question could be a few different things — a sprite, a colour, the cursor, or the edge of the screen, to name a few things.


There are two different types of wait blocks in Scratch, but both of them do just what you think they would: when the computer comes across a Wait (X) Secs block in the code, it will wait for the specified number of seconds before moving on; when a computer comes comes across a Wait Until <Y> block in the code, it waits for the specified condition to be complete before moving on.


Random is just what it sounds like: the Pick Random (X) to (Z) block will pick a totally random number, using X as the lower bound and Z in the upper bound.


So there you have it — a glossary for new Scratchers with all the most important words you need to know as a beginner Scratcher! Are there any words that you don’t understand? Any words we didn’t cover that you’re dying to have on the list? Be sure to leave a comment to let us know!

Happy Scratching!


If you’re interested to find out more