Bootstrap lessons align with several important teaching standards, textbooks, and practices. Select from the following menu to see which lessons meet those alignments.

## Common Core Math Standards

6.EE.B.6

Use variables to represent numbers and write expressions when solving a real-world or mathematical problem; understand that a variable can represent an unknown number, or, depending on the purpose at hand, any number in a specified set. [See: Function Composition; Defining Values; Solving Word Problems with the Design Recipe.]

6.RP.A

Understand ratio concepts and use ratio reasoning to solve problems. [See: Making Flags.]

6.RP.A.3.D

Use ratio reasoning to convert measurement units; manipulate and transform units appropriately when multiplying or dividing quantities. [See: Making Flags.]

7.EE.B

Solve real-life and mathematical problems using numerical and algebraic expressions and equations. [See: Solving Word Problems with the Design Recipe.]

7.EE.B.4

Use variables to represent quantities in a real-world or mathematical problem, and construct simple equations and inequalities to solve problems by reasoning about the quantities. [See: Defining Values; Solving Word Problems with the Design Recipe.]

8.F.A.1

Understand that a function is a rule that assigns to each input exactly one output. The graph of a function is the set of ordered pairs consisting of an input and the corresponding output. [See: Contracts.]

8.F.B

Use functions to model relationships between quantities. [See: Solving Word Problems with the Design Recipe.]

HSA.SSE.A.1

Interpret expressions that represent a quantity in terms of its context. [See: Defining Values.]

HSF.BF.A

Build a function that models a relationship between two quantities. [See: Function Composition.]

HSF.BF.A.1

Write a function that describes a relationship between two quantities. [See: Solving Word Problems with the Design Recipe.]

HSF.BF.A.1.C

Compose functions. [See: Function Composition.]

HSF.IF.A.1

Understand that a function from one set (called the domain) to another set (called the range) assigns to each element of the domain exactly one element of the range. If f is a function and x is an element of its domain, then f(x) denotes the output of f corresponding to the input x. The graph of f is the graph of the equation y = f(x). [See: Contracts.]

HSF.IF.A.2

Use function notation, evaluate functions for inputs in their domains, and interpret statements that use function notation in terms of a context. [See: Contracts; Making Flags.]

HSF.IF.B

Interpret functions that arise in applications in terms of the context. [See: Making Flags.]

HSF.IF.C

Analyze functions using different representations. [See: Solving Word Problems with the Design Recipe.]

HSN.Q.A

Reason quantitatively and use units to solve problems. [See: Making Flags.]

## CSTA Standards

1B-AP-09

Create programs that use variables to store and modify data. [See: Defining Values; Structures, Reactors, and Animations; Key Events; Your Own Drawing Functions; Build Your Own Animation; Adding Collisions.]

1B-AP-10

Create programs that include sequences, events, loops, and conditionals. [See: Structures, Reactors, and Animations; Key Events; Adding Collisions.]

1B-AP-11

Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. [See: Refactoring; Going Deeper: Nested Structures.]

1B-AP-12

Modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features. [See: Introduction to Data Structures; Structures, Reactors, and Animations; Key Events; Refactoring.]

1B-AP-15

Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. [See: Refactoring.]

1B-AP-17

Describe choices made during program development using code comments, presentations, and demonstrations. [See: Introduction to Data Structures; Functions That Ask Questions.]

2-AP-10

Use flowcharts and/or pseudocode to address complex problems as algorithms [See: Structures, Reactors, and Animations.]

2-AP-11

Create clearly named variables that represent different data types and perform operations on their values. [See: Simple Data Types; Function Composition; Defining Values; Introduction to Data Structures; Structures, Reactors, and Animations.]

2-AP-12

Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals [See: Build Your Own Animation; Adding Levels; Making Pong; Going Deeper: Nested Structures.]

2-AP-13

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs [See: Refactoring; Going Deeper: Nested Structures.]

2-AP-14

Create procedures with parameters to organize code and make it easier to reuse. [See: Introduction to Data Structures; Functions That Ask Questions; Key Events; Refactoring; Your Own Drawing Functions; Scoring.]

2-AP-17

Systematically test and refine programs using a range of test cases [See: Function Composition; Functions That Ask Questions; Key Events; Scoring; Making Pong.]

2-AP-19

Document programs in order to make them easier to follow, test, and debug. [See: Function Composition.]

3A-AP-15

Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made. [See: Refactoring; Going Deeper: Nested Structures.]

3A-AP-16

Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions. [See: Your Own Drawing Functions; Build Your Own Animation.]

3A-AP-17

Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. [See: Refactoring; Going Deeper: Nested Structures.]

3A-AP-18

Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. [See: Making Flags; Scoring; Adding Levels; Feature: Timers.]

3B-AP-13

Illustrate the flow of execution of a recursive algorithm [See: Structures, Reactors, and Animations.]

3B-AP-14

Construct solutions to problems using student-created components, such as procedures, modules and/or objects. [See: Adding Collisions; Adding Levels; Feature: Timers.]

3B-AP-21

Develop and use a series of test cases to verify that a program performs according to its design specifications. [See: Function Composition; Functions That Ask Questions.]

3B-AP-22

Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). [See: Functions That Ask Questions; Scoring; Feature: Timers.]

## K-12CS Standards

6-8.Algorithms and Programming.Control

Programmers select and combine control structures, such as loops, event handlers, and conditionals, to create more complex program behavior. [See: Functions That Ask Questions.]

6-8.Algorithms and Programming.Modularity

Programs use procedures to organize code, hide implementation details, and make code easier to reuse. Procedures can be repurposed in new programs. Defining parameters for procedures can generalize behavior and increase reusability. [See: Refactoring.]

6-8.Algorithms and Programming.Variables

Programmers create variables to store data values of selected types. A meaningful identifier is assigned to each variable to access and perform operations on the value by name. Variables enable the flexibility to represent different situations, process different sets of data, and produce varying outputs. [See: Defining Values; Introduction to Data Structures.]

9-12.Algorithms and Programming.Variables

Data structures are used to manage program complexity. Programmers choose data structures based on functionality, storage, and performance tradeoffs. [See: Introduction to Data Structures.]

9-12.Impacts of Computing.Social Interactions

Many aspects of society, especially careers, have been affected by the degree of communication afforded by computing. The increased connectivity between people in different cultures and in different career fields has changed the nature and content of many careers. [See: Computing Needs All Voices.]

## Oklahoma Standards

OK.3.A.V.01

Create programs that use variables to store and modify grade level appropriate data. [See: Defining Values.]

OK.3.AP.A.01

Compare multiple algorithms for the same task. [See: Making Flags.]

OK.3.AP.M.01

Decompose the steps needed to solve a problem into a precise sequence of instructions. [See: Making Flags.]

OK.3.AP.PD.01

Use an iterative process to plan the development of a program while solving simple problems. [See: Solving Word Problems with the Design Recipe.]

OK.3.AP.PD.03

Analyze and debug a program that includes sequencing, repetition and variables in a programming language. [See: Making Flags.]

OK.3.AP.PD.04

Communicate and explain your program development using comments, presentations and demonstrations. [See: Solving Word Problems with the Design Recipe.]

OK.4.AP.A.01

Compare and refine multiple algorithms for the same task. [See: Making Flags.]

OK.4.AP.C.01

Create programs using a programming language that utilize sequencing, repetition, conditionals and variables using math operations manipulate values to solve a problem or express ideas both independently and collaboratively. [See: Making Flags.]

OK.4.AP.PD.04

Communicate and explain your program development using comments, presentations and demonstrations. [See: Solving Word Problems with the Design Recipe.]

OK.4.AP.V.01

Create programs that use variables to store and modify grade level appropriate data. [See: Defining Values.]

OK.5.AP.A.01

Compare and refine multiple algorithms for the same task and determine which is the most efficient. [See: Function Composition; Making Flags.]

OK.5.AP.PD.04

Communicate and explain your program development using comments, presentations and demonstrations. [See: Solving Word Problems with the Design Recipe.]

OK.5.AP.V.01

Create programs that use variables to store and modify grade level appropriate data. [See: Defining Values.]

OK.5.GM.1.1

Describe, classify and construct triangles, including equilateral, right, scalene, and isosceles triangles. Recognize triangles in various contexts. [See: Contracts.]

OK.6.A.1.1

Plot integer- and rational-valued (limited to halves and fourths) ordered-pairs as coordinates in all four quadrants and recognize the reflective relationships among coordinates that differ only by their signs. [See: Making Flags.]

OK.6.A.1.3

Use and evaluate variables in expressions, equations, and inequalities that arise from various contexts, including determining when or if, for a given value of the variable, an equation or inequality involving a variable is true or false. [See: Simple Data Types.]

OK.6.AP.A.01

Use an existing algorithm in natural language or pseudocode to solve complex problems. [See: Solving Word Problems with the Design Recipe.]

OK.6.AP.M.01

Decompose problems into parts to facilitate the design, implementation, and review of programs. [See: Making Flags.]

OK.6.AP.PD.01

Seek and incorporate feedback from team members to refine a solution to a problem. [See: Making Flags.]

OK.6.AP.PD.05

Document text-based programs in order to make them easier to follow, test, and debug. [See: Solving Word Problems with the Design Recipe.]

OK.6.GM.2.2

Develop and use the fact that the sum of the interior angles of a triangle is 180° to determine missing angle measures in a triangle. [See: Contracts.]

OK.6.IC.C.01

Explain how computing impacts people’s everyday activities. [See: Computing Needs All Voices.]

OK.7.A.3.3

Represent real-world or mathematical situations using equations and inequalities involving variables and rational numbers. [See: Defining Values.]

OK.7.AP.A.01

Select and modify an existing algorithm in natural language or pseudocode to solve complex problems. [See: Simple Data Types; Solving Word Problems with the Design Recipe.]

OK.7.AP.PD.05

Document text-based programs of increasing complexity in order to make them easier to follow, test, and debug. [See: Solving Word Problems with the Design Recipe.]

OK.7.GM.4.1

Describe the properties of similarity, compare geometric figures for similarity, and determine scale factors resulting from dilations. [See: Making Flags.]

OK.7.GM.4.2

Apply proportions, ratios, and scale factors to solve problems involving scale drawings and determine side lengths and areas of similar triangles and rectangles. [See: Making Flags.]

OK.7.N.1.1

Know that every rational number can be written as the ratio of two integers or as a terminating or repeating decimal. [See: Simple Data Types.]

OK.7.N.1.2

Compare and order rational numbers expressed in various forms using the symbols <, >, and =. [See: Simple Data Types.]

OK.7.N.1.3

Recognize and generate equivalent representations of rational numbers, including equivalent fractions. [See: Simple Data Types.]

OK.8.AP.A.01

Design algorithms in natural language, flow and control diagrams, comments within code, and/or pseudocode to solve complex problems. [See: Making Flags; Solving Word Problems with the Design Recipe.]

OK.8.AP.C.01

Develop programs that utilize combinations of nested repetition, compound conditionals, procedures without parameters, and the manipulation of variables representing different data types. [See: Simple Data Types.]

OK.8.AP.PD.04

Explain how effective communication between participants is required for successful collaboration when developing computational artifacts. [See: Solving Word Problems with the Design Recipe.]

OK.8.AP.PD.05

Document text-based programs of increasing complexity in order to make them easier to follow, test, and debug. [See: Solving Word Problems with the Design Recipe.]

OK.A1.F.1.2

Identify the dependent and independent variables as well as the domain and range given a function, equation, or graph. Identify restrictions on the domain and range in real-world contexts. [See: Contracts.]

OK.A1.F.1.3

Write linear functions, using function notation, to model real-world and mathematical situations. [See: Contracts; Function Composition.]

OK.A1.F.1.4

Given a graph modeling a real-world situation, read and interpret the linear piecewise function (excluding step functions). [See: Contracts.]

OK.A1.F.3

Represent functions in multiple ways and use the representation to interpret real-world and mathematical problems. [See: Function Composition; Defining Values.]

OK.A1.F.3.1

Identify and generate equivalent representations of linear equations, graphs, tables, and real-world situations. [See: Defining Values.]

OK.A1.F.3.2

Use function notation; evaluate a function, including nonlinear, at a given point in its domain algebraically and graphically. Interpret the results in terms of real-world and mathematical problems. [See: Function Composition.]

OK.A1.F.3.3

Add, subtract, and multiply functions using function notation. [See: Function Composition.]

OK.G.2D.1.8

Construct logical arguments to prove triangle congruence (SSS, SAS, ASA, AAS and HL) and triangle similarity (AA, SSS, SAS). [See: Contracts.]

OK.L2.AP.PD.05

Develop and use a series of test cases to verify that a program performs according to its design specifications. [See: Solving Word Problems with the Design Recipe.]

OK.MAP.1

Develop a deep and flexible conceptual understanding. [See: Making Flags.]

OK.MAP.4

Develop mathematical reasoning. [See: Making Flags.]

OK.MAP.7

Develop the ability to communicate mathematically. [See: Solving Word Problems with the Design Recipe.]

OK.PA.A.1.1

Recognize that a function is a relationship between an independent variable and a dependent variable in which the value of the independent variable determines the value of the dependent variable. [See: Contracts.]

OK.PA.A.1.2

Use linear functions to represent and explain real-world and mathematical situations. [See: Solving Word Problems with the Design Recipe.]

OK.PA.A.1.3

Identify a function as linear if it can be expressed in the form y = mx + b or if its graph is a straight line. [See: Solving Word Problems with the Design Recipe.]

OK.PA.A.2

Recognize linear functions in real-world and mathematical situations; represent linear functions and other functions with tables, verbal descriptions, symbols, and graphs; solve problems involving linear functions and interpret results in the original context. [See: Solving Word Problems with the Design Recipe.]

OK.PA.A.2.1

Represent linear functions with tables, verbal descriptions, symbols, and graphs; translate from one representation to another. [See: Solving Word Problems with the Design Recipe.]

OK.PA.A.3.1

Use substitution to simplify and evaluate algebraic expressions. [See: Function Composition; Defining Values.]

OK.PA.A.4

Represent real-world and mathematical problems using equations and inequalities involving linear expressions. Solve and graph equations and inequalities symbolically and graphically. Interpret solutions in the original context. [See: Making Flags.]

## Iowa Standards

IA.6.EE.B.6

Use variables to represent numbers and write expressions when solving a real-world or mathematical problem; understand that a variable can represent an unknown number, or, depending on the purpose at hand, any number in a specified set. [See: Defining Values.]

IA.HSF.BF.A.1.B

Combine standard function types using arithmetic operations. [See: Function Composition.]

IA.HSF.BF.A.1.C

Compose functions. [See: Function Composition.]

IA.HSF.IF.A.1

Understand that a function from one set (called the domain) to another set (called the range) assigns to each element of the domain exactly one element of the range. If f is a function and x is an element of its domain, then f(x) denotes the output of f corresponding to the input x. The graph of f is the graph of the equation y = f(x). [See: Contracts.]

## Connected Math

CMP.6.6

Variables and Patterns: Focus on Algebra. [See: Defining Values.]

## IM 8 Math™

IM.8.1.1

Moving in the Plane. [See: Making Flags.]

IM.8.1.2

Naming the moves. [See: Making Flags.]

IM.8.1.3

Grid Moves. [See: Making Flags.]

IM.8.2.1

Projecting and Scaling. [See: Making Flags.]

IM.8.5.1

Inputs and Outputs. [See: Contracts.]

IM.8.5.2

Introduction to Functions. [See: Contracts.]

## IM 6 Math™

IM.6.1.3

Reasoning to Find Area. [See: Making Flags.]

IM.6.2.14

Solving Equivalent Ratio Problems. [See: Making Flags.]

IM.6.7.14

Distances on the Coordinate Plane. [See: Making Flags.]

IM.6.7.15

Shapes on the Coordinate Plane. [See: Making Flags.]

IM.6.6.2

Truth and Equations. [See: Defining Values.]

IM.6.6.16

Two Related Quantities, Part 1. [See: Contracts.]

IM.6.6.17

Two Related Quantities, Part 2. [See: Contracts.]

IM.6.6.18

More Relationships. [See: Contracts.]

IM.6.7.9

Solutions of Inequalities. [See: Simple Data Types.]

IM.6.7.10

Interpreting Inequalities. [See: Simple Data Types.]

## IM 7 Math™

IM.7.1.1

What are Scaled Copies?. [See: Making Flags.]

IM.7.1.5

The Size of the Scale Factor. [See: Making Flags.]

IM.7.4.1

Lots of Flags. [See: Making Flags.]

IM.7.6.11

Using Equations to Solve Problems. [See: Defining Values.]

IM.7.2.4

Proportional Relationships and Equations. [See: Contracts.]

IM.7.2.5

Two Equations for Each Relationship. [See: Contracts.]

IM.7.2.6

Using Equations to Solve Problems. [See: Contracts.]

IM.7.6.13

Reintroducing Inequalities. [See: Simple Data Types.]

## IM Algebra 1

IM.Alg1.4.2

Function Notation. [See: Contracts; Defining Values.]

IM.Alg1.4.3

Interpreting & Using Function Notation. [See: Contracts; Making Flags.]

IM.Alg1.1.6

Mystery Computations. [See: Simple Data Types.]

## Science and Engineering

SEP.7

Engaging in Argument from Evidence. [See: Defining Values.]

SEP.5

Using Mathematics and Computational Thinking. [See: Function Composition; Making Flags.]

SEP.8

Obtaining, Evaluating, and Communicating Information. [See: Contracts.]

## Math Lang. Routines

MLR.6

Three Reads. [See: Solving Word Problems with the Design Recipe.]

MLR.5

Co-Craft Questions and Problems. [See: Defining Values.]

MLR.1

Stronger and Clearer Each Time. [See: Function Composition; Solving Word Problems with the Design Recipe.]

MLR.3

Clarify, Critique and Correct. [See: Function Composition; Making Flags.]

MLR.7

Compare and Connect. [See: Function Composition; Defining Values; Making Flags; Solving Word Problems with the Design Recipe.]

MLR.2

Collect and Display. [See: Contracts.]

MLR.8

Discussion Supports. [See: Contracts; Defining Values.]

MLR.4

Information Gap. [See: Simple Data Types.]

## Math

MP.3

Construct viable arguments and critique the reasoning of others. [See: Solving Word Problems with the Design Recipe.]

MP.4

Model with mathematics. [See: Making Flags; Solving Word Problems with the Design Recipe.]

MP.2

Reason abstractly and quantitatively. [See: Defining Values; Making Flags.]

MP.8

Look for and express regularity in repeated reasoning. [See: Defining Values; Making Flags.]

MP.7

Look for and make use of structure. [See: Defining Values; Making Flags; Solving Word Problems with the Design Recipe.]

MP.5

Use appropriate tools strategically. [See: Function Composition.]

MP.1

Make sense of problems and persevere in solving them. [See: Function Composition; Making Flags; Solving Word Problems with the Design Recipe.]

MP.6

Attend to precision. [See: Simple Data Types; Making Flags.]

## K12CS

P6

Testing and Refining Computational Artifacts. [See: Scoring; Adding Levels.]

P3

Recognizing and Defining Computational Problems. [See: Refactoring; Build Your Own Animation; Adding Collisions; Adding Levels; Making Pong; Going Deeper: Nested Structures; Feature: Timers.]

P4

Developing and Using Abstractions. [See: Refactoring; Build Your Own Animation; Adding Collisions; Scoring; Making Pong; Going Deeper: Nested Structures; Feature: Timers.]

P1

Fostering an Inclusive Computing Culture. [See: Computing Needs All Voices.]

## Social Justice

SJ.10

Students will examine diversity in social, cultural, political and historical contexts rather than in ways that are superficial or oversimplified.. [See: Computing Needs All Voices.]

SJ.8

Students will respectfully express curiosity about the history and lived experiences of others and will exchange ideas and beliefs in an open-minded way. [See: Computing Needs All Voices.]

SJ.7

Students will develop language and knowledge to accurately and respectfully describe how people (including themselves) are both similar to and different from each other and others in their identity groups.. [See: Computing Needs All Voices.]

SJ.4

Students will express pride, confidence and healthy self-esteem without denying the value and dignity of other people.. [See: Computing Needs All Voices.]

SJ.2

Students will develop language and historical and cultural knowledge that affirm and accurately describe their membership in multiple identity groups. [See: Computing Needs All Voices.]

SJ.1

Students will develop positive social identities based on their membership in multiple groups in society. [See: Computing Needs All Voices.]