Skip to content

The Teacher’s Guide To Scratch: Book 3 – Advanced


Excerpt From Book 3: “In our first project, Bar Charts and Data Files, we’ll take a look at the data science-side of CS and explore how we can import, export, alter and present data in Scratch. It’s a relatively simple template designed as a starting point for working with data. It will present the basics of getting and working with data that can then be extended and remixed into any number of powerful and interesting uses. In our Point-and-Click Adventure we show a more advanced form of narrative-driven game with complex state tracking, inventory system, direct character control and more interactive elements. This gives a powerful tool for bringing stories to life that allow creators to blend author’s narrative creation with player’s agency in choosing when and how to explore the world and story. Our Platformer Game provides more work with game physics with lots of examples of how to create interesting movement and interaction systems. It also shows some more powerful methods for animation and state control for more professional looking, and acting, games and projects. Lastly, our Scrolling Shooter takes us into space to pilot a spacecraft flying through an infinite starfield fighting endless waves of enemies and confronting a final boss! This project helps teach more about AI, including movement patterns and states. It shows some clever tricks for Scratch to work with clones in complex and interesting ways, even having clones make other clones! We even deal with cloud variables and create a global high score leaderboard!

This book will hopefully guide you through the last remaining untouched concepts in Scratch to help you fully master working with the platform. With the advanced techniques and concepts from these last four projects we’ll review all twelve projects from the series with new ideas about how to revisit them with new eyes and try some new things with these older simpler projects. These ideas for extra features and revamps are a great way to challenge your most advanced students if they need some more work to keep them busy and challenged.”

Chapter abstracts

Welcome to Book 3 of The Teacher’s Guide to Scratch series! This series was developed as your all-in-one guide to becoming proficient with coding in Scratch and bringing it into your classroom practice. We’ve covered off an introductory course in Book 1: Beginner, our first book, and we pushed into the real heart of Scratch coding in Book 2: Intermediate. In this book we’ll be covering advanced Scratch coding and getting into the deep details of how Scratch can work.

Before we get started with advanced Scratch, let’s take a look back at our previous two books and what we’ve covered so far. Whether you’ve been following the series or you’re just jumping in at the end here, having a clear understanding of how we’ve broken down our learning process and reflecting on already-developed skills and principles will help us make sure we’re on the right footing for this final part of the process.

As we approach the limits of what Scratch can do, it can help understand where Scratch fits in the larger picture of the world of coding. I wrote this series of books to help those new to the world of coding and chose Scratch as the best tool for getting started, but where does the rest of the journey lie? This book is about the last stage of using Scratch, so we want to contextualize what Scratch is good for and when you should start looking and moving past.

Advanced Scratch is an open-ended stage of use, pushing it to its greatest possible uses. The question is, then, when do we start considering a user to be advanced? No definition can be hard-coded, with so many different features and purposes; the definitions are as diverse as the users. We can think about advanced Scratch more in how a user works with Scratch than if any singular code block or coding pattern is or isn’t being used.

In this project we’ll look at Scratch as a data visualization platform. We’ll use it to create a bar chart that can dynamically create data, have it code or hand-entered or imported from data files. We’ll create methods that will automatically adjust its size and scaling to learn some important concepts around spacing, planning, and calculation as well as how to work with Scratch’s list variables, an important step toward more advanced data processing skills in computer science. It’s a simple start project for data visualization that should spur on all kinds of alternatives and customizations. This project should take around 45 minutes to create.

For our first advanced game project, we’ll be looking at point-and-click adventures. This genre of game combines the storytelling from our earlier Interactive Story project with a more open-ended flow, with players taking direct control of a character to freely move and interact with people and objects in the environment. With no set linear path but rather needing to adapt to the player moving around and making decisions in any order of their choosing, this is a step up in complexity when compared to previous projects. Here, we’ll follow the story of Avery trying to get her bandmates ready for a concert while wandering around town, meeting different characters and dealing with many objects. In around three hours, we’ll end up with an adventure story full of interactive components and a framework for tracking progress through the story.

This project is perhaps the quintessential video game for most kids. A platformer game has players controlling a character that can run and jump around the level, generally a side-on 2D area, with multiple platforms to move around and between. These games focus on exploration and acrobatics, with players learning to use timely and accurate movement to negotiate their way through challenging courses. With multiple levels to work through, we’ll see lots of classic mechanics from platformers which will provide a wide range of possibilities for designing interesting and challenging levels. Players will need to get to the waypoint flag to unlock the final exit, but they can lose a life to spikes or falling off-screen. In around two hours (for adults), we’ll build our basic platformer, though it gets tempting to add in more levels to extend the project.

Our final project launches us into space for an arcade classic, the Scrolling Shooter. Here, players will control a spaceship flying through space while blasting away alien invaders. We’ll have lots of action with waves of different types of enemy clones. Health levels and graphics not only show destruction animation but damage states as well. Work the way through battles to face off against a boss, a larger, more powerful enemy, to win the game. Additionally, multiple difficulty levels will be available for a range of play experiences. In around three hours (for adults), we should be able to build our basic Scrolling Shooter, with plenty of options for extending it.

Now that we’ve completed our final three advanced projects, let’s stop and reflect on our progress. We’ll go over the key techniques and concepts we’ve worked with in our advanced projects, then we’ll discuss teaching practices.

You may have noticed while building the projects that some things could be done differently. Maybe a feature you thought should be there was missing, maybe the myriad of techniques we showed could be simplified to your one favourite method, or some other changes. These projects were built with plenty of room for improvement in mind. Some were simplified to fit the learning curve, or to provide a diversity of concepts, or even to fit a more linear path of development while retaining usability at every stage. There were a lot of considerations to make while building the example projects, and having them calling out for you to make them your own was always planned for and intentionally put there to inspire you to try improving them.

Perhaps nothing strikes fear into teachers told to integrate coding into their classroom more than the thought of dealing with bugs, errors, and computer trouble. Admittedly, coding can throw a lot of surprises at you. Earlier, we even said bugs are a part of the process. This might not be very reassuring talk, but just like coding itself, we can prepare ourselves for these eventualities. Here’s some advice for the most common problems faced in the classroom when teaching with Scratch, in an attempt to arm you with the knowledge and practice to overcome most of the potential issues you’ll face.

With that we complete not just this book but this series. I’d like to thank you for taking the leap and giving coding education a fair shot, and for the honour of being your guide to get started. In this last book, we’ve searched out the last remaining functionality of Scratch we hadn’t yet put to use. We’ve pushed up against the ceiling of its capabilities, seeing how our ideas have pressed up against its protection protocols, or the size and complexity of our projects are beginning to strain the use or comfort of working with the editor and code blocks. You can never complete learning coding any more than you can finish learning art. We’ve developed our skills and understanding to a level of mastery, though, able to engage and use Scratch to its full potential.

Where To Buy It

Routledge (Publisher)
Barnes & Noble (US Bookstore)
Amazon (US Bookstore)
Indigo (Canadian Bookstore)
Blackwell’s (British Bookseller)
Waterstones (British Bookseller)
Angus & Robertson (Australian Bookstore)
FNAC (French Bookstore)
Thalia (German Bookstore)

Projects Links

Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7