Scratch Coding For Kids is big at UCode. If you watch the video pinned above you will learn why. In this post,, we are going to answer the questions that parents have about Scratch and about learning to code with blocks. We are going to cover what age you can start coding in Scratch and what to look for in a Scratch class. We are going to show you where you can download Scratch for FREE and share with you examples of actual curricula we use at UCode because many homeschool parents can teach Scratch.
Finally, we are going to share how you can access our entire Scratch curriculum for Free, including instructional videos, curriculum, quizzes, coding exercises, and project steps. That is right all of this for free.
Here is how the article is organized:
What Is Scratch Coding For Kids?
What Type Of Coding Is Scratch?
What Age Can My Kids Start Coding In Scratch?
Can I Teach Scratch To My Child?
How To Choose A Scratch Class?
The Scratch Community And Free Resources
Frequently Asked Questions
Scratch is designed, developed, and moderated by the Scratch Foundation, a nonprofit organization. It was created by the Lifelong Kindergarten group at MIT Media lab. At the time it was a new paradigm in computing that took advantage of work done by Google allowing developers to represent coding concepts as interlocking blocks.
Scratch is the world’s largest coding community for children. As of 2020, Scratch ranks as the 19th most popular computer programming language in the world! 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, so we are going to deep dive on how block coding works in the next section. There are a lot of block coding languages pitched to kids. Let me rephrase that – post covid there are a lot of bad block coding languages pitched to kids.
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.
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, MIT is overhyping Scratch. Scratch is a tool and how you use it determines the learning outcome. It is a very good tool, but simply playing with Scratch is not going to turn your kid into a proficient coder.
Scratch is a tool. A paintbrush is a tool. A piano is a tool for making music. It is about how you use the “tool”, not the tool itself. We have been teaching kids to code since 2009 – actively teaching kids to code in schools, camps, labs, and online. We have run or currently run programs in Shanghai, Hong Kong, Hang Zhou, Taipei, Berlin, Ithaca NY, Los Angeles, Mexico, Costa Rica, and Saudi Arabia. So, we have taught thousands of kids to code and have some well-considered insights about different tools. The first is that you must have a plan to build coding competency in your child. The plan is more important than the tool. The second point is that kids learn to code by coding – not from books or YouTube videos or playing games. Practice is so important. Like the Piano or tennis or cooking, it takes practice to become good.
So, let us discuss the idea of a plan. In education, that plan is called a “curriculum”. If you want to write clean code, it is important that you build a strong understanding of the core computer science concepts. These concepts are used in any programming language, including advanced languages like Python, Ruby, Java, and React. The concepts are analogous to chords in music. To play an instrument well, you must understand the chord progressions. To write clean code you need to master the basic coding concepts. You can find a lot of Scratch projects on YouTube or the web but these are not curricula and they won’t teach the basic concepts in an ordered fashion to enhance learning and the pure joy that children gain from learning.
The point we are emphasizing is that Scratch is a tool and how you use it determines the learning outcome. Having a good curriculum is critical. We cover this more in the following sections. Read on!
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 text-based languages 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 — especially for students under 13 years of age.
As noted above, Scratch is a visual programming language where commands take the form of colorful blocks. Users can create programs by snapping blocks together, much like virtual LEGO. You can see the benefit of blocks for early learners – no syntax, a drag and drop interface, color cues, no typing. The blocks make it one of the most intuitive programming languages available.
Each block represents one of the commands that in a traditional programming language like Python the coder must write in the editor. Here is an example of a Scratch Block.
There are four main elements of Scratch: the Stage, the Sprites, the Script and the Programming Palette. The Sprite is the animated character – this one is named Scratch Cat.
To create a program, students use a drag-and-drop interface by connecting code blocks together on the Stage. Here is an example of a simple program. Hey, Mom or Dad – what will this program execute?
Scratch allows students to create games and interactive stories. The curricula that we are going to share with you focuses on games as these allow for deeper levels of computational thinking.
Scratch’s interactive stories follow a traditional story structure that kids are familiar with. We do not see value in these from an educational perspective. They will not teach your kids to code. So now you understand what Scratch is about, let’s cover what to look for in a Scratch course or curriculum.
Let’s begin with the observation that young learners are still developing cognitive ability. This goes on until their early twenties. When we design or evaluate curriculum we group students into three groups: a. 2nd Grade and under, b. 3rd to 8th grade, and over 8th. We do this because they all learn differently based on their cognitive development.
Scratch is typically recommended for children over the age of 8. We believe that age does not matter – reading level matters as it is a very good measure of cognitive ability. Kids can start learning to code as soon as they reach a 2nd-grade reading level. This means that they can actually read at a 2nd-grade reading level – not that they have started 2nd grade. If your child cannot read at this level there are toys and games that can support their learning as they develop their reading skills.
So if your student can read at a 2nd-grade reading level we need to begin to focus on computational skill development. Our goal is to develop strong computational thinking skills as these are the foundation on which higher-level skills writing clean code are based. What exactly is Computational Thinking? Computational Thinking is a problem-solving strategy that looks at the problem as a “system” and seeks to solve the problem wholistically. It is also called “critical thinking” or “design thinking”. It involves problem decomposition, analysis and solutions development as follows:
Developing Computational Thinking will help your son or daughter to build:
The best Scratch courses achieve two outcomes; 1. they build Computational Thinking Skills and 2. they focus on mastery of the basic computer science concepts. What are the computer science concepts that our “plan” or curricula need to cover? The 12 most important are:
These core concepts are used in Scratch and in advanced programming languages like Java, Ruby, React, JSS. Yes, they are expressed differently and often have subtle differences in how you use them, but they all share a common conceptual foundation. So, look for a course that covers these concepts and a pedagogy that stresses building computational thinking skills by presenting students with coding challenges. Avoid “follow-me” and teacher-led curricula like those used by Future School or Tynker. Yes, your kid will show you a cool game, but they didn’t really build it. They just followed the instructor.
Finally, the course must be assessed. That doesn’t mean a test – but it does mean an assessment that allows for measurement of learning progress. If they tell you, it is a project-based course and there is no curriculum then run, run, run. Ask to see the curriculum. Is it documented? If not then it is not real and you should run, run, run.
The length of a class should be 40 to 50 minutes and there should be 10 minutes for review and reflection at the end. If your student is under 10 years of age, we highly recommend individual instruction. They just need that much support at this age.
Here is an example of some lessons in Scratch. You can see a good lesson builds progressively starting with an introduction of the concept.
Scratch has a large community of users and there are thousands of games, ideas, and recommendations. Unfortunately, there is not a lot of good curricula. It is all a bit random.
We have decided to make UCode’s curriculum available to you for free. We have a state-of-the-art Learning Management System (LMS) that incorporates instructional videos (like those above), coding exercises, quizzes, and projects. We can also help with instruction, but most of you can teach your kids Scratch on your own. If you do need instructional support, we have a easy “Pay As You Go” program. No fixed class times, no recurring monthly subscriptions. We are there for you!
Yes. Scratch is a visual programming language where users can create programs by snapping blocks together, much like virtual LEGO. The blocks make it one of the most intuitive and easy programming languages available.
Yes, if your student can read at a 2nd-grade reading level then Scratch coding for kids can help with computational skill development. Developing Computational Thinking will help your son or daughter to build Problem-solving skills, Creative thinking abilities, Autonomy and confidence.
Scratch is a visual programming language where commands take the form of colorful blocks. Each block represents a command like “Turn Right”. Users code by snapping blocks together. You can see the benefit of blocks for early learners – no syntax, a drag and drop interface, color cues, no typing. The blocks make it one of the most intuitive programming languages available.
Scratch is available for FREE via web browser or download at http://scratch.mit.edu. Plus there are many free resources available from the large Scratch User Community.