Scratch is a programming language created by MIT and based on a block-based visual interface, so that it greatly facilitates the programming of children and people without knowledge. It is recommended for ages 8 to 16 years.
All of this is supported by the Scratch Foundation, a non-profit organization whose mission is:
Our mission is to provide all children, of all backgrounds, opportunities to imagine, create and collaborate, so that they can shape the world of tomorrow.
But to the important ones, what can be done with Scratch.
What is it for
Many uses, for this block programming.
Make games and animations
It is one of the main uses of this language. Create animations and games that are shared on your platform and through which you can continue learning to program.
Since it was first used in the UK to teach programming, its rise has been unstoppable and today it is the preferred way for parents and educators to begin teaching children how to code.
Children who have learned Scratch are supposed to have more facilities in certain mathematical areas. I would like to find papers that talk about this and the correlation between learning to use Scratch and learning to program in other languages. If you know of any, please leave them in the comments.
Different IDEs and Scratch-based software have been created for programming with Arduino. As in the previous cases, the idea is to simplify the programming work
Program LEGO Boost / EV3 Mindstorm
If you have a LEGO robotics kit you can add additional blocks to Scratch on the official platform to control and program your robot.
In the LEGO Boost APP we already find block programming based on Scratch
I have seen people using it in different uses and that have nothing to do with the usual uses that we always imagine. So let your imagination run wild and make the most of it.
Can we control IoT devices? Raspberrys? Home automation? Artificial Intelligence and machine learning?
You have to investigate and learn. As usual.
What do i use it for
Well I start using it now for 2 things.
On the one hand, my daughter has asked me to make video games. We have written down in a notebook what we want him to do and I see Scratch as the perfect tool so that I can bring those games to life.
I do not do it with the intention of learning to program, which I do not see at the right time, but as a tool to do what has been proposed.
On the other hand, we have the LEGO Boost and we want to give it more uses of the assemblies that come by default. And we are working on it.
At the moment I don't use it for anything else. I want to test Scratch for Arduino, but I don't think I use it. I don't know my daughters.
I am not sure that this language is the correct one to learn to program. Nor do I think children have to be introduced too early if they are not really interested.
Scratch Jr or Scractch Junior
It is a version of Scratch, simpler, with fewer blocks, and with the interface and graphics designed for young children. It is recommended for children between 5 and 7 years old.
It is an application for iOS or for Android that you can use on smartphones or tablets.
You can see more about Scratch Jr or Junior on their Official website
Download and install Scracth
You can Download the app for Windows, Mac and Android, but they stopped supporting Linux :( and it's something that makes me very sad.
I have looked for alternatives and if you are a Linux user (I use Ubuntu) I'll tell you more in another post.
If you don't feel like installing it, you just want to take a look, you can use it by browsing the web. And use the online platform. Everything is free.
The advantage of applications over online mode is that we can continue using the application without having to be connected to the Internet, and this is often appreciated.
In addition to the language Scratch defines the entire community that uses this language. We find a large amount of information in the format of step-by-step tutorials, studies, papers and especially some forums where we can ask our doubts and interact with more people.
Everything is open in Scratch, so when you publish a project everyone will be able to see that code and learn from it. You can also explore projects to find out how to do something that you do not know.