Scratch that learning itch...
It's been a while since we've highlighted one of the cooler learning to program tools, so when I saw Rachel McCollin's recent post, Introduction to Scratch, I knew I had today's project.
You've all heard of Scratch?
Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.
As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.
Some of the other times we've highlighted Scratch:
- Scratch, the tool to help you grow your young geek
- "Coding for Kinect with Scratch" MVA Course
- Kinect 2 Scratch
- Kinect2Scratch gets a fresh new site and some updates too
One of the highlights of my week is the Code Club I run at my local school. Every Thursday, I spend an hour with some budding coders helping them learn the fundamentals of code.
Along with other code clubs and similar organizations and groups, our group started programming using Scratch. Scratch is an online tool which helps kids learn the fundamentals of how code works and lets them create their own animations, games and more.
As well as being a tool, Scratch is a community: users can share their projects, make copies of each others' and 'remix' them, which is a bit like forking code in GitHub and consists of copying someone else's project and adding your own improvements or changes to it. Instead of expecting learners to write their code from scratch, Scratch provides them with a set of blocks: lines of code which they drag into place to create their code.
In this series of tutorials I'll give you a detailed introduction to Scratch and how to use it. This first part will give an overview of how Scratch works and its main components and concepts. I'll cover:
- getting started
- assets: backdrops, sprites, costumes and sounds
- where to get help
First, here's how to get started with Scratch.
Getting Started With Scratch
Scratch was first developed in 2003 at the Massachusetts Institute of Technology. It started out as downloadable software but is now an online tool. It's completely free and is funded by grants from various organizations, including the National Science Foundation, Microsoft, Google and the LEGO Foundation.
To get started, just visit the Scratch website and sign up for an account with your email address.
Every time you create something in Scratch, you'll be working on a project. You can create as many projects as you like, share them and copy them. Each project stands alone and can't be linked to other projects.
Assets: Backdrops, Sprites, Costumes and Sounds
Every project you create will need some assets. There are four types of asset: backdrops, sprites, costumes and sounds. Costumes and sounds are assigned to spites, so you start by creating the sprite, and then you can give it a number of costumes and sounds. Use scripts to change the sprite's costume when something happens, or to activate a sound when something happens.
Scripts are what make your assets do stuff in Scratch. They consist of blocks of code that you drag into position on the canvas, and come under ten categories:
- Motion: scripts that position your sprites and make them move.
- Looks: scripts that change the way your sprites look, including changing their costume and hiding them.
- Sound: scripts to play sounds and change the volume.
- Pen: scripts that let the user write or draw on the project.
- Data: scripts that let you set and work with variables, for example to keep score or time a game.
- Events: these make things happen, and include the start flag being clicked, the user clicking on a sprite or a broadcast which you can create and have your sprites react to.
- Control: these include loops, conditional statements and pauses.
- Sensing: these scripts sense when things happen such as the mouse being used or sprites touching each other. They also include interactions such as asking the user a question.
- Operators: use these to compare values, maybe based on your user's response to a question or on a variable you've defined. For example, you might count the number of times the user clicks on the wrong thing and use an operator to check when this reaches a given number so you can display a message.
- More Blocks: this is where you add your own custom blocks.
Scratch is a fantastic, free tool that helps kids (and adults too!) learn how to write code without having to type the code out. It means they can learn how code is structured and what it does without the frustration of having to learn syntax and helps them get started quickly.
It's also lots of fun to use and has a huge community of users whose projects you can view and copy, which will help you learn in a practical way.
In this tutorial you've learned about how Scratch works and the main components of a Scratch project. As you work through this series you'll learn how to use all of these components to create your own projects. In the next part we'll start by looking at creating your stage and sprites.