Before I start, I should point out that Scratch is completely free and can be found here: http://scratch.mit.edu/
I was first asked to use Scratch about a year ago and I had no idea what I was letting myself in for. I hastily scrabbled around the Internet and found a couple of videos on the Scratch website. They weren’t as useful as I hoped and I admit to giving up fairly quickly.
I have since learned that from the Scratch website you can get hold of a fabulous resource called Scratch cards which are just simple user guides; these are absolutely great. In my previous post I talked about using Espresso Coding as a gateway and this was my next step once the more able children realised the limits of Espresso. I simply printed and laminated 4 copies of each Scratch card and placed them inside plastic wallets in a ring binder folder – the children all helped themselves to the cards and worked their way through them – all self differentiated. By the end of the the first lesson the class seemed much more independent and optimistic about coding and, with Scratch, they had to think more carefully and thoughtfully about what to produce.
Even better, as some children became more confident, I was able to start pushing them onto the harder Code Club Scratch resources and by the end of one full term of coding, I had several Year 3 children who had completed the whole of ‘Level 1’ of Code Club (which is aimed at Year 5/6 children). I’ll write a separate post about Code Club, however, as there is so much to say about that.
The basic set up with Scratch is that it is what is known as a ‘block-based’ coding language. That is, you drag and drop blocks in order to build your code. The children are expected to realise fairly early on that if you don’t put your blocks in the right place, things don’t do what you want.
It functions in its own operating system meaning that it can be confusing for children to figure out how to save (things aren’t in their usual place), but once you’ve got the hang of the basics, it becomes fairly simple to use.
You’ll see from this picture that you have four main sections to your screen – the block selection tools, the code box, the image you’re manipulating and the sprite selection.
The first thing I want to talk about is the sprite, which in Scratch refers to the thing that you want to manipulate and make move. This is separate from the background – you will notice on this picture that in the bottom right is both a white space and a tiny cartoon cat – the white space is the background, which can be changed, but not animated, as well as the current sprite, the cat. You can have as many sprites as you would like in the screen, but every time you write a piece of code, it only appears, and only works, for the sprite you currently have selected. You will not be able to type any code if you have the background selected and one of the most common mistakes I come across is children inputting their code onto the wrong sprite and then being frustrated when it doesn’t do what they want. You can also delete sprites either by right clicking or holding down control and clicking – any new document in Scratch always starts with a blank background and the cartoon cat.
Sprites can either be imported from the large selection Scratch provides, or you can draw your own using the paint tool – I even imported a photograph of myself once and made myself into an exploding firework.
The large box on the right is basically just the action window where you can see whatever it is you’ve coded so doesn’t need masses of information – I will draw your attention to the red dot (stop button) and the green flag (go button) as well as the mini tool bar containing an arrow (to select things), a stamper (to copy and paste code), scissors (to cut code) and two tools which will enlarge or shrink your sprite – I’m hoping they are fairly self explanatory so I won’t go into too much detail here!
The left hand column lets you select what type of code you want to build – you can see I am currently in the ‘motion’ section which allows me to select what movements I want my sprite to make – below are the control, sensing, looks and sound menus just so you get an idea of what you can do.
You’ll notice that some of the blocks have drop down menus – you can adjust what things do once you’ve dropped them into the coding section and can even embed them within each other.
When you are ready to start coding you simply drag the blocks into the code window and you’re good to go.
So let’s look in detail at the code window in the middle – it is from here that you can manipulate things – whether it be the sprite or the background. Starting with the sprite, you have several options from the outset:
Firstly in the top left you can either set it so that the sprite can rotate 360 degrees, flip horizontally or always face the same way. You can rename your sprite in the box next to it and export you sprite (if you’ve drawn a picture you want to keep safe or share). Below this you have “Scripts”, “Costumes” and “Sounds”. The Scripts tabs is where you input your code so that is fairly self explanatory, but the Costumes tab allows you to have a sprite which changes it’s appearance completely when a certain action is completed; the classic Scratch example is that there are two pictures of a cat, one with it’s left leg forward, one with it’s right leg forward, by switching between these two pictures you give the cat the appearance of walking. The code you would input would be along the lines of “When flag clicked, switch to costume 1, wait 1 second, switch to costume 2 wait 1 second” and then contain it in a repeat or forever loop (found in the actions tab)…..I realise I could’ve shown that sequence visually, with another screen shot, but it’s key that you start thinking in terms of what you are actually asking the computer to do in order to help understand how coding works.
Finally, the sounds tab allows you to import, or even record your own sounds that can be coded to occur when specific actions happen to the sprite.
I’ve only really Scratch-ed the surface here (get it…), but I just wanted to let you know how simple and effective this software is, once you get your head around it.
My next post will be about the Scratch resources supplied by code club and over the summer I really want to get to grips with GPIO Scratch on the Raspberry Pi, so you can probably guess that I am a big fan of this software. Please, feel free to email me if you want some tips and advice, but please bear in mind I’ve only really got to grips with Scratch since Spring 2014 so I may not always be able to help.