The camera is behind the learner and the learner is turned around smiling. The learner is working on Scratch on their computer.

Starting from Scratch: How to Get Going with MIT’s Free Visual Coding Language

December 31, 2020

By Becky Wright

“Learn to Code.”

You might have heard that advice before, from those who believe that knowing code is the new literacy. Many of us would like to be more knowledgeable about the programs and algorithms that power our lives. But where to start?

From Scratch, of course.

Scratch—as in the free visual coding language, which uses building block-style coding to allow users to create animated stories, interactive games, simulations and artwork. Developed at the Lifelong Kindergarten Group at the MIT Media Lab, Scratch introduces users to basic coding principles and helps them develop computational thinking skills, while bringing creative ideas to life. With more than 56 million users around the globe, Scratch supports a vibrant community of creative people, who have shared millions of projects.


Scratching the Surface

Scratch organizes code you can use into Code Blocks that represent various categories, such as Motion, Looks, Sound, Events and so on. Using the Code Area as a kind of tabletop, users drag and drop colour-coded blocks from the Block Palette, putting different combinations together—almost like a jigsaw puzzle—to control a Sprite, an icon or avatar that performs actions in a project. (The Scratch editor automatically starts with a Cat Sprite for all projects.) You can see what the Sprite is doing on the Stage—the area to the upper right of the code area, where the sprites perform their actions.

Having both the code area and stage visible at the same time allows users to test their code easily and debug any problems.


Computational Thinking

You can add or remove sprites from your project in the Sprite Pane, a white area located beneath the stage. Click the cat icon in the bottom right corner, and you’ll find the Sprite Library, which allows you to select from a variety of different sprites, or upload your own file.

On the Stage, you will see your code come to life. Think of this area just like a Broadway stage that actors perform on. This is where sprites follow the coded commands you have put together in the code area. It is also the background of your project, and you can customize it by adding different backdrops from the Backdrops Library.


Command Central

When you tell Sprites exactly what to do by giving them a set of commands, you’re creating a Program. A program is a group of commands that are presented in a specific order. Think of a program like a recipe you follow to bake a cake. The blocks can be clipped together to make a script, and just like the steps to baking a cake, the order of the blocks is very important. The easy-to-use interface makes it simple for users to rearrange blocks and test the results. To start a program or test code, click the Green Flag located above the stage. (To stop your program click the Red Stop Sign.)

You can make your stage full-screen by clicking the button with the four arrows in the top right corner above the stage.

Finally, once you’ve finished your creation you can save it by clicking on File > Save To Your Computer.


Conclusion

Once you are familiar with the basic Scratch working environment, you’re ready to begin exploring the millions of possibilities the language presents to users at all levels. And don’t worry about being late to the game; during the lockdown of 2020, Scratch activity spiked, as many who had to stay home looked to discover new skills or tools. Accessible, easy and fun to use, Scratch is primed to continue growing into a fundamental tool for learning code.

For videos, lesson plans and tutorials on Scratch skills and activities, visit Pinnguaq’s website.

The camera is behind the learner and the learner is turned around smiling. The learner is working on Scratch on their computer.

This article originally appeared in the second issue of Root & STEM, Pinnguaq’s free print and online STEAM resource supporting educators in teaching digital skills