Subscribe to our newsletterWe’ll send you our favorite blog posts, tutorials, events, and more!
Learning coding for kids is not only beneficial towards future career prep, but also for building strong logical and creative thinking skills. But despite its clear benefits, how to get your student to start learning coding can still be confusing for many families.
In particular, one of the most common questions we get from parents is:
"What coding language should my child start learning first?"
For kids ages 8-11, our go-to answer is the coding language Scratch. In this article, we’ll outline what Scratch is, and why it’s so great for young kids!
Scratch: Coding for All Ages
Scratch is a visual programming language created by the MIT Media Lab in 2007. Its drag-and-drop interface with colorful blocks makes it one of the most intuitive programming languages to learn. Unlike traditional programming languages like Python where the coder must write out the code, Scratch empowers young people and adults alike to easily build interactive games and programs by connecting code blocks together.
Scratch is typically recommended for children over the age of 8. For kids ages 5-7, ScratchJr is an alternative option with an even simpler and more intuitive platform than regular Scratch.
Even though Scratch is great for kids 8-11, older kids and adults can use Scratch, too! Anyone with minimal computer science experience will find Scratch to be an accessible and friendly introduction to coding. In fact, many colleges — such as UC Berkeley — even use Scratch and other similar block-based languages as part of their introductory computer science courses!
If you're already familiar with computer programming, you may find it more beneficial to learn text-based programming languages like Python or Java instead. While Scratch is a great way to get started, these more complex programming languages are the ones actually used day-to-day in computer science jobs.
Now that you've learned what Scratch is, let's dive deeper into how it differs from traditional coding languages.
A Different Kind of Coding Language
While Scratch may not look like it at first glance, it's still definitely a real programming language. In fact, as of May 2020, Scratch ranked as the 19th most popular computer programming language in the world! At the same time, Scratch definitely differs greatly from the other programming languages on that list.
The majority of the world’s most popular coding languages are "text-based,” meaning that code is written by typing words and symbols with your keyboard. To create a program in text-based languages like Python, Java, and C++, you must string together multiple lines of code written by hand. While this method of programming is efficient and powerful, it can be difficult to learn for the first time — just like picking up a foreign language.
Just as human languages each have their own unique grammar and vocabulary, text-based coding languages have special ways to write different commands (instructions telling the computer what to do), as well as their own tricky syntax. This learning curve can often be discouraging for young new coders.
In contrast, Scratch is a block-based, visual programming language. Unlike traditional written commands typed using symbols on the keyboard, Scratch commands take the form of colorful blocks. Users can create programs by snapping blocks together, much like virtual LEGO! They can then click the green flag button in the Scratch interface to run them.
Let's Visualize It
To illustrate the beauty of Scratch, here are two simple computer programs which both print out the message: “Hello! How are you today?” One is made in Java, while the other is made in Scratch.
Both do exactly the same thing, but the Scratch program is significantly simpler. As demonstrated above, Scratch code is easier to create and read, allowing you to quickly learn and apply the fundamentals of computer science. By removing the difficulty of syntax, Scratch helps new coders and young kids jump right into building fun and interactive projects.
Scratch also allows you to create your own interactive stories, making the platform creative and personalizable. Scratch's interactive stories are different from the traditional storybook narratives we usually think about. While tales like “Red Riding Hood” tell someone else’s story, interactive stories in Scratch allow anyone playing the game to be the main character!
For example, this interactive story titled Treasure Cave gives the player control of an enterprising elf. The elf hopes to discover treasure by exploring the Treasure Cave, but must answer a question every time they find some. If they get too many questions wrong, they lose everything!
The use of Scratch to tell stories makes it an engaging way for kids to practice storytelling while also learning code. Stories don’t all have to be complex — sometimes even simple projects can be fun and engaging! It’s possible to create your own traditional, non-interactive stories in Scratch as well, such as making your own little movie.
The Scratch Community
For more great examples of what you can do in Scratch, the Scratch Community is full of amazing projects. This online community allows Scratchers (Scratch users) to share their Scratch projects with others at the click of a button. It can serve as a great source of inspiration for those who want to make their own projects, but aren’t sure where to start. You can view the code of any project, and make tweaks on ones you like by “remixing," or editing your own copy of them.
The Scratch community is safe for children, and the Scratch team — a part of the Lifelong Kindergarten Group at MIT Media Labs — ensures this. They enforce strict community guidelines to ensure a space where anyone can contribute safely. There's also a Scratch Wiki for all Scratchers to read about the latest updates and tips on different features and code in Scratch!
Other Benefits of Coding in Scratch
In addition to being a great entry point for anyone to jump into the world of coding, learning to code in Scratch also helps kids strengthen a variety of important life skills. While exploring the infinite possibilities for projects in Scratch, the following skills are repeatedly practiced and sharpened.
Artistic Design & Creativity
For a cohesive game, your child will need to create a set of characters — called “sprites” — that will be the subjects of the game. Scratch has a large library of preset sprites and backgrounds, but it also lets you draw your own designs.
This means that with enough practice, your child will be able to create interactive stories with any character they can think of! Customizing sprites and building narratives will improve their artistic skills and make them better at design, storytelling, and thematic consistency.
To plan out the mechanics of their game or story, your child will need to figure out how multiple parts of their code or design will work together. Practicing brainstorming in Scratch helps kids develop strong planning and organizational skills that are transferable across multiple areas of life.
Logical Thinking & Problem-Solving
Creating projects in Scratch makes your child a better programmer, and familiarizes them with how computer science works. By practicing basic logical thinking and problem-solving coding concepts, your child will be prepared to tackle higher-level computer science or even accelerate their learning in other subjects like math or science.
Ready to Start Learning Scratch?
For all the reasons above and more, Scratch is an innovative platform and coding language that brings creativity and easy learning to new coders of all ages. To get started, your child can create an account for free on the Scratch website, scratch.mit.edu. They can create a blank project and play around with different blocks to see what they can create! For some inspiration, they can also reference projects made by other Scratchers in the Scratch Community.
Scratch Classes for Kids
For structured Scratch learning, Juni Learning offers project-based Scratch Courses for students 8-11 to get started with coding. Our Scratch curriculum prepares students with full mastery of the Scratch environment, and prepares them to advance into coding in more advanced, text-based languages like Python.
- Game Superstar (Scratch Level 1): introduces computer science fundamentals such and teaches students how to build and design their own Scratch games.
- Game Master (Scratch Level 2): covers more complex concepts like nested loops, complex conditionals, cloning and more in preparation for learning more advanced coding languages.
Read more about our coding courses and curriculum, or get started with our Admissions Team to learn which course is best for your student’s coding journey. You can also read more about how we use Scratch to teach coding.