(Also available in Pyret)

The earlier version of our materials is also available en espaƱol. Let us know if you can lend a hand translating the new version!

Lesson Plans

Computing Needs All Voices

Students learn about a diverse group of programmers through a short film and a gallery walk of our Pioneers in Computing and Mathematics poster series, then consider the problem solving advantages that diverse teams foster.

The Numbers Inside Video Games

Students play a simple video game, identifying which components are constant, which are variables, and how they change. They discuss their favorite games and think about the work involved in making them.

Coordinates and Game Design

Students learn that characters' positions in video games can be described using coordinates, then brainstorm the context and characters for the games they will design.

Order of Operations

Students learn to model arithmetic expressions with a visual tool for Order of Operations, known as "Circles of Evaluation".

Simple Data Types

Students begin to program, explorings how Numbers, Strings, Booleans and operations on those data types work in this programming language.


Students learn how to apply Functions in the programming environment and interpret the information contained in Contracts: Name, Domain and Range. Image-producing functions provide an engaging context for this exploration.

Function Composition

Students learn to combine image transformation functions as well as to describe the order of operations involved in algebraic function compositions such as f(g(h(x))) using Circles of Evaluation.

Defining Values

Students learn to improve readability, performance and maintanability of code by defining values that repeat in code, just as we would define variables in math.

Making Flags

Students recreate images of flags of varying complexity by transforming and composing image functions and applying their knowledge of ratios and coordinates to scale and position the shapes precisely.

Making Game Images

Students choose, import, scale and orient images for their game, practicing reading comments to make sense of and begin to edit a large body of code.

Functions Make Life Easier!

Students discover that they can make their own functions.

The Vertical Line Test

Students learn to distinguish functions from other relations.

Function Notation

Students learn to read function notation and evaluate expressions using function definitions, tables, and graphs.

Functions: Contracts, Examples & Definitions

Students learn to connect function descriptions across three representations: Contracts (a mapping between Domain and Range), Examples (a list of discrete inputs and outputs), and Definitions (symbolic).

Functions Can Be Linear

Students explore the concept of slope and y-intercept in linear relationships, using function definitions as a third representation (alongside tables and graphs).

Solving Word Problems with the Design Recipe

Students are introduced to the Design Recipe as a scaffold for breaking down word problems into smaller steps. They apply the Design Recipe to fixing a file that launches a rocket!

Functions for Character Animation

Students define functions that control the movement of the target and danger in their games.

Surface Area of a Rectangular Prism

Students define the shapes used to build a rectangular prism, print them, cut them out, and build the rectangular prism. Then they use their model to calculate the surface area.

Problem Decomposition

Students take a closer look at how functions can work together by investigating the relationship between revenue, cost, and profit.

Simple Inequalities

Students identify solutions and non-solutions of inequalities using an interactive starter file. This lesson also reviews the Boolean datatype.

Compound Inequalities: Solutions & Non-Solutions

Students build upon their understanding of Booleans and simple inequalities to compose compound inequalities using the concepts of union and intersection.

Sam the Butterfly - Applying Inequalities

Students discover that inequalities have an important application in video games: keeping game characters on the screen! Students apply their understanding to edit code so that it will keep Sam the Butterfly safely in view.

Piecewise Functions and Conditionals

Students learn how to define a function so that it behaves differently depending on the input.

Player Animation

Students apply their knowledge of piecewise functions to write a function that will move the player in their game in different directions and at different speeds depending on which key is pressed.

The Distance Formula

Students apply their knowledge of the Pythagorean Theorem and Circles of Evaluation to develop a function for the distance formula.

Collision Detection - Distance and Inequality

Students use function composition and the distance formula to detect when characters in their games collision.

Ordering Student Workbooks?

While we give our workbooks away as a PDF, we understand that printing them yourself can be expensive! You can purchase beautifully-bound copies of the student workbook from Click here to order.

Teaching Remotely?

If you’re teaching remotely, we’ve assembed an Implementation Notes page that makes specific recommendations for in-person v. remote instruction.

Other Resources

Of course, there’s more to a curriculum than software and lesson plans! We also provide a number of resources to educators, including standards alignment, a complete student workbook, an answer key for the programming exercises and a forum where they can ask questions and share ideas.

These materials were developed partly through support of the National Science Foundation, (awards 1042210, 1535276, 1648684, and 1738598). CCbadge Bootstrap by the Bootstrap Community is licensed under a Creative Commons 4.0 Unported License. This license does not grant permission to run training or professional development. Offering training or professional development with materials substantially derived from Bootstrap must be approved in writing by a Bootstrap Director. Permissions beyond the scope of this license, such as to run training, may be available by contacting