I took a project-based approach in this book. So, instead of working with a single project, each chapter creates something new.
While I may want to tell a story, you may want to create a game, build an animation, or explore an interactive art project. By working with a range of projects, we'll quickly learn and focus on the concepts that matter the most.
The more ideas we generate, the better off we'll be when it comes to helping our children or students learn Scratch. Feel free to adapt the projects in this book to your own needs. Reuse them as needed.
It's true that Scratch will teach us how to program, but it really just provides us a visual framework. We can use this framework to express creative thinking while we learn how to do the following:
Design the project's scenes and interfaces
Analyze behavior and troubleshoot problems
Improve the project through revisions
Share our imagination with our peers through our projects
I expect that after we get started, you'll have your own ideas about a project or a variation on the current exercise. Keep a pen nearby and write those ideas in the margin.
Here's a chapter-by-chapter look at what we'll cover in the book.
You're reading this chapter right now. You'll find out what we can expect from Scratch and how it can help us teach 21st century learning skills.
Scratch is a cross-platform application, which means you can use it on Windows, Macintosh, and Linux operating systems. In this chapter, we'll look at the installation procedure on each operating system and even learn how to run Scratch from your USB flash drive.
We'll also make sure your web browser can view Java applets, which is the technology Scratch uses to publish projects on the Web.
We will explore the Scratch interface and create some simple scripts that demonstrate how easily we can build a project. This is a high-speed tour of Scratch that gets us tinkering and thinking about what's possible.
Sharing is a central philosophy to Scratch. Each project we upload to the community web site will be available under a Creative Commons Attribution-Share Alike license. Since we don't have any work to share, this gives us an idea of where we're heading. We'll demonstrate how to find and download a project to inspire us.
In Chapter 4, we will slow down the pace and talk about the concepts in more detail. We will also create two projects; the first will be an animated birthday card, and the second will be a picture slideshow using our favorite photos.
We'll use the Paint Editor to design images for the project and transform those images with various graphic effects. We'll also learn how to control the sequence of our scenes.
We will develop a barnyard humor book that lets us shine as storytellers. We'll find out how to turn our chapters into scenes using Scratch.
Our sprites will change appearances, speak, make noise, and report to specific stage coordinates. The emphasis will be on how to use these elements to tell their story.
In Chapter 6, we will take a classic pong game that's included with Scratch and give it a little personality. Our Scratch installation comes with a classic looking pong game, so rather than start over, we'll modify it.
The central concepts in this chapter include dynamic interaction and conditional statements to control how our paddle and ball move across the stage. We will also introduce variables as a way to store and retrieve information for use in our programs.
Here, we will visit the fortune-teller and learn the answers to all our deepest questions. It might be more appropriate to say we'll build the fortune-teller game, so we shouldn't really trust our "fortunes."
In Chapter 7, we will combine what we know about variables with lists, also known as arrays. We will use the lists to store information about our fortunes and use random numbers to retrieve the data. Variables store dynamic data that we use to determine how our program should behave.
Chapter 8 proposes the following problem: Would you rather have a dollar today that doubles every day for a set number of days? Or, would you rather have a lump sum of money? We will build the program to answer that question.
This chapter compares the power of doubling versus the accrual of simple interest. We'll make the math problem interactive and allow the user to input custom starting values. Then, we'll show the results in a graphical format using the pen tool.
We're back to sharing. In Chapter 3, we learned how to download a project from the Scratch web site. In Chapter 6, we transformed a Scratch project to meet our own needs. In Chapter 9, we will give back to the Scratch community by making our own project available on the web site for others to enjoy and adapt.
In the process, we'll review the many ways in which we can promote our project to gain fans. For advanced users, we'll incorporate our Scratch projects on our own web server.
We'll add our own personal touch to Scratch in Chapter 10 by connecting a webcam and a PicoBoard to our computer. The PicoBoard is an add-on piece of hardware that connects to our computer and delivers real-world stimuli to Scratch.
If you don't have a PicoBoard, you can still review this chapter to see what kinds of things you can do. Then, you can decide whether or not you want to get one. For example, this chapter gives us an example of how to program gravity that may be useful in your game whether you use a PicoBoard or not.
To demonstrate the board's light, sound, button, slider, and electrical resistance sensors, we will modify existing projects.