Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Phase 1 — Scratch

Welcome to the first phase of the From Scratch Programming Class. This is where you start.

What this phase is

Phase 1 teaches you the ideas of programming using a tool called Scratch. You don’t type code — you snap colorful blocks together. The blocks make a cat (and other characters) do things on a screen.

That probably sounds like a kid’s toy. It is, sort of. It’s also how millions of people learn to program for the first time, because Scratch lets you focus on the thinking part of programming without getting tangled up in typing, spelling, and weird symbols.

By the end of Phase 1, you’ll have built a complete, playable game of your own design. Then in Phase 2 we’ll switch to a real programming language (Python) — and you’ll discover that almost everything you learned in Scratch carries straight over.

What you’ll learn

The nine sessions of Phase 1 teach the core ideas every programmer uses, every day, for their entire career:

SessionIdeaWhat it lets you do
1Welcome & the peanut butter problemUnderstand why precision matters in programming
2SequencesTell sprites to do things, in order
3LoopsMake sprites do something many times without writing it many times
4EventsControl sprites in real time with the keyboard and mouse
5ConditionalsLet your program decide what to do based on what’s happening
6VariablesMake your program remember things, like a score
7Putting it togetherCombine everything into one small game
8-9Milestone projectPlan, build, and demo a game of your own

Every one of those concepts shows up again in Python (Phase 2-4), in desktop apps (Phase 5), in 2D games (Phase 6), in web pages (Phase 7), and in web applications (Phase 8). What changes is the language and the tools. The ideas are the same.

What you’ll build

By the end of Session 7, you’ll have built a small arcade-style game called Apples and Rocks: a cat that catches falling apples for points and dodges falling rocks (one rock and game over). Combines every idea from Sessions 2-6.

By the end of Session 9, you’ll have built a second game of your own design and shown it to the class. Could be a maze, a pet care game, a clicker, a story, a quiz — whatever you imagine, using everything you’ve learned.

What you’ll need

If you’re in the class at Old Zion Hill, the answer is: nothing. The class provides a computer with Scratch already installed, and you keep it.

If you’re following along on your own, you need:

  • A computer (any computer — Windows, Mac, Linux, even a school Chromebook works).
  • Either an internet connection (so you can use Scratch at scratch.mit.edu) or Scratch Desktop installed on your machine. The Installing on your own computer appendix has details.

How sessions work

Each session is one class meeting, about 90 to 120 minutes long. Every session has the same shape:

  • Part A introduces a new idea with a guided exercise. If class gets cut short, Part A always stands on its own.
  • Part B is open-ended practice or a project that uses Part A. Sometimes tiered into base / stretch / extension goals.
  • Wrap-up is a few minutes of sharing what you did.

Each session also has an If you missed this session section near the end of the chapter — about 20 to 30 minutes of self-paced work that gets you ready for next week if you couldn’t make it.

Where to start

Session 1: Welcome & the peanut butter problem is where it begins. If you went to class, that’s the chapter that matches what we did. If you’re starting from this textbook on your own, that’s where to read first too.

When you’re stuck, the Getting unstuck appendix has a checklist that helps. The Glossary explains the vocabulary words we use in class.

Welcome. Let’s go.