Oct 23 / Academic Director

What Is Scratch Coding?

Scratch is a visual programming language designed to introduce coding concepts to individuals who have little to no prior programming experience. It provides a beginner-friendly environment where users can create interactive stories, games, animations, and simulations by snapping together colorful blocks of code. 
Scratch is the world’s largest coding community for children. Scratch is designed, developed, and moderated by the Scratch Foundation, a nonprofit organization but was created by the Lifelong Kindergarten group at MIT Media lab. Scratch is always free and is available in more than 70 languages, which is amazing when you think about it.
Scratch’s visual interface is representative of all “block-based” programming languages for kids. What does this mean? The world’s major coding languages are “text-based,” meaning that code is written by typing words and symbols with your keyboard. To code in a text-based language like Python, Java, and C++, you string together multiple lines of code in an editor or IDE. While this method of programming is efficient and powerful, it is difficult to learn— just like picking up a foreign language. 
Scratch is a visual programming language where commands take the form of colorful blocks. This graphical interface allows users to create programs by dragging and dropping blocks of code. Each block represents a programming command and users can create programs by snapping blocks together, much like virtual LEGO.  

The Benefit of Blocks
The benefit of blocks for early learners is that it becomes accessible to younger students who have not yet developed their reading skills. Learning to code is generally a difficult task for young students as it commands a high cognitive load, as well as introduces concepts that are often difficult for young learners to grasp. Block interfaces simplify this problem – picking a block from a selection is far easier than remembering a word. The block format relies on recognition instead of a recall, which in turn facilitates learning at a faster rate.
Scratch’s use cases are broad and diverse. It is widely used in educational settings to teach programming concepts and computational thinking to students of all ages. We use it with college students who want a gentle ramp into the world of programming. For younger learners, Scratch is suitable for creating animations, interactive stories, and simple games, allowing users to showcase their creativity and storytelling skills.
According to MIT “Scratch promotes computational thinking and problem-solving skills; creative teaching and learning; self-expression and collaboration; and equity in computing.” In reality, it does none of that. Scratch is a tool and how you use a tool determines the outcome. Scratch is a very good tool, but simply playing with Scratch is not going to turn your kid into a proficient coder. 

Core Concepts

Our curriculum uses Scratch to introduce students to build a strong understanding of the core computer science concepts. As we have introduced, these core concepts are like chords in music and to play well you must understand the chord progressions. Look for courses that introduce the following: Operators, Variables, Data Types, Strings, Functions, Arrays, Comparisons and If/Else statements, Elif statements, While Loops, For Loops, Nested Loops. These are the same core concepts used in any advanced programming language; Java, Ruby, React, and JSS. Yes, they are expressed differently and often have subtle differences in how you use them, but they all share a common conceptual foundation. Look for a curriculum focused on teaching these concepts. We have posted one on the UCode YouTube channel. 
Scratch is available for download at http://scratch.mit.edu. Once Scratch is downloaded to a computer, you do not need Internet access to create a project. Scratch is typically recommended for children over the age of 8. We recommend a 2nd-grade reading level to get the most out of Scratch
Created with