About This Project

This book was created by Dan Schellenberg, who was relieved of teaching duties with Saskatoon Public Schools for one period a day during the 2017/2018 school year to create something useful for the impending release of the Saskatchewan Computer Science 20 curriculum. This is hopefully the first of many open textbook projects for Saskatoon Public Schools, which is an initiative spearheaded by Wendy James.

Much of the content of this book is remixed from work others have done in the past, and would never have been completed otherwise.


Some of the ideas and progressions in the Scratch unit come from the Beauty and Joy of Computing, although they use the Snap! environment. Scratch itself is a project of the Lifelong Kindergarten Group at the MIT Media Lab.


The Reeborg environment was created by André Roberge, and I (Dan Schellenberg) made small changes to the version used for this textbook. The tutorials used for the Reeborg section are adapted from work done by Roger Frank, which were later converted to work for Guido van Robot by Jeff Elkner. Combined into these are tutorials written by André Roberge, along with ideas I added. Stefan Scott contributed many of the More Challenges worlds. The Mirror Image question in the Second Practice Quiz is based on an world created by Ted McLeod.


The Python section of the textbook is primarily a remix of How to Think Like a Computer Scientist. The original How to Think Like a Computer Scientist text is by Jeffrey Elkner, Peter Wentworth, Allen B. Downey, Chris Meyers, and Dario Mitchell. Since 2011 Brad Miller, David Ranum, Barbara Ericson, Mark Guzdial, and many others have built on the text making it interactive, and it is the interactive version that this project is adapted from. Thanks to Allen, Jeff and Brad, who agreed to allow me to release this remix under a Creative Commons BY-SA license.

Other Thanks

The Computer Science Implementation Support Team contributed many helpful suggestions and resources for the book.

This interactive book uses the Runestone Interactive tools, which you can find on GitHub. The Runestone Interactive tools allowed me to focus on the content, instead of worrying about how to present the content.

Computing and Society

The sections in the Computing and Society portion of the textbook that deal with the history of the world wide web and the basics of how to create webpages are adapted from the Fundamentals of Web Programming book by Brad Miller, which is released under a Creative Commons BY-SA license.

Media Used

The videos on How the Internet Works are made by, and are released under a Creative Commons BY-NC-ND license.

The images that are used for the Python Image Processing sections come from:

  • Pexels (CC0 license)
  • EmojiOne (CC-BY) - this applies to any emoji used in image processing

The CS20 logo (on the top left of the page) was created by Chrystelle Cayabyab, as part of her Graphic Arts course taught by Stefan Scott at Aden Bowman Collegiate.

The video file used in the HTML section was graciously provided by Stefan Scott. The audio file used in the HTML section was made by cynicmusic, and was released under a CC0 license.

Next Section - 1. Introduction to Scratch (Broadcasts)