We provide all of our materials free of charge, to anyone who is interested in using our lesson plans or student workbooks.

## Lesson Plans

Order of Operations

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

Domain and Range

Students encounter String and Image datatypes and use "contracts" to make sense of the domain and range of functions.

Function Composition

Students encounter new image transformation functions and strengthen their understanding of Circles of Evaluation by using functions within other functions.

Defining Values

Students learn how to define lines of code as a set value that can be used repeatedly in different situations, similar to a variable in math.

Making Flags

Students compose the image functions they’ve learned, applying their knowledge of coordinates to position differently-shaped and transformed images to create flags of varying complexity.

Defining Functions

Students discover functions as an abstraction over a programming pattern, and are introduced to a structured approach to building them called the Design Recipe.

Solving Word Problems

Students discover functions as an abstraction over an arithmetic pattern, applying the Design Recipe to traditional word problems.

Restating the Problem

Students apply their skills in using the Design Recipe and writing purpose statements to a variety of word problems.

Character Animation

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

Problem Decomposition

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

Introduction to Computational Data Science

Students are introduced to the Animals Dataset, learn about Tables, Categorical and Quantitative data, and consider the kinds of questions that can be asked about a dataset.

Starting to Program

Students begin to program in Pyret, learning about basic datatypes, operations, and value definitions.

Defining Functions

Students learn a structured approach to problem solving called the “Design Recipe”. They then use these functions to create images, and learn how to apply them to enhance their scatterplots.

Applying Functions

Students learn how to apply Functions, and how to interpret the information contained in a Contract: Name, Domain and Range. They then use this knowledge to explore more of the Pyret language.

Displaying Categorical Data

Students learn to apply functions to entire Tables, generating pie charts and bar charts. They then explore other plotting and display functions that are part of the Data Science library.

Data Displays and Lookups

Students continue to practice making different kinds of data displays, this time focusing less on programming and more on using displays to answer questions. They also learn how to extract individual rows from a table, and columns from a row.

Table Methods

Students learn about table methods, which allow them to order, filter, and build columns to extend the animals table.

Defining Table Functions

Students continue practicing the Design Recipe, writing helper functions to filter rows and build columns in the Animals Dataset, using Methods.

Method Chaining

Students continue practicing their Design Recipe skills, making lots of simple functions dealing with the Animals Dataset. Then they learn how to chain Methods together, and define more sophisticated subsets.

All the lessons

This is a single page that contains all the lessons listed above.

## 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). Bootstrap:Integrated Oklahoma by Jen Poole is licensed under a Creative Commons 4.0 Unported License. Based on a work at www.BootstrapWorld.org. Permissions beyond the scope of this license may be available by contacting schanzer@BootstrapWorld.org.