Open Source Scratch Books

Teach Scratch Programming with Open Source Books

Open Source Scratch Books

Scratch is a visual programming language developed by the Lifelong Kindergarten Group at the MIT Media Lab. Scratch teaches programming concepts to kids, offering a stepping stone to more complicated programming languages. Coding includes dragging and dropping various code blocks and linking them together like jigsaw pieces to form logical scripts. While the MIT Media Lab designed this language for 8-16 year-old children, it is used by people of all ages.

Scratch has received many plaudits as an ideal way to introduce kids to computer programming and computational thinking. It’s a fantastic beginner’s language. Scratch is often used to make games, interactive stories, and animations, but it can be used for any purpose. The language helps students to think creatively, reason logically, and work together.

Scratch is released under an open source license. The recommended texts in this article are also similarly licensed.

We have published a series covering the best open source programming books for other popular languages. Read them here.

Scratch Programming Playground

Scratch Programming Playground: Learn to Program by Making Cool Games

By Al Sweigart (288 pages)

This book is a perfect introduction to learning to program in Scratch. The author guides you through creating several video games in Scratch. By building the projects in this book, readers understand which blocks are often used to create video games in Scratch. These projects provide a solid foundation to build upon when creating original programs.

No programming experience is needed. Each program in the book is easy to make by following the step-by-step instructions. Readers learn about the code blocks and programming concepts as they make games that use them.

Chapters cover:

  • Getting Started with Scratch – shows you how to access the Scratch website and the different parts of the Scratch editor
  • Rainbow Lines in Space! – create an animated art project using basic code blocks and several sprites working together. You’ll also learn about directions and degrees
  • Maze Runner – make a maze game in which the player uses the keyboard to change the cat’s coordinates and escape through eight different maze levels
  • Shooting Hoops with Gravity – shows you how to make a basketball game that implements realistic gravity for jumping cats and falling basketballs
  • A Polished Brick Breaker Game – a remake of Breakout, the brick-breaking classic. The chapter covers simple techniques for taking a plain brick breaker game and turning it into a polished, exciting game with animations, sound effects, and more
  • Snaaaaaake! – features the classic computer game in which the player guides an ever-growing snake around the screen which gobbles apples. Gobble gobble. It explains how to use Scratch’s sprite cloning feature to make the stretching snake body
  • Fruit Slicer – make a clone of the hit smartphone game Fruit Ninja, in which the player slices fruit in mid-air
  • Asteroid Breaker . . . in Space! – features a clone of the classic space shooter Asteroids. Smash space rocks. You’ll add mouse and keyboard controls to the spaceship
  • Making an Advanced Platformer – explains how to create a platform game inspired by Super Mario Bros with walking and jumping animations, platforms, and AI-controlled enemies

Scratch Programming Playground is free to read online under a Creative Commons license.

Learn to Code with Scratch

Learn to Code with Scratch

By The MagPi Team (92 pages)

This book helps you start coding with Scratch, guiding you step by step through the process of creating all sorts of projects: games, animations, quizzes, electronics circuits, and more. It’s educational and bags of fun.

Chapters cover:

  • Getting stated with Scratch – shows you how to make your first Scratch script
  • Bouncy Hedgehog – make your first game. The chapter shows you how to bring in new sprites and backgrounds, and how to use the bracket blocks and diamond blocks in your projects
  • Lost in Space – program your own animation of a spaceship heading for Earth, using a scaling effect to make the ship smaller as it moves into the distance
  • Chatbot – create your own talking robot which responds to text input
  • Boat Race – create your own boat race game, complete with mouse control, collision detection, and on-screen timer
  • Ada Poetry Generator – generate random poems
  • Light an LED – hook up a button-activated LED
  • LED Traffic Lights – use three LEDs and a push button to create your own pedestrian crossing
  • Multiple-Choice Quiz – dazzle your friends with your own quiz game
  • Add a Title Screen – shows you how to add a title screen with instructions and a fun animation
  • Add a High Score Table – keep players coming back for more by keeping a record of the best scores, and telling them how they measure up
  • Build a Space Shooter – create an impressive 3D space shooter, using nothing more than Scratch and some clever coding techniques
  • Quick Reference – a handy reference guide to Scratch’s interface, GPIO functionality, and all of its code blocks

The book is licensed under a Creative Commons license.

Creative Computing

Creative Computing

By Karen Brennan, Christan Balch, Michelle Chung (154 pages)

This guide is a collection of ideas, strategies, and activities for an introductory creative computing experience using the Scratch programming language.

The guide can be used in a variety of settings (classrooms, clubs, museums, libraries, and more) with a variety of learners (K-12 teacher, college instructor, parent, young learner and beyond). No prior experience with computer programming is required.

Chapters explore:

  • Getting Started – dive into an initial creative experience by making something “surprising” happen to a Scratch character
  • Exploring – a series of activities that provide varying levels of structure – from a step-by-step tutorial, to a creative challenge using a limited number of blocks, to open-ended explorations through making a project about yourself
  • Animations – play with visuals and audio in these activities focused on animation, art, and music
  • Stories – create new interactive worlds through collaborative storytelling
  • Games – connect fundamental game mechanics such as score and levels to key computational concepts, such as variables, operators, and conditionals. Analyze your  favorite games, imagine new ones, and practice game design by implementing (and extending) classic games, like Pong
  • Diving Deeper – revisits work from prior units, further exploring advanced concepts or helping others by designing new activities or debugging challenges
  • Hackathon – design and develop your own project through iterative cycles of planning, making, and sharing

The guide is released under a Creative Commons Attribution-ShareAlike license.

An Introduction to Computing Science: Starting from Scratch - (updated 2016 using Scratch 2)

An Introduction to Computing Science: Starting from Scratch – (updated 2016 using Scratch 2)

By Jeremy Scott (75 pages)

This book seeks to introduce learners to Computing Science via the Scratch 2.0 programming environment.

Chapters cover:

  • Scratching the Surface
  • Story Time
  • A Mazing Game
  • Get the Picture?
  • Forest Archery Game

Some of the material within this resource is based on existing work from the ScratchEd site, reproduced and adapted under Creative Commons license.

An Intermediate Course in Computing Science: Itching for More

An Intermediate Course in Computing Science: Itching for More

By Jeremy Scott (74 pages)

This resource is intended for use with learners who already have some programming experience – possibly from Starting from Scratch: An Introduction to Computing Science.

The guide seeks to consolidate learners’ understanding of Computing Science concepts, with a focus on abstraction and modularity, via the BYOB programming environment developed by the University of California, Berkeley.

The programming section covers:

  • Haunted House Game – a broad reintroduction to programming for learners
  • Fancy a Chat? – identifying a problem and its associated sub-problems
  • Guessing Gamer – creating procedures in code
  • Hungry Frog Game – further work on procedures, problem decomposition and stepwise refinement
  • Shaping Up – introducing simple parameters to create more generalised and flexible procedures

Some of the material within this resource is based on existing work from the ScratchEd site, reproduced and adapted under Creative Commons license.

Computer Science Concepts in Scratch

Computer Science Concepts in Scratch

By Michal Armoni and Moti Ben-Ari (230 pages)

Computer Science Concepts in Scratch familiarizes you with the Scratch visual programming environment, focusing on using Scratch to learn computer science.

The book is structured as a collection of tasks. Each chapter teaches a new concept, but the concept is introduced in order to solve a specific task such as animating dancing images or building a game. Each chapter starts with a simple task, but as soon as we solve one task, we add additional tasks to extend the existing task. The sequence of tasks will require a new construct of Scratch or the use of constructs you know in new ways.

The book was written for Scratch 1.4, but the authors have written a supplement covering the changes in Scratch 2.0.

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

PROGRAMMING LANGUAGE PROFILES

Assembly, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Go, Java, JavaScript, Perl, PHP, Python, R, Ruby, Scratch, Swift

Leave a Reply