Hello and welcome to Getting Started with Scratch. Scratch is a programming language available from the MIT Media Lab. So what is Scratch? Scratch is a programming language, but it's specifically designed for education. Consequently, it's easy to use and is designed for people of any age or experience level. It's designed to be visual, colorful, and graphical, and it uses kind of a legal blocks approach where you connect different blocks together to build a program. And it's mostly designed to be fun. So what do you get Scratch? Scratch is available from the MIT Media Lab, and it was actually developed by a group that has the fun name of the lifelong kindergarten group. You can download it directly from their website at scratch.mit.edu and it's available on a number of different operating systems including Windows, Apple, and Linux. So to download Scratch, first open your browser and point it to scratch.mit.edu and click the download scratch button. You'll then see a form which you should fill out. And by the way, if you're under 13, don't fill out your email address information. And then finally, click continue with Scratch Download. This will take you to a new screen where you can choose which one of the operating systems you want to use. Just click on the program to download it to your computer. After you download in the install scratch, you can start it by double clicking the desktop icon or by clicking the program from your start menu. So let's get started. When you first start scratch, this is what you'll see on the screen. So you'll see the little scratch character. And Scratch tends to call this a sprite, although I tend to call it an actor. And the actor works on a stage, this big white area here. This empty area is where we're going to write a script. And we create that script using the functions shown on the far left. So we can change what the actor, how the actor moves, what he looks like, the sound he makes, control, various functions, and then there's more advanced capabilities that I'll talk about later. But let's do something really simple. So let's say I want the actor to move on the stage. So I'll come over to Motion. And one of the functions I have here is move 10 steps. So what I can do is just click my mouse and drag it over here to my script. And by default it says move 10 steps. But let's say I wanted to move a hundred steps. There, I've just written a program. Now the great thing about Scratch is you can build things and test them and you don't have to worry about hurting anything. So if I want to try making my actor move here, all I have to do to run my program is click on it. And if you notice on the stage, my actors moved off the stage. So I'm just going to drag them back on here for a second. So I don't want to move it all the way off the stage. So let's say that every time you move a hundred steps, I want them to turn 90 degrees. So in this case I'm going to turn clockwise or to the right. And to make it 90 degrees, I just change it to 90. And there again, I click on it. I can make a move 90 degrees. Now if I wanted to move and then go 90 degrees, all I have to do is drag this block into this block and see how it lights up. And it will automatically snap together just like ligas. So every time I click on it, my little actor move a hundred steps and turn 90 degrees. And again, and again. Now instead of having to click to have him do that every time, I can control how he does that. So here's my little control features. And I'm going to grab a block here called repeat. Now repeat says how many times I want to do something. So I want him to move and turn four times. Notice there's a space here. And in that space, I'm going to take my existing program and I'm going to drag and drop it into here. And notice how the control box automatically surrounds the function that I created. So now let's watch what happens when I click on that function. Good luck fast because you move quickly. That's probably too fast. So let's make a modification to our program. Now in order to grab this little piece, again, I just click and drag. Notice I can just take it right out of there. And I'm going to put a little function in here. So I'm going to drag this one down. And what I want the program to do is move 100 steps. And then I want it to wait one second. So again, I'm just going to have to hook these together. Now I grab this entire block, put it back and repeat. Now watch what happens. So I get a nice little weight in there so I can see what's going on. And to make things a little more interesting, I can also add a pen. So I'm going to say, pen down. And now when I run my program, look what happens. So it creates a little box. Now, if I'm playing around, I might mess things up a little bit. And that's okay because I can also create a function to make things all nice and neat. So I can clear my screen. We'll add a little more complexity to that in a second. So let's say that I want to make something a little more complex. I'm going to keep moving 100 steps. I'm going to take this entire program out for a second. And I'm going to remove the weight function. And if I want to delete something, I just right click the mouse button and hit delete. I'm going to put this back in here. So we're going to move 100 steps and then turn 90 degrees. I'm going to do something a little bit different. I'm going to go 105 degrees. And I'm going to have him do this, let's say, five times. Now watch what happens. So now he's going to turn off in a strange direction. If I keep running this over and over again, it makes a nice little geometric pattern. But now if I hit clear, the actor stays at the same angle in the strange position that he's in. So let's see if we can't fix that a little bit. Let's go back to motion. And one of the things I can do is say I want him to go to a specific location on the stage. Now the stage, the middle of stage is at location 0, 0. So this is the x direction and it goes from minus about 240 to plus 240. And up and down is the y direction. And it goes from minus, I guess about 180 to plus 180. And you can see where the mouse is pointing at any point in time. Down there. So I want my actor to return home to location 0, 0. Oops, he got a little line here. So I probably want to do my clear after I do that. And I want the actor to point in the direction of 90 degrees. So let's see what happens when I run that. And so he's back to normal. So I can run my function as many times as I want and always return home. I can also clean up my script just by again right clicking on the mouse, clicking clean up and it'll make everything nice and pretty. So again, this is my actor or my sprite. Back here is the stage. And down here it shows you the different actors that are on the stage and the stage. So instead of a boring stage, it's all just a plain white field. What I can do is change the background. So I've clicked on stage. And again, I can write a script for that if I want. And I'm going to go over here to backgrounds. And I'm going to import a picture from those available inside scratch. So let's add something from nature. And let's give it a desert scene. And now I can go back to my sprite. I can go back to my scripts. And I can run my little function there. And again, I can clean up afterwards. Now you can also change the sprite or add a new one if you like. So for example, on this one, I can delete this actor. And notice it also deletes the script. So remember that. And I can pick a new sprite from a file. So for example, I can pick one of the animals. So let's say that I really like Buffalo. So there we have a Buffalo on our stage. Now if it's not something that I like, I can pick something new so I can actually paint my own sprite if I want. So you can use all kinds of drawing tools and make your own. Or you can import a sprite from someplace else in your system. So again, a large number of sprites is part of its system. And that's kind of a quick and dirty introduction to the scratch development system.