
Scratch is a programming language created by MIT and specifically designed so that anyone can get started in programming. It can be used to create interactive stories, games and animations, and it also makes it easy to share finished creations with other people through the web.
The name comes from the word “scratching”, which in programming refers to pieces of code that can be reused, combined easily and adapted for new purposes.
It is a language that has become widely known thanks to the fact that it is free software and very easy to use.
What is Scratch?
Scratch is both an application that we can download to our computer, available for several operating systems such as Windows, Ubuntu, Sugar and Mac, and a web application that we can run directly from our browser.
In both cases we have, on one side, a series of objects or “sprites” as Scratch calls them, and on the other a set of actions and behaviours that we can combine to make those objects react and act in a certain way.
One of the most interesting things about Scratch is that those actions and behaviours have the shape of puzzle pieces, and our mission as programmers is to fit them together in order to create a certain action or behaviour. In essence, programming becomes something close to solving a puzzle, which removes one of the main barriers for beginners in programming: the dry and complex appearance of traditional development environments. It turns the act of programming into something much closer to a game.
The actions and behaviours are divided into categories:
- Motion: move and rotate an object around the screen.
- Looks: change the way the object appears, including backgrounds, size and more.
- Sound: play audio sequences.
- Pen: draw by controlling brush size, colour and shade.
- Data: create variables and assign values in the program.
- Events: event handlers that trigger actions inside a block.
- Control: conditionals such as if-else, forever, repeat and stop.
- Sensing: objects or sprites can interact with the environment or with elements created by the user, such as a Lego robot.
- Operators: mathematical operators, random-number generators and position comparisons.
- More Blocks: custom blocks and controllers for external devices.
What is it for?
- It supports the development of mental processes and thinking skills in learners.
- It is perfect for getting started in programming.
- It allows projects to be shared on the web, downloaded and reused by other people.
Why Scratch?
Programming is the new language that all of us need to understand if we want a good grasp of the present world and, above all, of the one that is coming, as well as good job opportunities. It is estimated that close to 50% of the jobs we know today will disappear, and many of them will be replaced by the software and robotics industries. Scratch therefore becomes a great tool for understanding the concepts and logic of programming, while approaching learning from a playful perspective that avoids the initial rejection many people feel toward more traditional programming environments.
Benefits for child development
If there is one environment where Scratch is especially suitable, it is teaching programming to children, precisely because of that playful component. We can group some of the benefits it offers like this:
- Develop logical thinking.
- Develop methods for solving problems in an orderly and methodical way.
- Develop the habit of self-diagnosis in relation to one’s own work.
- Develop the ability to question one’s own ideas.
- Gain the possibility of achieving complex results from simple ideas.
- Work at one’s own pace according to individual abilities.
- Learn and internalise mathematical concepts such as coordinates, variables, algorithms and randomness.
- Learn the foundations of programming.
- Use different media: sound, image, text and graphics.
- Encourage collaborative learning through knowledge sharing.
Conclusions
Scratch is free, cross-platform, simple and oriented toward introducing children, and anyone else who wants to, to the world of programming.
Getting started is as simple as downloading the program and beginning to play with the different objects, actions and behaviours that come built in.
Beyond that
Programming is a long road and Scratch is the first step on that road. Scratch allows learners to understand the basics of programming logic and, with those foundations in place, move on to more complex languages such as JavaScript or Python.
In our case, it even allowed us to go on to develop mobile games with Godot Engine.
I started a podcast and one of the episodes talks about Scratch, which may also be of interest.