KillerSites Blog

Scratch is not Coding

August 25, 2016
Scratch block
Scratch block

Schools are looking for ways to introduce coding into the classroom, and they have been told that dragging blocks on a screen is coding.

The most popular of these visual ‘code’ teaching tools, is an app called Scratch. The problem is, Scratch is not coding.

Here is a sample of some actual code – a little JavaScript:

function myFunction(p1, p2) {
     return p1 * p2;           

var person = {

Or how about some CSS3 code:

div {
    width: 300px;
    border: 25px solid green;
    padding: 25px;
    margin: 25px;

Now compare that above code snippets to the Scratch ‘code’ block in the top right.

Now as an educator, I ask myself if students will see the relationship between the Scratch block, with actual code? I personally don’t see it.

scratch cat
Scratch cat

A place for Scratch in a Code Curriculum

You could argue that Scratch is very simple programming, since you are controlling the character on screen with a series of commands. But given that nobody uses Scratch to do anything in the real world, why not teach students true programming and coding languages? With the right courses, lessons and supporting software, you can!

That said, Scratch can be used for elementary students in the 4-5th grade or younger, perhaps to introduce some basic coding concepts to students. But, I feel this will have a limited impact. Why?

Writing Real Code helps Internalize Concepts

I have been teaching code since 2003, and one thing that experience has taught me, is that the writing of actual code has a powerful impact in terms of understanding and internalizing coding concepts. It’s important to have students break out the code editor (a tool that coders use) and write code, break code and build actual projects.

… When students see their code come to life in real things, you will see their engagement skyrocket.

Hope this is helpful,

Stefan Mischook