Is Scratch today like the Logo of the '80s for teaching kids to code?

Teach your kids or students about programming with the turtle and the cat.
481 readers like this.
open source button on keyboard

Opensource.com

Leave it to technology to take an everyday word (especially in the English language) and give it a whole new meaning. Words such as the web, viral, text, cloud, apple, java, spam, server, and tablets come to mind as great examples of how the general public's understanding of the meaning of a word can change in a relatively short amount of time.

Hence, this article is about a turtle and a cat who have changed the lives of many people over the years, including mine.

Programming in the '80s

When I was a child, I was introduced to a programming language called Logo. Many years later, while in college, I would learn the powerful recursive characteristics of the language, but as a 9-year-old what really sparked my interest was the turtle, which was literally a little square in the middle of the screen that the user would tell it to do things, like "go FORWARD 10 steps and take a 45 degree LEFT turn," or "go BACK 1 step, and take a 90 degree RIGHT turn."

The great thing about the Logo turtle was that it carried a pen, and you could tell the turtle: PENDOWN or PENUP. When the pen was down and you told it to take steps, it would draw on the screen. You could tell the turtle SETPENCOLOR and change the color of its pen. You could also HIDETURTLE and SHOWTURTLE because sometimes you would draw something really cool and you wanted the turtle to not be in the way.

From Logo to full-time programmer

Once I was comfortable with the turtle's movements, and tired of drawing every single move, my friends and I were taught how to "automate" the turtle with loops, conditional statements, variables, functions, and procedures. The turtle also introduced me to basic concepts of geometry and the cartesian plane as a way to guide my turtle around the screen.

I eventually moved up from Logo to BASIC, and then to Pascal. In college, I used C, C++, Java, and even Assembly. By the time I graduated, I was a full-time web programmer (PHP, Perl, etc). I haven’t been a full-time programmer for over 10 years now, but I am still very fond of that little turtle.

Unfortunately, due to all of the technological advances of the past two decades or so, when I tried to introduce my friend, the turtle, to my kids they weren't as impressed as I was back in the 1980s. So, I went looking for alternatives a few years ago. I wanted a pet animal that was part of the program that would hopefully spark some interest in my kids' minds for programming.

That solution came in the form of Scratch the Cat!

Scratch for kids

Scratch is a visual programming language that has a lot in common with the original functionality of Logo but is updated. With Scratch, instead of telling a turtle what to do, you tell a cat. But with Scratch users no longer need to memorize the commands—the graphical interface not only makes all of the commands available but it also allows kids to intuitively build the blocks of code like a puzzle.

The popularity of Scratch soared when began to be bundled with the Raspberry Pi recommended operating system, Raspbian (aka Pixel), which is based on the Debian distribution. In fact, the images for this article were all made from screenshots of Scratch running on a Raspberry Pi 3.

The Raspberry Pi comes with a standalone version of Scratch,  which is version 1.4 of the language. Version 2.0 was released in 2013 and was written in Adobe Flash which allows it to be played via browser (online) and as standalone clients.

Sample code for Scratch

Scratch sample code

Output on Scratch

Output of sample code

Resources

Here are a few resources that I have either produced or used for this article that I hope will help you get your own kids (or students) started in the fascinating world of programming.

Intro to Logo on Linux, Part I by Anderson Silva

Intro to Logo on Linux, Part II by Anderson Silva

Simple LED control with the Raspberry Pi (a more advanced example of using Scratch and the Raspberry Pi to control LED)

The online version of Logo for kids and teachers with lessons and tutorials

The online version of Scratch (V2, requires Flash)

Code.org, another great site for teaching kids how to code, and their editor is mostly based on Scratch

User profile image.
Anderson was introduced to Linux by his uncle back in 1996. In the early 2000s, he transitioned from being a developer to a system administrator. Today, Anderson leads the Red Hat Information Security Incident Response team. He is also an active Fedora package maintainer.

10 Comments

I've taught a few classes to young kids using Scratch, and they absolutely loved it. Those who found programming to be less interesting than they'd hoped still find Scratch useful for art and story telling. Sadly, version 2 of Scratch requires Adobe Air for local installs (and local installs are often useful to schools with no or heavily restricted internet access), but luckily version 3 (at least, according to beta) is set to use javascript.

Ref: https://wiki.scratch.mit.edu/wiki/Scratch_3.0

What a great article. I learned Logo as a grad student in the 1990s and then taught a special curriculum designed to teach elementary students geometry using Logo. I taught other teachers and students how to use Logo and they in turn helped others. I remember we used to be able to borrow a "turtle" that connected via serial cable to an Apple II and that turtle had a pen and elementary programmers could literally draw their sprites on large pieces of paper.
Like you i really love Scratch because it offers the same functionality to today's learners and I also love that it has been bundled with the Raspberry Pi.

I have loved how Scratch has motivated my child to learn and explore programming. After several years of using it and running into the limitations of browser based Flash, I would encourage him to move on to something more advanced. He would learn the basics of other languages, but he kept going back to Scratch, because it was familiar and easy to accomplish the task he wanted to do.
Last night, we were discussing concurrent access to databases (related to Minecraft server plugins) and I was about to explain race conditions, but instead he described the issue to me. I asked where he learned so much. It turns out that he had first hand experience with them using Scratch and cloud variables. By logging into a project using multiple browsers, he quickly learned how concurrent access could corrupt the data.
I am impressed and appreciate the programming foundation that Scratch has provided to my 13 year old.

This is great! My concern though is the jump from the visual interface of Scratch to coding is a large one. I actually wrote an article a few weeks ago reflecting on the impact BASIC had on me: https://hackernoon.com/basic-inspired-a-generation-of-technologists-wha…. I wonder if there is something after Scratch that helps bridge that gap?

Also, the point about Scratch being packaged with the Raspberry Pi is the most cogent. What made both BASIC and Logo work was that they were everywhere and therefore extremely accessible.

I've thought about the same thing... it looks like the Scratch files are binary (if I remember correctly), it would be cool if one could port the graphical controllers to a cli based language like Logo. Maybe it exists. I just don't know.

In reply to by johnjones4

It's actually not as big of a leap as you might imagine as Scratch creates a solid base that can be built upon with more advanced code. I've found 10 year olds who spend just two terms coding with Scratch are able to move on to text-based coding in Processing more easily than 16 year olds with no prior Scratch experience.

The beauty of Scratch is that it provides important vocabulary and concepts, even if it is a bit simplified.

In reply to by johnjones4

I have seen similar results. As an elementary kid, my son worked with Small BASIC (on Petit Computer for Nintendo DS) for a few years before he started using Scratch. The transition from BASIC to Scratch was easy for him. He's been able to pick up other languages with ease because of his past experience with BASIC and Scratch.

In reply to by Cyanide Cupcake

Thanks for sharing your story!

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.