Learn to Program with Scratch

A Visual Introduction to Programming with Games, Art, Science, and Math
by Majed Marji

February 2014, 288 pp.
ISBN: 978-1-59327-543-3
Full Color
Contents | Reviews | Updates

Scratch is a fun, free, beginner-friendly programming environment where you connect blocks of code to build programs. While most famously used to introduce kids to programming, Scratch can make computer science approachable for people of any age. Rather than type countless lines of code in a cryptic programming language, why not use colorful command blocks and cartoon sprites to create powerful scripts?

In Learn to Program with Scratch, author Majed Marji uses Scratch to explain the concepts essential to solving real-world programming problems. The labeled, color-coded blocks plainly show each logical step in a given script, and with a single click, you can even test any part of your script to check your logic. You'll learn how to:

  • Harness the power of repeat loops and recursion
  • Use if/else statements and logical operators to make decisions
  • Store data in variables and lists to use later in your program
  • Read, store, and manipulate user input
  • Implement key computer science algorithms like a linear search and bubble sort

Hands-on projects will challenge you to create an Ohm's law simulator, draw intricate patterns, program sprites to mimic line-following robots, create arcade-style games, and more! Each chapter is packed with detailed explanations, annotated illustrations, guided examples, lots of color, and plenty of exercises to help the lessons stick. Learn to Program with Scratch is the perfect place to start your computer science journey, painlessly.

About the Author

Majed Marji is a senior development engineer at General Motors and an adjunct faculty member at Wayne State University in Michigan. He holds a PhD in electrical engineering from Wayne State University and an MBA in strategic management from Davenport University.

Table of Contents


Chapter 1: Getting Started
Chapter 2: Motion and Drawing
Chapter 3: Looks and Sound
Chapter 4: Procedures
Chapter 5: Variables
Chapter 6: Making Decisions
Chapter 7: Repetition: Definite and Indefinite Loops
Chapter 8: String Processing
Chapter 9: Lists

Appendix A

View the detailed Table of Contents (PDF)
View the Index (PDF)



"Fills a void in the current literature on how to play with and manipulate Scratch."
—School Library Journal

"Ups the ante on Scratch programming for kids and adults."
—Phil Shapiro, Make (Read More)

"A terrific resource for middle or higher grade educators who are looking for great Scratch projects that align to other content areas."
—Grant Smith, EdSurge (Read More)

"Marji has expertly expanded the range of Scratch’s intended audience."
—Katherine Noone, Voice of Youth Advocates

"...this book is aimed at the complete beginner, but it goes deeper, exploring powerful programming concepts that show how useful Scratch is, for kids and adults."
—Mark Frauenfelder, Boing Boing (Read More)

"This is another wonderful programming book for kids from No Starch Press."
—Richard Bejtlich, Chief Security Strategist, FireEye (Read More)

"A well-versed guide...THE manual that Scratch has been needing."
—Al Sweigart, author of Automate the Boring Stuff with Python and Invent with Python