With the rapid development in the world of technology, teaching programming became a crucial need. That’s why many educational institutions, software companies as well as governments have worked to prepare curricula and educational programs for teaching programming languages to children, which is considered now as the “language of the future”, that’s due to its importance in supporting technological revolution.
Among the most important educational applications for teaching programming to children is ”Scratch” software that proves its excellency as a tool that provides teachers and students with all the capabilities to develop computational thinking.
What is Scratch?
Scratch is a visual programming language developed by the Massachusetts Institute of Technology (MIT) and made available for Free. It was created to help children and young people to approach programming due to its simple and intuitive block methodology.
It is an extremely intuitive programming environment that is based on a completely graphical approach.
therefore, it is not necessary to know any programming language, nor to write code, but only to apply the rules of computational thinking, using the colorful “cartoon” style tools typical of its interface.
The aim of the program is to teach the basics of coding to children by unleashing their creativity and imagination in creating mini games. Therefore, one of the main aspects of the program is the ease of use of the various functions. The elements of which the program is composed are characterized by a very intuitive graphic representation and facilitates the understanding of the various functions.
Scratch is used in more than 150 countries and is available in more than 40 different languages. Languages are inserted with the help of users who can insert a new language or improve a translation.
As already mentioned above Scratch, at least for the moment, is released for free and it is also possible to use it directly from the browser. Although everything was designed for children aged 8 and 16, Scratch is now also used by many adults. It is useful for delving into the world related to computational thinking and problem solving, helping all those people who like to keep their minds trained and want to learn something different, new, solve problems.
A Bit of History
The idea of developing scratch was born in 2003 within the Lifelong Kindergarten group led by Mitchel Resnick, a Professor of Learning Research at the MIT Media Lab and one of the leading experts in the field of educational technologies.
The MIT media lab is a research laboratory set up at Massachusetts institute of Technology, one of the most prestigious universities in the world in the field of technological research.
Scratch recently spun out of MIT and into the Scratch Foundation after 15 years being developed by MIT, this was because of the large expansion of the scratch community.
Regarding The name, “Scratch” is derived from the practice that carried out by DJs to move discs to mix music and make remixes. In fact, the idea behind that software is to assemble and mix different multimedia contents such as images, sounds, animations and texts to create computer programs and reuse it if needed. the “remix” idea is the key element of Scratch as users can download and modify any of the publicly available projects that are built by other developers in order to add new features or enhance the project’s functionality.
Scratching is a DJ or turntablist technique used to produce distinctive sounds by moving a vinyl record back and forth on a turntable while optionally manipulating the crossfader on a DJ mixer.
We take the name “Scratch,” from the way that hip-hop disk jockeys scratch with music. They take pieces of music and then combine them together in unexpected and creative ways.
– Mitchell Resnick, Lifelong Kindergarten Group at MIT
Scratch and Block Programming
Is coding complicated for kids?
there’s no denying that coding is quite complicated, this is due to the need to understand both syntax and semantics of a programming language, different algorithms and data structures, not to mention the complicated concepts both theoretical and technical, that need to be fully studied to go through the whole software life cycle.
So if adults struggle to wrap their minds around most coding concepts, how much more so with kids?
Such struggle of writing complicated code is what encouraged educational institutions such as University of Virginia and MIT App inventor to create block coding to facilitate understanding, and it has been considered a revolutionary invention for teaching and learning computer programming – for both kids and adults.
Since it has no syntax and no instructions need to be typed, no typing errors can occur. This helps kids understand the basic concept of a programming language.
Block-based coding or visual programming uses a drag and drop learning environment, where the blocks are can be described as “pieces” or “chunks” of pre-coded instructions that will be used by programmers to do a certain action.
Simply, having code instructions in blocks, that can be used by dragging and dropping them without the need to write text-based code or instructions. Furthermore, these blocks of code can be placed at different locations on the screen to form syntactically correct programs, as if they were the pieces of a puzzle each block corresponds to a command and are executed in the order in which they were placed, from top to bottom.
Advantages of Scratch
In an increasingly digitalized world, computer programming is essential for the correct development of transversal skills as well as creative and logical processes,a detailed description of the benefits of learning coding can be found here. But why is innovative teaching with scratch is so important?
Scratch builds basic logic and analytical skills
If you want your child to be a professional programmer, or even develop their mind this way, Scratch is a great starting point. It usually doesn’t take kids long to hit their first logical obstacle. Overcoming these hurdles is one of the most important traits of being a professional programmer, and Scratch gives you good practice.
Anyone around the world can use Scratch because it is available online. One of the advantages of being a pre-programmed programming language is that it can be translated into any language. All it takes is an internet connection.
Easy to learn
One of the strengths of the software is the ease of use thanks to extremely intuitive graphics.
It’s easy because all that is needed is to drag and drop the blocks in the order the child would like. The order of the blocks is the order in which the code will be executed by the computer.
the great ease of use and the design process allows anyone to create projects, animations, quizzes and stories which is certainly a stimulus for the development of children’s creativity.
The motto of the online Scratch community is “Imagine – Code – Share.”, there are no limits to its use.
Capturing your child’s interest in programming is not an issue with Scratch, as it is so much fun to look at. It allows children to visualize the coding, making the whole process more fun and memorable
carrying out projects of increasing difficulty stimulates teamwork among children which will help them realize to improve their sense of commitment and responsibility that is needed for their future jobs.
Have fun while learning
It is not just a learning tool, on the contrary, it uses the playful aspect to teach children the basic principles of programming language which can be applied to more complex languages, the child will spend his time having fun as he can create sprites, stories or games, he can challenge his peers and friends, this playful environment is stimulating the interest of children who are less inclined to study.
Cool hardware accessories
The fact that you can operate actuators and other hardware sensors outside of Scratch is a huge game-changer. Many companies create hardware kits that integrate with Scratch to create great projects. For example, Microbit and Makey-Makey allow kids to design and create their own game consoles. So, basically, they can create an entire video game (like Super Nintendo) in Scratch
logical and analytical skills
If the child wants to be a professional programmer, Scratch is a great starting point. It usually doesn’t take kids long to hit their first logical obstacle. Overcoming these hurdles is one of the most important traits of being a professional programmer.
To explore the possibilities offered by the Scratch development environment, we should understand its basic contents.
The term “Sprite” in computer science, and in particular in the context of game developing, refers to an image (usually two-dimensional) that acts within a context (the background), moving independently from it.
Sprites are the characters and objects that are part of our project. They are the “actors” who move and interact within the project, they will play the part that we, as “authors or programmers” of the project, will assign to them.
A Sprite can be a character (such as a kitten, a bear or a dancer) or an object (such as an apple, a musical instrument or a pair of shoes).
Starting Scratch for the first time we can immediately notice the presence of a cute kitten: this is the default Sprite.
In a Scratch project, it is possible to insert one or more characters (sprites) and then animate them, give them life, making them move, rotate, speak.
Where the program occurs and all the action takes place, is where the user can see the execution.
The Sprites, as already said, can be moved and interacted within the Stage.
The stage can have a background, that is an image, which creates a specific scenic context: for example, it can be a beach, a school, a castle or a room. Our Stage can have a single background or more than one, for example, can change according to the situations we are going to program, exactly as happens with the backdrops during the different scenes of theatrical work.
There are many different blocks a programmer can use to control sprites which are divided into 9 categories: Motion, Looks, Sound, Events, Control, Sensing, Operators, Variables, and My Blocks. Each category has blocks that perform a different function.
Motion Blocks: Used to control the movement of the sprite. A programmer will use them to move and turn the sprites the number of times required.
Looks blocks: They are performing the function of modifying the appearance of the Sprite, changing its costume or its size.
Sound blocks: they are Used to add sounds to a story or game and to change the volume of sound effects already running. There are 9 Sound blocks in Scratch 3.0
Events blocks: They are used to control events as they provide instructions to determine which events should trigger the start of something, for example: starting one script, starting all scripts or sending a message. There are 8 Event blocks in Scratch 3.0.
Control blocks: They are used to control the flow of the program, through conditional constructs. Many of the blocks in this category are made in the shape of a “C” or “E” being designed to accommodate other blocks within their “belly”. There are 11 control blocks in scratch 3.0.
Sensing blocks: They include instructions for sensing the external events (mouse click, keyboard pressure, movement in the webcam) and internal ones related to the execution of a program and allow a sprite to react specifically to a single event. There are 18 Sensing blocks in Scratch 3.0.
Operators blocks: Another central element that performs mathematical operations, there are 18 Operators blocks in Scratch 3.0.
Variables blocks: they are the blocks of variables and lists that include all statements for creating new variables/lists and using them within the programs. Variables are containers resident in memory (of the computer) that are used to store and manipulate data (e.g. numbers, characters, words, phrases, etc.). There are 5 Variables blocks and 11 list blocks in Scratch 3.0.
My blocks: allow the programmer to define new blocks with new instructions.
Where to download scratch?
Scratch is a free cross-platform application, available for Windows, MAC OS, and Android.
To download Scratch, simply connect to this page,it provides the latest version of the software, Scratch 3.0, select your operating system, download the relevant application and proceed with its installation. Within the same website, previous versions (Scratch 1.4 and Scratch 2.0) can be downloaded and installed and they are compatible with the previously mentioned operating systems. To use Scratch online without downloading it, there is also a convenient online version that offers the same features. To use it, simply connect to Scratch website and click on the “Start Creating” button.
- Scratch is currently on version 3.0,The online editor was officially released on January 2, 2019,
- And There are previous older versions which are Scratch 1.4, Scratch 1.3, Scratch 1.2, Scratch 1.1, and Scratch 1.0.
- Scratch 2.0, was released on May 9, 2013.
Significant changes and new features were added to the new versions, not only with the program update but also to the website.it can be shown clearly from version 2.0 to 3.0.
ScratchJr is a revisited version of the classic Scratch dedicated to 5-7-year-olds. It could also be defined as a light version of Scratch recreated as an app, with a simplified interface and a very nice design.
With ScratchJr you can create very simple projects, mainly interactive stories. In the transition to touchscreen devices, a good part of the original’s potential was sacrificed. However, it remains a fun way to allow the little ones to become familiar with coding, with the convenience of a touchscreen device. The ScratchJr app is available for Android, iOS, Amazon Fire, and ChromeOS.