Scratch is a programming language created by MIT and specially designed so that everyone can get started in the world of programming. Its used to create interactive stories, games and animations; in addition to facilitating the distribution of the final creations with other people via Web.
The name comes from the word: “Scratching” which in programming languages, means those pieces of code that can be reused, easily combined and adapted for new uses.
It is a language that has had an enormous diffusion thanks to it’s gratuity (it is free software) and its ease of use.
What is Scratch?
Scratch is both an application that we can download to our computer (it is available for several operating systems: Windows, Ubuntu, Sugar, Mac) and a web application that we can run from our browser.
In both cases we have on the one hand a series of objects or “sprites” (in the nomenclature used by Scratch) and on the other hand a series of actions and behaviors that we can combine to get the objects to react or act in a certain way.
One of the most interesting things about Scratch is that these actions or behaviors are shaped like a puzzle and our mission as programmers will be to cook those pieces to achieve a certain action or behavior. So in essence, programming becomes something similar to solving a puzzle, which eliminates one of the main barriers that neophytes have in the world of programming, which is the arid and complex aspect of programming environments. Turning the programming process into something similar to a game.
The actions and behaviors are divided into categories and are these:
- Motion: Moving and rotating an object around the screen.
- Looks: Change the display of the object: the background, make it larger or smaller, etc..
- Sound: Play audio sequences.
- Events: Event handlers that “trigger” certain actions in a block.
- Control: Conditionals: if-else, “forever”, “repeat”, and “stop”.
- Sensings: Objects or “sprites” can interact with the environment or with elements created by the user like a lego robot for example.
- Operators: mathematical operators, random number generators, position cooperators.
- Variables: Create variables and their assignment in the program.
- My Blocks: Create your own code blocks by combining others. It is the equivalent of functions in the real programming world.
What is it for?
- It allows the development of thought processes and mental skills in learners.
- It is a perfect introduction to programming
- It allows sharing projects through the web, they can be downloaded and used. They can be downloaded and used by other people.
Programming is the new language that we all need to know if we want to have a good understanding of today’s world and especially the world to come, as well as good job opportunities. It’s estimated that about 50% of the jobs we know today will disappear and will be largely replaced by the software industry and robotics. In this way Scratch becomes a great tool to understand the concepts and logic of programming. it also does so by approaching their learning from a playful point of view to avoid the initial rejection that for many people suppose the more classic programming environments.
Advantages for the child’s intellectual development
If there is an environment in which Scratch is particularly suitable, it is for teaching programming to children, because of the playful component we mentioned earlier. We can group together a series of advantages that its use provides to children:
- Develop logical thinking.
- Develop methods to solve problems in a methodical and orderly manner.
- Develop the habit of making self-diagnosis regarding their work.
- To develop the ability to question one’s own ideas.
- To be able to obtain complex results from simple ideas.
- Work at one’s own pace according to one’s own competences
- Learning and taking on board mathematical concepts: coordinates, variables, algorithms, randomness
- Learning the basics of programming
- Use different media: sound, image, text, graphics…
- Enable collaborative learning through the exchange of knowledge.
Scratch is free, multiplatform, simple and oriented to introduce children (and anyone who wants to) in the world of programming.
Getting started is as easy as downloading the program and start playing by changing the different objects that come with the program with the actions and behaviors that are available.