Scratch - The Most Ingenious (and Simple) Programming Tool Ever Created!

Dara Monasch / Thursday, April 25, 2013

In my first programming class back at National Computer Camp (shoutout to NCC grads!), there was no such thing as Scratch, or, a cute way to learn programming concepts. I sat there with my monitor and listened to my counselor, who was younger than I am now, and tried to puzzle out the logic behind these completely foreign concepts. The way things were made simpler for us was to use… BASIC.  

Now, fast-forward to the MOOC world with all kinds of adults from all over the world taking an intro to programming class over the internet. We have our shiny new VMs installed and we’re ready to go. However, some people have no background in programming logic – you know, for loops, if loops, while loops, Boolean statements, I could go on and on.

With the foresight of professors who have been around the block a few times, instead of diving directly into writing code, we started our class off with MIT’s Scratch.

What is Scratch?

The MIT creators describe Scratch as a graphical programming language. It was developed by the Lifelong Kindergarten Group at the MIT Media Lab and was made possible by funding from the National Science Foundation, Microsoft, Intel Foundation, MacArthur Foundation, Google, Iomega and the MIT Media Lab research consortia. The purpose of creating Scratch was to enable students “to think creatively, reason systematically, and work collaboratively.”

How Does That Translate to Programming?

The functionality of Scratch is actually ingenious, in my opinion. In a purely graphical interface, the user can select from a variety of programming functions to literally puzzle together a basic program. When you first install and open Scratch, you’re presented with the following home screen:

From here you can upload your own custom sprites to animate in your program, which is what I would suggest doing first. After you’ve gotten your creative out, turn your attention to the left hand toolbar. In the top left you have a variety of tool categories, which looks like this:

One of the best things about scratch is that it is about as wysiwig programming as you can possibly get. The motion category? Those manage the movement of your sprites. Sound? You guessed it, the audio. Variables? That allows you to create those pesky buggers who hold information! As you navigate through these categories you can get a pretty solid feel for the capabilities (and limitations as well) of Scratch. You’re not going to create the next $50million iOS app in here, but it is a really great place to get started and learn the basic concepts of programming.

How Exactly Can You Create Something With Scratch?

Creating with Scratch is the most fun aspect of the entire process! On the left toolbar below the tool categories, as you navigate through the categories, the tools available appear below the category section, and the category is highlighted (and the colors match, which makes my design brain very happy).

Once you have the toolbars available, all you have to do to create actions in your program is link the commands together. If you take a peek at the image above, you’ll see that each command conveniently even looks like a puzzle piece, to encourage you to build something awesome!  Here’s an example of a basic program that was created in Scratch:

As you can see, it’s incredibly easy to read through the commands and decipher what this program is intended to do – even for the most novice developer.

Bringing It All Together

Overall, this post is basically a big love-fest for Scratch. Coming back into programming cold after not working with code or coding concepts at all for years, being able to solely focus on the logic of what I wanted to build was invaluable. For me personally, Scratch gave me a chance to warm back up to programming without the struggle of syntax and that made my transition much smoother than it would have been otherwise.

Did You Actually Make Anything?

That’s a great question! I made the most in depth and amazing game known to humankind. You can play it live from the Scratch website!


Feel free to comment here on my blog, or find me on Twitter @DokiDara.

By Dara Monasch