What Is Scratch?
Scratch is a visual programming language and online platform that allows young learners to create their own programs, interactive stories, games, and animations. With a block-like interface, it is designed particularly for ages 8-16. However, it’s used by people of all ages, in homes, schools, museums, libraries, and community centers. Through Scratch, users can learn to think creatively, reason systematically, and work collaboratively by sharing their creations and discussing their ideas with each other.
History of Scratch
Developed by the Lifelong Kindergarten Group at the MIT Media Lab, in collaboration with the Playful Invention Company, the first desktop-only version of Scratch was developed in 2003. The second version of Scratch was released on May 9, 2013. In this version, custom blocks can be defined within projects; this version of Scratch allows users to program offline as an application that can be downloaded from the Scratch website.
Scratch uses a simple interface that consists of blocks representing different components of the programming language.
Stage: Located on the top left of the screen, this is the area displaying the visual results of the code. The stage display uses a x and y coordinate system, where (0,0) represents the center of the screen. The screen is 480 by 360 pixels, with:
- x = 240 being the far right
- x = -240 being the far left
- y = 180 being the top
- y = -180 being the bottom
Sprites and Backdrop: The lower portion of the screen allows users to change the backdrop of the program, or modify the sprites (characters on Scratch) used in the program. Users also have the option of customizing their own sprites and backgrounds. Users can choose a sprite/background from the Scratch library, draw their own sprite/background, upload a pre-existing photo/clip art, or take a photo using their camera.
Scripts: To add the background code for the program, users can select one of their sprites or backgrounds, then go into the Scripts lab to add blocks that represent programming elements. Blocks of command can then be applied to the selected sprite/background by dragging them onto the right area of the screen. Blocks are split into different categories depending on their function, which includes Motion, Looks, Sound, Pen, Data, Events, Control, Sending, Operators, and More Blocks
Costumes & Sounds: Users can also change the looks of a sprite or add sound to their program by going into the Costumes and the Sounds tab respectively.
5 Facts About Me: a project to familiarize students with the basics of Scratch.
Eat the Banana is a game where the player can use the arrow keys to move the monkey up and down in order to eat the bananas coming from the left side of the screen. We created this as a review of events in Scratch and to help students learn the concept of variables.
Crossy Road: a game in which the player needs to avoid all obstacles to get to the other side of the road. The purpose of this game is to help students understand the concept of coordinates and ways to make their sprites move on the screen.
Brick Breaker: this game was to further build on the concept of coordinates, and help students become familiar with conditional statements, loops, and the glide block in Scratch (all of which are advanced concepts).
How to Learn Scratch?
As a beginner programming language and platform, learning Scratch is easy, and everyone can pick up on it quickly. There is a step-by-step guide available inside Scratch, or you can download the Getting Started guide (PDF) from the Scratch website. Above all, the best way to learn Scratch is getting right into creating projects! The more you practice, the more familiar you will be with Scratch, and the more creative you will be.
The Scratch community also allows users to share their projects, so another good way to learn is to look at other people’s projects, and try to figure out yourself how their project works. There are also resources on YouTube that users can refer to when they are first getting started.
Another way users can learn Scratch is by taking CodeCoach classes!
How Is Scratch Used?
Scratch is used in teaching basic concepts in computer science, coding, and computational thinking. It is often used for educational purposes to expose students to computer science and programming at an early age. Educators use it as a tool across many subjects such as math, science, history, geography, and art. To this day, Scratch is translated into 70+ languages and used in every country in the world.
How Scratch Is Useful for Kids
In our digital world, it is becoming increasingly important for people to understand how a computer works, and to know how to create programs or softwares to enhance our daily lives. Scratch gives young learners an introductory experience to coding, and can help them develop a technical understanding of basics concepts in computer science. Through Scratch, users can learn to think systematically just like how a software developer thinks, and this trains them to be creative at a young age. Additionally, as computer science is beginning to be integrated into many school curriculums, having programming skills and an understanding of computer science is extremely beneficial.
How CodeCoach Teaches Scratch
The curriculum developed by CodeCoach not only teaches kids to use Scratch as a programming language, but it also exposes them to the important fundamental concepts in computer science, which will help students gain a solid technical foundation in coding. Using this approach, students will be able to understand computer science concepts, and apply their knowledge in learning other languages very easily (as many programming languages follow the same syntax and basic principles).
Each instructor works one-on-one with students to help them learn through doing – we teach them through building projects that apply the concepts students will learn, and give them challenges at the end of the lesson to enhance their understanding of the coding concepts. With one-on-one based learning, the pace of our classes are all based on students’ progress. Through CodeCoach, students will not only learn about computer science, but they will be able to develop confidence in their abilities, which will contribute towards their future success in academics and beyond.
Get started with CodeCoach today by contacting us for a free consultation call.