The Scratch Programming Language
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.
What Kind of Projects Can be Built with Scratch?
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.