Last Updated:

Scratch programming language for children

scratch programming language

Scratch is a widely popular programming language for kids. But how good and easy is it to learn for children? Read on to find out exactly what Scratch programming is, how effective it is at learning to code, and why kids just keep coming back for new things.

When children begin to learn to program, they enter a familiar but strange world. Familiar because kids use technology every day. It's weird because it could be the first time they've been asked to produce technology rather than just consume it. So how do you make it easier for them to make this transition from the consumer of the technology to its creator? Choosing the perfect coding language to start this learning journey!

If your child or teen is over the age of 10, you should probably start with another programming language. You can read more about our recommendations on how to get your (older) child or teen to start coding here.


Scratch is a free programming language where you move blocks (also called bubbles) in a given order and then tweak some blocks to create interactive stories, games, and animations.


Event language is fairly easy to learn for anyone, regardless of age. Scratch revives customization and play either from scratch or by modifying existing code. This language has also been adapted to new languages and inspired other languages.

Launched in 2007, Scratch is a project of MITMediaLab. Since its inception, 3.6 million people have signed up for its website, and more than 6 million Scratch projects have been created by community members. Scratch also includes a very active community of teachers helping children learn the language.

What is the difference between Scratch 2.0 and Scratch 3.0?


The newest generation of Scratch is Scratch 3.0, which was officially launched in January 2019. In a nutshell, here are the key differences – Scratch 3.0 is visually more than Scratch 2.0, with a wider collection of built-in visual assets like adorable sprites, costumes, and background images.

Scratch 2.0 vs Scratch 3.0


Scratch 3.0 has more blocks, including new motion blocks (to increase variation in how sprites can be manipulated to move around the scene) and new extensions (Scratch 3.0 can now connect to micro:bit, texttospeech, LegoMindstorms, and more!). The Scratch 2.0 extensions were purely beta and not as stable.

Scratch 3.0 Extensions


Scratch 3.0 is written in HTML 5 and JavaScript, which is the modern language of the Internet and is therefore much better suited for programming online in a web browser. Scratch 2.0 was written in AdobeFlash and therefore needed a Flash player to work with (which also meant it didn't work with iOS devices like the iPad and iPhone).

Scratch 3.0 is a collaboration between MIT MediaLab and Google to redesign and recreate Scratch blocks based on GoogleBlockly (which we also use in Basics 1-Basics 2 to control our beloved Dash robot!). Scratch 2.0 was entirely developed by mit's Media Lab.

How does programming from scratch work?

Drag and drop the code from the green area to the code editor and see how it works in the scene (in red)!

When coding in Scratch 3.0, students pulled blocks of code out of the box (highlighted in green below) and placed them in the editor (center panel). These blocks will then be arranged in a sequence of code instructions.

When they are ready to run their code, the children will immediately see the result on the scene (circled in red). Based on the observed output, children can then test the code or continue developing it.

Why is Scratch ideal for novice programmers?

There is a fairly simple answer to this question – here are the main 3 reasons – it's easy, interesting and reliable.

Programming from scratch is easy

It's easy because all a young programmer has to do is drag the blocks in the order the child wants. Block order is the order in which code will be executed by the computer. To further help the young programmer, the shape of each block already tells the child how and when you can use each block.

If there is a groove at the top or bottom, other blocks can be connected by this groove. If there are no grooves, then the connection to this part of the block is impossible. Block colors also help young programmers associate certain blocks with certain computational concepts.

Programming from scratch is fun

It's fun because any code can be immediately demonstrated in real time in the same interface. A scene is where all the action takes place! In a recent update to Scratch 3.0, the brilliant MIT MediaLab team has also added a variety of adorable and cute sprites that will capture any child's imagination. Make them talk, dance, laugh or sing – the possibilities are endless!

Scratch – Programming is RELIABLE

It's reliable because as a programming language, Scratch not only has rich and attractive features, but it also very much mimics/resembles how full-featured, full-text languages like Python, JavaScript, and Java work. Scratch 3.0 is made using JavaScript and HTML in collaboration between MIT MediaLab and Google – so it's only the product of the best technical minds of the time!

So whether your 7- to 10-year-old is an aspiring artist, an avid pc game designer, or an aspiring animator, Scratchprogramming is the perfect place to start!

3 Reasons to Use Scratch throughout your curriculum

Scratch has become a popular way of introducing coding for young people all over the world. However, many schools are just beginning to realize the potential of Scratch to support project-based learning in a variety of subject areas and classrooms.

How can you integrate Scratch into your curriculum to help kids learn to think creatively and work together? Here are three things to know about Scratch — and the opportunities it opens up for students with different interests and experiences.

Learning to program has become a focal point in many schools, but it is often introduced as a narrow assignment where all students do the same projects.

Too often, students only see the technical side of coding and don't realize how useful it can be in their lives. The goal of Scratch goes beyond the introduction of technical coding skills. With Scratch, young people can learn how to use coding to bring their ideas to life.

Every day on the Scratch site, young people create and share thousands of projects, such as animated stories, interactive games and dynamic simulations. In the process of creating their projects, students develop computational thinking skills, as well as broader life skills: creativity, communication, cooperation and critical thinking.

By creating projects, they learn to understand computational concepts such as sequence, iteration, and variables, and computational practices such as debugging and abstraction.

More importantly, they develop the ability to implement ideas from start to finish — to present opportunities, to solve problems they face, to present their creations, and to revise them based on feedback.

Just as building blocks allow children to imagine and create different structures, scratch coding blocks allow students to imagine, create, and share an amazing variety of projects.

Children can use Scratch to convey ideas in many subject areas.

In classrooms around the world, students create Scratch Projects that demonstrate and deepen their understanding of key ideas across the curriculum, ranging from language arts and history to science and mathematics.

Students create dynamic reports on the books they read and the topics they researched. In science classes, they create animated illustrations of processes such as cell division, mold growth, and the water cycle.

In math lessons, they code interactive games that use mathematical concepts and skills such as scoring, multiplying, and plotting. In English and other languages, students use Scratch to create their own animated poems, interactive stories, and vocabulary games.

Many Scratch projects cover multiple subject areas (such as art, mathematics, and music) and use several types of media, including images, sounds, music, and animation, that students choose or create themselves.

Students develop fluency through research and experience.

In some schools, teachers introduce Scratch for only one or two lessons. However, it has been found that deeper learning occurs when young people have many opportunities to use Scratch in different ages and classes.

Students don't become writers just by learning alphabet and basic grammar – they need time and space to experiment with different forms of writing (poetry, storytelling, fiction) to develop their writing abilities.

The same goes for Scratch. In order to learn how to express their ideas through code, students need to learn more than just basic grammar and coding vocabulary. They need time and space to experiment with different types of projects, such as interactive stories, games, and animation. By exploring ways to combine their own images, words, and sounds into online projects, they expand their ability to voice their ideas.

Opportunities for Deeper Learning

Scratch opens up the opportunity for your children to become creative communicators, computational thinkers and will endow them with the key skills highlighted in the ISTE standards for students.

When students gain experience in developing and coding projects that express their ideas, they develop computational fluency. Children who are able to spend enough time learning and creating from scratch develop new perspectives on themselves – building confidence in their ability to be creators, not just consumers of technology.