Scratch may not be a programming language that you’re familiar with if you've grown up hearing about BASIC and Cobol, but today Scratch is used in colleges, universities, and workshops to teach the basics of coding to both children and adults.
Scratch was a project created by the Lifelong Kindergarten Group of the MIT Media Lab. While it was developed for students between the ages of 8 and 16, there is a robust online community of contributors, and today, students of all ages are beginning their computer science journeys with Scratch. In fact, Scratch is included in many universities' computer science curricula, including the University of Missouri and Harvard. There is also an active Scratch community creating new projects everyday.
Scratch programming uses drag-and-drop code blocks to teach students how to code. Users are presented with colorful characters (called sprites), easy-to-understand code blocks, and a stage on which they can see their code come to life on their own computer with the click of a green flag. It’s a great way to introduce students to coding.
Rather than having students memorize commands, Scratch promotes students to think about what it is they want the code to do step-by-step and how the different blocks can help them achieve their goals. Are they trying to move a sprite? They probably need a block in the Motion section. Do they need to repeat a step more than once? They should probably reach for a repeat block.
This kind of learning environment helps those learning to code think more abstractly about what it is they are trying to achieve and not get overwhelmed by details. While Scratch is simple enough to be self-taught, many students simply wouldn’t know where to begin.
For 5 to 7 year olds, Juni Jr provides a fun introduction to programming for our young children. In these shorter classes, students learn about logic, sequencing, loops, and events with simple, interactive Scratch projects. They also practice fundamental skills like basic algebra and geometry, reading, and public speaking. Together, we build games, solve puzzles, and design art.
For 8 to 11 year olds, our Scratch Level 1: Game Superstar course focuses on Scratch fundamentals: event listeners, loops, conditional statements, user input, Cartesian coordinates, variables, and message broadcasting. After completing this course, students are able to design and program their own games in Scratch, and are ready to advance to Scratch Level 2.
For 9 to 12 year olds, our Scratch Level 2: Game Master course expands upon the concepts introduced in Scratch Level 1 and introduces more advanced ideas, including nested loops, complex conditionals, cloning, string and mathematical operators, lists, and functions. After completing this course, students have full mastery of the Scratch environment, and are ready to advance to Python Level 1. Read more about our full course sequence.
In general, Scratch allows students to develop their programming skills with a visual representation of the code that is easy to read and modify. In addition, it gives them the language to understand the fundamentals of coding, required in future Python courses. This includes topics like loops, conditionals, variables, functions, debugging, and other basics of programming that very translatable to other programming languages.
If you take a look at the thousands of projects that have been developed in Scratch, you’ll see a vast variety of impressive work. From short films to recreations of popular games, such as Angry Birds and Minecraft, the possibilities with Scratch are just about endless. Scratch developers are able to build and solve puzzles and mazes, create interactive games based on math and science, and create video games that they can share with friends.
It’s also a great way for students to start thinking about how they can solve real-world problems. One of Juni’s assigned projects tasks students with solving the famous Fizzbuzz interview coding challenge. Through this project, students learn about using conditional statements and the modulus operator to solve this problem.
Some might look at Scratch and find it hard to believe that this framework, with its brightly-colored coding blocks and cartoon sprites, can be an effective way to learn to code. A powerful tool in its own right, Scratch gives students a deep understanding of the foundational coding concepts they’ll need to master other languages.
Bianca Dennis is an instructor at Juni Learning and holds a B.A. in South Asian and African Studies from Columbia University. She has previously been a Teaching Assistant at the New York Code + Design Academy, and she is currently Front-End Software Engineer at SCOIR in Philadelphia, PA.