Programming is the process of designing a sequence of instructions to be interpreted and executed by some processing unit. Programming exists to create software. Aside from the keyboard, mouse, monitor, hard drive, and peripherals of a computer (the hardware), most of what people are familar with when they interact with computers (including iPhones, iPads, etc) is software. Thus, understanding the basic concepts in programming is the first step in understanding how a computer really works and is ultimately the first step in creating your own software.

Programming can take place in various environments from simple text editors to fully graphical programming interfaces. In this book we focus on graphical programming in Scratch 1.4 (the latest version at the time of writing this book). If you do not already have Scratch installed on your computer you can find it on the following MIT website:

When you open Scratch, you should see three panels:
For now, let's focus only on the far left and far right panels (ignore the center). The left panel is where you will find all of the basic programming constructs which in Scratch are called blocks. Most of these are commands that you can send to Scratch. We'll explain what the rest are in the second chapter. The right panel contains the Stage which is where all the action occurs. You will notice that on the Stage there is something called a Sprite. A Sprite is simply a 2-dimensional image usually with a transparent background. In this chapter, we will become familiar with the commands in Scratch and at the end of the chapter we will write our first program.