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

5.G.A.1

Use a pair of perpendicular number lines, called axes, to define a coordinate system, with the intersection of the lines (the origin) arranged to coincide with the 0 on each line and a given point in the plane located by using an ordered pair of numbers, called its coordinates. Understand that the first number indicates how far to travel from the origin in the direction of one axis, and the second number indicates how far to travel in the direction of the second axis, with the convention that the names of the two axes and the coordinates correspond (e.g., x-axis and x-coordinate, y-axis and y-coordinate). [See: Coordinates and Game Design(Pyret).]

6.EE.B.5

Understand solving an equation or inequality as a process of answering a question: which values from a specified set, if any, make the equation or inequality true? Use substitution to determine whether a given number in a specified set makes an equation or inequality true. [See: Simple Inequalities(Pyret); Simple Inequalities.]

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: Sam the Butterfly - Applying Inequalities; Function Composition(Pyret); Defining Values(Pyret); Functions Make Life Easier!(Pyret); Functions: Contracts, Examples & Definitions(Pyret); Defining Linear Functions(Pyret); Problem Solving Together(Pyret); Functions for Character Animation(Pyret); Surface Area of a Rectangular Prism(Pyret); Problem Decomposition(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret); Functions Make Life Easier!; Functions: Contracts, Examples & Definitions; Defining Table Functions; Grouped Samples; Linear Regression; Function Composition; Defining Values; Functions Make Life Easier!; Functions: Contracts, Examples & Definitions; Defining Linear Functions; Problem Solving Together; Sam the Butterfly - Applying Inequalities; Problem Decomposition; Surface Area of a Rectangular Prism; Defining Table Functions; Grouped Samples; Linear Regression; Function Composition; Defining Values; Problem Solving Together.]

6.EE.B.8

Write an inequality of the form x > c or x < c to represent a constraint or condition in a real-world or mathematical problem. Recognize that inequalities of the form x > c or x < c have infinitely many solutions; represent solutions of such inequalities on number line diagrams. [See: Sam the Butterfly - Applying Inequalities; Simple Inequalities(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Simple Inequalities; Sam the Butterfly - Applying Inequalities.]

6.G.A.4

Represent three-dimensional figures using nets made up of rectangles and triangles, and use the nets to find the surface area of these figures. Apply these techniques in the context of solving real-world and mathematical problems. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

6.RP.A

Understand ratio concepts and use ratio reasoning to solve problems. [See: Making Flags(Pyret); Bar and Pie Charts; Making Flags; Bar and Pie Charts; 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(Pyret); Making Flags; Making Flags.]

6.SP.A

Develop understanding of statistical variability. [See: Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation; Scatter Plots; Linear Regression; Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation; Scatter Plots; Linear Regression.]

6.SP.A.1

Recognize a statistical question as one that anticipates variability in the data related to the question and accounts for it in the answers. [See: Introduction to Data Science; Choosing Your Dataset; Introduction to Data Science; Choosing Your Dataset.]

6.SP.A.2

Understand that a set of data collected to answer a statistical question has a distribution which can be described by its center, spread, and overall shape. [See: Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation; Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation.]

6.SP.B.4

Display numerical data in plots on a number line, including dot plots, histograms, and box plots. [See: Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation.]

6.SP.B.5

Summarize numerical data sets in relation to their context. [See: Measures of Center; Box Plots; Standard Deviation; Measures of Center; Box Plots; Standard Deviation.]

6.SP.B.5.C

Summarize numerical data sets in relation to their context by giving quantitative measures of center (median and/or mean) and variability (interquartile range and/or mean absolute deviation), as well as describing any overall pattern and any striking deviations from the overall pattern with reference to the context in which the data were gathered. [See: Measures of Center; Box Plots; Standard Deviation; Measures of Center; Box Plots; Standard Deviation.]

6.SP.B.5.D

Summarize numerical data sets in relation to their context by relating the choice of measures of center and variability to the shape of the data distribution and the context in which the data were gathered. [See: Measures of Center; Measures of Center.]

7.EE.A.2

Understand that rewriting an expression in different forms in a problem context can shed light on the problem and how the quantities in it are related. [See: Problem Decomposition(Pyret); Problem Decomposition.]

7.EE.B
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(Pyret); Functions Make Life Easier!(Pyret); Problem Solving Together(Pyret); Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Functions Make Life Easier!; Defining Values; Functions Make Life Easier!; Problem Solving Together; Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions; Defining Values; Problem Solving Together.]

7.G.B.6

Solve real-world and mathematical problems involving area, volume and surface area of two- and three-dimensional objects composed of triangles, quadrilaterals, polygons, cubes, and right prisms. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

7.RP.A

Analyze proportional relationships and use them to solve real-world and mathematical problems. [See: Bar and Pie Charts; Bar and Pie Charts.]

7.RP.A.1

Compute unit rates associated with ratios of fractions, including ratios of lengths, areas and other quantities measured in like or different units. [See: Making Game Images(Pyret).]

7.RP.A.3

Use proportional relationships to solve multistep ratio and percent problems. [See: Bar and Pie Charts; Bar and Pie Charts.]

7.SP.A

Use random sampling to draw inferences about a population. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

7.SP.A.1

Understand that statistics can be used to gain information about a population by examining a sample of the population; generalizations about a population from a sample are valid only if the sample is representative of that population. Understand that random sampling tends to produce representative samples and support valid inferences. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

7.SP.B

Draw informal comparative inferences about two populations. [See: Bar and Pie Charts; Bar and Pie Charts.]

8.EE.B

Understand the connections between proportional relationships, lines, and linear equations. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Functions Can Be Linear; Defining Linear Functions.]

8.EE.B.5

Graph proportional relationships, interpreting the unit rate as the slope of the graph. Compare two different proportional relationships represented in different ways. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Functions Can Be Linear; Defining Linear Functions.]

8.EE.B.6

Use similar triangles to explain why the slope m is the same between any two distinct points on a non-vertical line in the coordinate plane; derive the equation y = mx for a line through the origin and the equation y = mx + b for a line intercepting the vertical axis at b. [See: Functions Can Be Linear(Pyret); Functions Can Be Linear.]

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(Pyret); Contracts; Contracts; Contracts.]

8.F.A.2

Compare properties of two functions each represented in a different way (algebraically, graphically, numerically in tables, or by verbal descriptions). [See: Functions Can Be Linear(Pyret); Functions Can Be Linear.]

8.F.B
8.F.B.4

Construct a function to model a linear relationship between two quantities. Determine the rate of change and initial value of the function from a description of a relationship or from two (x, y) values, including reading these from a table or from a graph. Interpret the rate of change and initial value of a linear function in terms of the situation it models, and in terms of its graph or a table of values. [See: Functions Can Be Linear(Pyret); Functions Can Be Linear.]

8.G.A.1

Verify experimentally the properties of rotations, reflections, and translations. [See: Making Game Images(Pyret).]

8.G.B

Understand and apply the Pythagorean Theorem. [See: The Distance Formula(Pyret).]

8.G.B.7

Apply the Pythagorean Theorem to determine unknown side lengths in right triangles in real-world and mathematical problems in two and three dimensions. [See: The Distance Formula(Pyret).]

8.G.B.8

Apply the Pythagorean Theorem to find the distance between two points in a coordinate system. [See: The Distance Formula(Pyret).]

8.SP.A.1

Construct and interpret scatter plots for bivariate measurement data to investigate patterns of association between two quantities. Describe patterns such as clustering, outliers, positive or negative association, linear association, and nonlinear association. [See: Scatter Plots; Grouped Samples; Correlations; Linear Regression; Scatter Plots; Grouped Samples; Correlations; Linear Regression.]

8.SP.A.2

Know that straight lines are widely used to model relationships between two quantitative variables. For scatter plots that suggest a linear association, informally fit a straight line, and informally assess the model fit by judging the closeness of the data points to the line. [See: Scatter Plots; Correlations; Linear Regression; Scatter Plots; Correlations; Linear Regression.]

8.SP.A.3

Use the equation of a linear model to solve problems in the context of bivariate measurement data, interpreting the slope and intercept. [See: Linear Regression; Linear Regression.]

HSA.CED.A.1

Create equations and inequalities in one variable and use them to solve problems. [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Sam the Butterfly - Applying Inequalities.]

HSA.CED.A.3

Represent constraints by equations or inequalities, and by systems of equations and/or inequalities, and interpret solutions as viable or nonviable options in a modeling context. [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Sam the Butterfly - Applying Inequalities.]

HSA.SSE.A.1

Interpret expressions that represent a quantity in terms of its context. [See: Defining Values(Pyret); Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Defining Values; Functions Make Life Easier!; Defining Values.]

HSA.SSE.A.1.A

Interpret parts of an expression, such as terms, factors, and coefficients. [See: Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret).]

HSA.SSE.A.1.B

Interpret complicated expressions by viewing one or more of their parts as a single entity. [See: Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); Custom Scatter Plots; Custom Scatter Plots.]

HSA.SSE.A.2

Use the structure of an expression to identify ways to rewrite it. [See: Order of Operations(Pyret); Order of Operations.]

HSA.SSE.B

Write expressions in equivalent forms to solve problems. [See: Order of Operations(Pyret); Order of Operations.]

HSF.BF.A

Build a function that models a relationship between two quantities. [See: Function Composition(Pyret); Problem Decomposition(Pyret); Function Composition; Problem Decomposition; Function Composition.]

HSF.BF.A.1
HSF.BF.A.1.C
HSF.BF.B
HSF.IF.A

Understand the concept of a function and use function notation. [See: Function Notation(Pyret); Function Notation.]

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(Pyret); Defining Linear Functions(Pyret); Contracts; Contracts; Defining Linear Functions; 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(Pyret); Making Flags(Pyret); Function Notation(Pyret); Defining Linear Functions(Pyret); Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Contracts; Contracts; Making Flags; Function Notation; Defining Linear Functions; Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions; Contracts; Making Flags.]

HSF.IF.B

Interpret functions that arise in applications in terms of the context. [See: Making Flags(Pyret); Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Making Flags; Functions Make Life Easier!; Making Flags.]

HSF.IF.B.5

Relate the domain of a function to its graph and, where applicable, to the quantitative relationship it describes. [See: Function Notation(Pyret); Functions Can Be Linear(Pyret); Function Notation; Functions Can Be Linear.]

HSF.IF.C
HSF.IF.C.9

Compare properties of two functions each represented in a different way (algebraically, graphically, numerically in tables, or by verbal descriptions). [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Functions Can Be Linear; Defining Linear Functions.]

HSF.LE.B

Interpret expressions for functions in terms of the situation they model. [See: Functions for Character Animation(Pyret).]

HSN.Q.A

Reason quantitatively and use units to solve problems. [See: Making Flags(Pyret); Making Flags; Making Flags.]

HSS.CP.A.1

Describe events as subsets of a sample space (the set of outcomes) using characteristics (or categories) of the outcomes, or as unions, intersections, or complements of other events ('or', 'and', 'not'). [See: Compound Inequalities: Solutions & Non-Solutions(Pyret); Compound Inequalities: Solutions & Non-Solutions.]

HSS.CP.B.9

Use permutations and combinations to compute probabilities of compound events and solve problems. [See: Permutations; Combinations.]

HSS.IC.B.3

Recognize the purposes of and differences among sample surveys, experiments, and observational studies; explain how randomization relates to each. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

HSS.IC.B.6

Evaluate reports based on data. [See: Threats to Validity; Threats to Validity.]

HSS.ID.A

Summarize, represent, and interpret data on a single count or measurement variable. [See: Bar and Pie Charts; Bar and Pie Charts.]

HSS.ID.A.1

Represent data with plots on the real number line (dot plots, histograms, and box plots). [See: Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation.]

HSS.ID.A.2

Use statistics appropriate to the shape of the data distribution to compare center (median, mean) and spread (interquartile range, standard deviation) of two or more different data sets. [See: Histograms; Measures of Center; Box Plots; Standard Deviation; Histograms; Measures of Center; Box Plots; Standard Deviation.]

HSS.ID.A.3

Interpret differences in shape, center, and spread in the context of the data sets, accounting for possible effects of extreme data points (outliers). [See: Histograms; Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation; Histograms; Visualizing the “Shape” of Data; Measures of Center; Box Plots; Standard Deviation.]

HSS.ID.B.6

Represent data on two quantitative variables on a scatter plot, and describe how the variables are related. [See: Scatter Plots; Correlations; Scatter Plots; Correlations.]

HSS.ID.B.6.A

Fit a function to the data; use functions fitted to data to solve problems in the context of the data. Use given functions or choose a function suggested by the context. Emphasize linear, quadratic, and exponential models. [See: Linear Regression; Linear Regression.]

HSS.ID.B.6.C

Fit a linear function for a scatter plot that suggests a linear association. [See: Linear Regression; Linear Regression.]

HSS.ID.C.7

Interpret the slope (rate of change) and the intercept (constant term) of a linear model in the context of the data. [See: Linear Regression; Linear Regression.]

HSS.ID.C.8

Compute (using technology) and interpret the correlation coefficient of a linear fit. [See: Scatter Plots; Correlations; Linear Regression; Scatter Plots; Correlations; Linear Regression.]

HSS.ID.C.9

Distinguish between correlation and causation. [See: Correlations; Linear Regression; Correlations; Linear Regression.]

## Common Core ELA Standards

SL.9-10.1

Initiate and participate effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grades 9-10 topics, texts, and issues, building on others' ideas and expressing their own clearly and persuasively. [See: Introduction to Data Science; Introduction to Data Science.]

## CSTA Standards

1B-AP-09

Create programs that use variables to store and modify data. [See: Defining Values(Pyret); Defining Values; 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: Functions for Character Animation(Pyret); Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); Custom Scatter Plots; Method Chaining; Custom Scatter Plots; Method Chaining; 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: Problem Decomposition(Pyret); Choosing Your Dataset; Problem Decomposition; Choosing Your Dataset; 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: Making Game Images(Pyret); Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); Custom Scatter Plots; Custom Scatter Plots; Introduction to Data Structures; Structures, Reactors, and Animations; Key Events; Refactoring.]

1B-AP-14

Observe intellectual property rights and give appropriate attribution when creating or remixing programs. [See: Making Game Images(Pyret).]

1B-AP-15

Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Checking Your Work; Functions Make Life Easier!; Debugging; Checking Your Work; 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.]

1B-DA-06

Organize and present collected data visually to highlight relationships and support a claim. [See: Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots; Correlations; Linear Regression; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots; Correlations; Linear Regression.]

1B-DA-07

Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea. [See: Scatter Plots; Linear Regression; Scatter Plots; Linear Regression.]

1B-IC-21

Use public domain or creative commons media, and refrain from copying or using material created by others without permission. [See: Making Game Images(Pyret).]

2-AP-10

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

2-AP-11
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: Problem Decomposition(Pyret); Method Chaining; Defining Table Functions; Problem Decomposition; Method Chaining; Defining Table Functions; Refactoring; Going Deeper: Nested Structures.]

2-AP-14

Create procedures with parameters to organize code and make it easier to reuse. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Defining Table Functions; Functions Make Life Easier!; Defining Table Functions; Introduction to Data Structures; Functions That Ask Questions; Key Events; Refactoring; Your Own Drawing Functions; Scoring.]

2-AP-16

Incorporate existing code, media, and libraries into original programs, and give attribution. [See: Making Game Images(Pyret).]

2-AP-17
2-AP-19
2-DA-08

Collect data using computational tools and transform the data to make it more useful and reliable. [See: Bar and Pie Charts; Probability, Inference, and Sample Size; Custom Scatter Plots; Table Methods; Grouped Samples; Bar and Pie Charts; Probability, Inference, and Sample Size; Custom Scatter Plots; Table Methods; Grouped Samples.]

2-DA-09

Refine computational models based on the data they have generated. [See: Probability, Inference, and Sample Size; Scatter Plots; Grouped Samples; Correlations; Probability, Inference, and Sample Size; Scatter Plots; Grouped Samples; Correlations.]

2-IC-21

Discuss issues of bias and accessibility in the design of existing technologies [See: Threats to Validity; Threats to Validity.]

2-IC-23

Describe tradeoffs between allowing information to be public and keeping information private and secure. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

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: Functions for Character Animation(Pyret); Player Animation(Pyret); Choosing Your Dataset; Ethics, Privacy, and Bias; Choosing Your Dataset; Ethics, Privacy, and Bias; 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: Problem Decomposition(Pyret); Choosing Your Dataset; Method Chaining; Defining Table Functions; Problem Decomposition; Choosing Your Dataset; Method Chaining; Defining Table Functions; 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(Pyret); Making Game Images(Pyret); Method Chaining; Defining Table Functions; Making Flags; Method Chaining; Defining Table Functions; Making Flags; Scoring; Adding Levels; Feature: Timers.]

3A-AP-20

Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries [See: Making Game Images(Pyret).]

3A-AP-23

Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs. [See: Choosing Your Dataset; Choosing Your Dataset.]

3A-DA-11

Create interactive data visualizations using software tools to help others better understand real-world phenomena. [See: Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots; Linear Regression; Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots; Linear Regression.]

3A-DA-12

Create computational models that represent the relationships among different elements of data collected from a phenomenon or process. [See: Scatter Plots; Linear Regression; Scatter Plots; Linear Regression.]

3A-IC-24

Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

3A-IC-29

Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

3A-IC-30

Evaluate the social and economic implications of privacy in the context of safety, law, or ethics. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

3B-AP-10

Use and adapt classic algorithms to solve computational problems. [See: Sam the Butterfly - Applying Inequalities; Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); The Distance Formula(Pyret); Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions; Sam the Butterfly - Applying Inequalities.]

3B-AP-13

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

3B-AP-14
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(Pyret); Functions Make Life Easier!(Pyret); Problem Solving Together(Pyret); Functions for Character Animation(Pyret); Problem Decomposition(Pyret); Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret); Functions Make Life Easier!; Checking Your Work; Function Composition; Functions Make Life Easier!; Problem Solving Together; Problem Decomposition; Checking Your Work; Function Composition; Problem Solving Together; 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: Player Animation(Pyret); Functions That Ask Questions; Scoring; Feature: Timers.]

3B-NI-05

Use data analysis tools and techniques to identify patterns in data representing complex systems [See: Scatter Plots; Custom Scatter Plots; Correlations; Linear Regression; Scatter Plots; Custom Scatter Plots; Correlations; Linear Regression.]

3B-NI-07

Evaluate the ability of models and simulations to test and support the refinement of hypotheses. [See: Correlations; Threats to Validity; Correlations; Threats to Validity.]

## 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: Method Chaining; Method Chaining; 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: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Defining Table Functions; Functions Make Life Easier!; Defining Table Functions; 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(Pyret); Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Defining Values; Functions Make Life Easier!; Defining Values; Introduction to Data Structures.]

6-8.Computing Systems.Troubleshooting

Comprehensive troubleshooting requires knowledge of how computing devices and components work and interact. A systematic process will identify the source of a problem, whether within a device or in a larger system of connected devices. [See: Checking Your Work; Checking Your Work.]

6-8.Data and Analysis.Collection

People design algorithms and tools to automate the collection of data by computers. When data collection is automated, data is sampled and converted into a form that a computer can process. For example, data from an analog sensor must be converted into a digital form. The method used to automate data collection is influenced by the availability of tools and the intended use of the data. [See: Collecting Data; Threats to Validity; Collecting Data; Threats to Validity.]

6-8.Data and Analysis.Inference and Models

People transform, generalize, simplify, and present large data sets in different ways to influence how other people interpret and understand the underlying information. Examples include visualization, aggregation, rearrangement, and application of mathematical operations. [See: Choosing Your Dataset; Measures of Center; Box Plots; Standard Deviation; Custom Scatter Plots; Choosing Your Dataset; Measures of Center; Box Plots; Standard Deviation; Custom Scatter Plots.]

6-8.Data and Analysis.Visualization and Transformation

Computer models can be used to simulate events, examine theories and inferences, or make predictions with either few or millions of data points. Computer models are abstractions that represent phenomena and use data and algorithms to emphasize key features and relationships within a system. As more data is automatically collected, models can be refined. [See: Scatter Plots; Correlations; Scatter Plots; Correlations.]

9-12.Algorithms and Programming.Control

Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures. [See: Piecewise Functions and Conditionals(Pyret); Custom Scatter Plots; Method Chaining; Custom Scatter Plots; Method Chaining.]

9-12.Algorithms and Programming.Modularity

Complex programs are designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. These modules can be procedures within a program; combinations of data and procedures; or independent, but interrelated, programs. Modules allow for better management of complex tasks. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Method Chaining; Defining Table Functions; Functions Make Life Easier!; Method Chaining; Defining Table Functions.]

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.Computing Systems.Troubleshooting

Troubleshooting complex problems involves the use of multiple sources when researching, evaluating, and implementing potential solutions. Troubleshooting also relies on experience, such as when people recognize that a problem is similar to one they have seen before or adapt solutions that have worked in the past. [See: Checking Your Work; Checking Your Work.]

9-12.Data and Analysis.Collection

Data is constantly collected or generated through automated processes that are not always evident, raising privacy concerns. The different collection methods and tools that are used influence the amount and quality of the data that is observed and recorded. [See: Ethics, Privacy, and Bias; Collecting Data; Ethics, Privacy, and Bias; Collecting Data.]

9-12.Data and Analysis.Inference and Models

The accuracy of predictions or inferences depends upon the limitations of the computer model and the data the model is built upon. The amount, quality, and diversity of data and the features chosen can affect the quality of a model and ability to understand a system. Predictions or inferences are tested to validate models. [See: Linear Regression; Threats to Validity; Linear Regression; Threats to Validity.]

9-12.Data and Analysis.Visualization and Transformation

Data can be transformed to remove errors, highlight or expose relationships, and/or make it easier for computers to process. [See: Choosing Your Dataset; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots; Choosing Your Dataset; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Scatter Plots.]

9-12.Impacts of Computing.Culture

The design and use of computing technologies and artifacts can improve, worsen, or maintain inequitable access to information and opportunities. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

9-12.Impacts of Computing.Safety, Law, and Ethics

Laws govern many aspects of computing, such as privacy, data, property, information, and identity. These laws can have beneficial and harmful effects, such as expediting or delaying advancements in computing and protecting or infringing upon people’s rights. International differences in laws and ethics have implications for computing. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

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(Pyret); Computing Needs All Voices; Computing Needs All Voices; 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(Pyret); Defining Values; Defining Values.]

OK.3.AP.A.01

Compare multiple algorithms for the same task. [See: Making Flags(Pyret); Making Flags; Making Flags.]

OK.3.AP.C.01

Create programs using a programming language that utilize sequencing, repetition, conditionals, and variables to solve a problem or express ideas both independently and collaboratively. [See: Method Chaining; Grouped Samples; Method Chaining; Grouped Samples.]

OK.3.AP.M.01

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

OK.3.AP.M.02

With grade appropriate complexity, modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features. [See: Making Game Images(Pyret); Functions for Character Animation(Pyret); Player Animation(Pyret).]

OK.3.AP.PD.01

Use an iterative process to plan the development of a program while solving simple problems. [See: Functions Make Life Easier!(Pyret); Solving Word Problems with the Design Recipe(Pyret); Problem Solving Together(Pyret); Functions Make Life Easier!; Solving Word Problems with the Design Recipe; Defining Table Functions; Functions Make Life Easier!; Solving Word Problems with the Design Recipe; Problem Solving Together; Defining Table Functions; Solving Word Problems with the Design Recipe; Problem Solving Together.]

OK.3.AP.PD.02

Observe intellectual property rights and give appropriate credit when creating or remixing programs. [See: Making Game Images(Pyret).]

OK.3.AP.PD.03

Analyze and debug a program that includes sequencing, repetition and variables in a programming language. [See: Making Flags(Pyret); Making Flags; Debugging; 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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe.]

OK.3.DA.CVT.01

Collect and organize data in various visual formats. [See: Collecting Data; Collecting Data.]

OK.3.DA.IM.01

With guidance, utilize data to make predictions and discuss whether there is adequate data to make reliable predictions. [See: Linear Regression; Threats to Validity; Linear Regression; Threats to Validity.]

OK.4.AP.A.01

Compare and refine multiple algorithms for the same task. [See: Making Flags(Pyret); Method Chaining; Making Flags; Method Chaining; 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(Pyret); Making Flags; Making Flags.]

OK.4.AP.M.01

Decompose large problems into smaller, manageable subproblems to facilitate the program development process. [See: Problem Decomposition(Pyret); Method Chaining; Problem Decomposition; Method Chaining.]

OK.4.AP.M.02

With grade appropriate complexity, modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features. [See: Making Game Images(Pyret); Functions for Character Animation(Pyret); Player Animation(Pyret).]

OK.4.AP.PD.02

Observe intellectual property rights and give appropriate credit when creating or remixing programs. [See: Making Game Images(Pyret).]

OK.4.AP.PD.03

Analyze, create, and debug a program that includes sequencing, repetition, conditionals and variables in a programming language. [See: Method Chaining; Debugging; Method Chaining.]

OK.4.AP.PD.04

Communicate and explain your program development using comments, presentations and demonstrations. [See: Solving Word Problems with the Design Recipe(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; 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(Pyret); Defining Values; Defining Values.]

OK.4.DA.CVT.01

Organize and present collected data visually to highlight comparisons. [See: Collecting Data; Collecting Data.]

OK.4.DA.IM.01

Determine how the accuracy of conclusions are influenced by the amount of data collected. [See: Linear Regression; Linear Regression.]

OK.5.AP.A.01

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

OK.5.AP.M.01

Decompose large problems into smaller, manageable subproblems and then into a precise sequence of instructions. [See: Problem Decomposition(Pyret); Method Chaining; Problem Decomposition; Method Chaining.]

OK.5.AP.M.02

With grade appropriate complexity, modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features. [See: Making Game Images(Pyret); Functions for Character Animation(Pyret); Player Animation(Pyret).]

OK.5.AP.PD.02

Observe intellectual property rights and give appropriate credit when creating or remixing programs. [See: Making Game Images(Pyret).]

OK.5.AP.PD.03

Analyze, create, and debug a program that includes sequencing, repetition, conditionals and variables in a programming language. [See: Method Chaining; Debugging; Method Chaining.]

OK.5.AP.PD.04

Communicate and explain your program development using comments, presentations and demonstrations. [See: Solving Word Problems with the Design Recipe(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; 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(Pyret); Defining Values; Defining Values.]

OK.5.DA.CVT.01

Organize and present collected data to highlight comparisons and support a claim. [See: Collecting Data; Collecting Data.]

OK.5.DA.IM.01

Use data to highlight or propose cause and effect relationships, predict outcomes, or communicate an idea. [See: Introduction to Data Science; Introduction to Data Science.]

OK.5.GM.1.1

Describe, classify and construct triangles, including equilateral, right, scalene, and isosceles triangles. Recognize triangles in various contexts. [See: Contracts(Pyret); Contracts; Contracts; 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: Coordinates and Game Design(Pyret); Making Flags(Pyret); Making Flags; 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(Pyret); Simple Data Types; Simple Data Types; Simple Data Types.]

OK.6.A.3.1

Represent real-world or mathematical situations using expressions, equations and inequalities involving variables and rational numbers. [See: Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions.]

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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe.]

OK.6.AP.C.01

Develop programs that utilize combinations of repetition, conditionals, and the manipulation of variables representing different data types. [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Sam the Butterfly - Applying Inequalities.]

OK.6.AP.M.01

Decompose problems into parts to facilitate the design, implementation, and review of programs. [See: Sam the Butterfly - Applying Inequalities; Making Flags(Pyret); Problem Decomposition(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Collision Detection - Distance and Inequality(Pyret); Making Flags; Sam the Butterfly - Applying Inequalities; Problem Decomposition; Making Flags.]

OK.6.AP.PD.01

Seek and incorporate feedback from team members to refine a solution to a problem. [See: Making Flags(Pyret); Making Game Images(Pyret); Functions for Character Animation(Pyret); Player Animation(Pyret); Collision Detection - Distance and Inequality(Pyret); Making Flags; Making Flags.]

OK.6.AP.PD.02

Incorporate existing code, media, and libraries into original programs and give attribution. [See: Making Game Images(Pyret).]

OK.6.AP.PD.03

Test and refine programs using teacher provided inputs. [See: Problem Solving Together(Pyret); Problem Solving Together; Problem Solving Together.]

OK.6.AP.PD.04

Break down tasks and follow an individual timeline when developing a computational artifact. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe.]

OK.6.D.1.3

Create and analyze box and whisker plots observing how each segment contains one quarter of the data. [See: Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples; Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples.]

OK.6.DA.CVT.01

Collect data using computational tools and transform the data to make it more useful. [See: Box Plots; Standard Deviation; Box Plots; Standard Deviation.]

OK.6.DA.S.01

Identify how the same data can be represented in multiple ways. [See: Bar and Pie Charts; Bar and Pie Charts.]

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(Pyret); Contracts; Contracts; Contracts.]

OK.6.IC.C.01

Explain how computing impacts people’s everyday activities. [See: Computing Needs All Voices(Pyret); Computing Needs All Voices; Computing Needs All Voices; 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: Sam the Butterfly - Applying Inequalities; Defining Values(Pyret); Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Defining Values; Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions; Sam the Butterfly - Applying Inequalities; Defining Values.]

OK.7.A.4.2

Apply understanding of order of operations and grouping symbols when using calculators and other technologies [See: Order of Operations(Pyret); Order of Operations.]

OK.7.AP.A.01

Select and modify an existing algorithm in natural language or pseudocode to solve complex problems. [See: Simple Data Types(Pyret); Solving Word Problems with the Design Recipe(Pyret); Surface Area of a Rectangular Prism(Pyret); Simple Data Types; Table Methods; Solving Word Problems with the Design Recipe; Simple Data Types; Solving Word Problems with the Design Recipe; Surface Area of a Rectangular Prism; Table Methods; Simple Data Types; Solving Word Problems with the Design Recipe.]

OK.7.AP.C.01

Develop programs that utilize combinations of repetition, compound conditionals, and the manipulation of variables representing different data types. [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Sam the Butterfly - Applying Inequalities.]

OK.7.AP.M.01

Decompose problems into parts to facilitate the design, implementation, and review of increasingly complex programs. [See: Sam the Butterfly - Applying Inequalities; Problem Decomposition(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Collision Detection - Distance and Inequality(Pyret); Method Chaining; Sam the Butterfly - Applying Inequalities; Problem Decomposition; Method Chaining.]

OK.7.AP.PD.01

Seek and incorporate feedback from team members and users to refine a solution to a problem. [See: Making Game Images(Pyret); Functions for Character Animation(Pyret); Player Animation(Pyret); Collision Detection - Distance and Inequality(Pyret).]

OK.7.AP.PD.02

Incorporate existing code, media, and libraries into original programs of increasing complexity and give attribution. [See: Making Game Images(Pyret).]

OK.7.AP.PD.03

Test and refine programs using a variety of student created inputs. [See: Problem Solving Together(Pyret); Problem Solving Together; Problem Solving Together.]

OK.7.AP.PD.04

Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe.]

OK.7.CS.T.01

Identify and fix increasingly complex software and hardware problems with computing devices and their components. [See: Problem Decomposition(Pyret); Problem Decomposition.]

OK.7.D.1.2

Use reasoning with proportions to display and interpret data in circle graphs (pie charts) and histograms. Choose the appropriate data display and know how to create the display using a spreadsheet or other graphing technology. [See: Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples; Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples.]

OK.7.DA.CVT.01

Collect data using computational tools and transform the data to make it more useful and reliable. [See: Box Plots; Standard Deviation; Box Plots; Standard Deviation.]

OK.7.DA.S.01

Create multiple representations of data. [See: Bar and Pie Charts; Bar and Pie Charts.]

OK.7.GM.1.1

Using a variety of tools and strategies, develop the concept that surface area of a rectangular prism with rational-valued edge lengths can be found by wrapping the figure with samesized square units without gaps or overlap. Use appropriate measurements such as cm^2 [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

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(Pyret); Making Game Images(Pyret); Making Flags; 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(Pyret); Making Game Images(Pyret); Making Flags; 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(Pyret); Simple Data Types; Simple Data Types; 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(Pyret); Simple Data Types; Simple Data Types; Simple Data Types.]

OK.7.N.1.3

Recognize and generate equivalent representations of rational numbers, including equivalent fractions. [See: Simple Data Types(Pyret); Simple Data Types; Simple Data Types; 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(Pyret); Making Game Images(Pyret); Solving Word Problems with the Design Recipe(Pyret); Problem Solving Together(Pyret); Functions for Character Animation(Pyret); Solving Word Problems with the Design Recipe; Making Flags; Solving Word Problems with the Design Recipe; Problem Solving Together; Making Flags; Solving Word Problems with the Design Recipe; Problem Solving Together.]

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(Pyret); Simple Data Types; Simple Data Types; Simple Data Types.]

OK.8.AP.M.01

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of complex programs. [See: Sam the Butterfly - Applying Inequalities; Problem Decomposition(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Collision Detection - Distance and Inequality(Pyret); Method Chaining; Sam the Butterfly - Applying Inequalities; Problem Decomposition; Method Chaining.]

OK.8.AP.PD.02

Incorporate existing code, media, and libraries into original programs of increasing complexity and give attribution. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Functions Make Life Easier!.]

OK.8.AP.PD.03

Systematically test and refine programs using a range of student created inputs. [See: Problem Solving Together(Pyret); Problem Solving Together; Problem Solving Together.]

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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; 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(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe.]

OK.8.CS.T.01

Systematically identify, fix, and document increasingly complex software and hardware problems with computing devices and their components. [See: Problem Decomposition(Pyret); Problem Decomposition.]

OK.8.DA.CVT.01

Develop, implement, and refine a process that utilizes computational tools to collect and transform data to make it more useful and reliable. [See: Introduction to Data Science; Grouped Samples; Introduction to Data Science; Grouped Samples.]

OK.8.DA.S.01

Analyze multiple methods of representing data and choose the most appropriate method for representing data. [See: Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples; Bar and Pie Charts; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Box Plots; Standard Deviation; Grouped Samples.]

OK.8.IC.SI.01

Communicate and publish key ideas and details individually or collaboratively in a way that informs, persuades, and/or entertains using a variety of digital tools and media-rich resources. Describe and use safe, appropriate, and responsible practices (netiquette) when participating in online communities (e.g., discussion groups, blogs, social networking sites). [See: Choosing Your Dataset; Threats to Validity; Choosing Your Dataset; Threats to Validity.]

OK.A1.A.1.1

Use knowledge of solving equations with rational values to represent and solve mathematical and real-world problems (e.g., angle measures, geometric formulas, science, or statistics) and interpret the solutions in the original context. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Functions Make Life Easier!.]

OK.A1.A.2

Represent and solve real-world and mathematical problems using linear inequalities, compound inequalities and systems of linear inequalities; interpret solutions in the original context. [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Sam the Butterfly - Applying Inequalities.]

OK.A1.A.2.2

Represent relationships in various contexts with compound and absolute value inequalities and solve the resulting inequalities by graphing and interpreting the solutions on a number line. [See: Sam the Butterfly - Applying Inequalities; Compound Inequalities: Solutions & Non-Solutions(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions; Sam the Butterfly - Applying Inequalities.]

OK.A1.A.3

Generate equivalent algebraic expressions and use algebraic properties to evaluate expressions and arithmetic and geometric sequences. [See: Order of Operations(Pyret); Order of Operations.]

OK.A1.A.3.1

Solve equations involving several variables for one variable in terms of the others. [See: Problem Decomposition(Pyret); Problem Decomposition.]

OK.A1.A.4

Analyze mathematical change involving linear equations in real-world and mathematical problems. [See: Defining Linear Functions(Pyret); Defining Linear Functions.]

OK.A1.A.4.1

Calculate and interpret slope and the x- and y-intercepts of a line using a graph, an equation, two points, or a set of data points to solve realworld and mathematical problems. [See: Defining Linear Functions(Pyret); Defining Linear Functions.]

OK.A1.D.1.1

Describe a data set using data displays, describe and compare data sets using summary statistics, including measures of central tendency, location, and spread. Know how to use calculators, spreadsheets, or other appropriate technology to display data and calculate summary statistics. [See: Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples.]

OK.A1.D.1.2

Collect data and use scatterplots to analyze patterns and describe linear relationships between two variables. Using graphing technology, determine regression lines and correlation coefficients; use regression lines to make predictions and correlation coefficients to assess the reliability of those predictions. [See: Collecting Data; Collecting Data.]

OK.A1.D.2.1

Select and apply counting procedures, such as the multiplication and addition principles and tree diagrams, to determine the size of a sample space (the number of possible outcomes) and to calculate probabilities. [See: Table Methods; Method Chaining; Defining Table Functions; Table Methods; Method Chaining; Defining Table Functions.]

OK.A1.D.2.2

Describe the concepts of intersections, unions, and complements using Venn diagrams to evaluate probabilities. Understand the relationships between these concepts and the words AND, OR, and NOT. [See: Compound Inequalities: Solutions & Non-Solutions(Pyret); Compound Inequalities: Solutions & Non-Solutions.]

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(Pyret); Contracts; Contracts; Contracts.]

OK.A1.F.1.3

Write linear functions, using function notation, to model real-world and mathematical situations. [See: Contracts(Pyret); Function Composition(Pyret); Functions Make Life Easier!(Pyret); Contracts; Functions Make Life Easier!; Contracts; Function Composition; Functions Make Life Easier!; 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(Pyret); Contracts; Custom Scatter Plots; Contracts; Custom Scatter Plots; Contracts.]

OK.A1.F.2.1

Distinguish between linear and nonlinear (including exponential) functions arising from real-world and mathematical situations that are represented in tables, graphs, and equations. Understand that linear functions grow by equal intervals and that exponential functions grow by equal factors over equal intervals. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Functions Can Be Linear; Defining Linear Functions.]

OK.A1.F.3

Represent functions in multiple ways and use the representation to interpret real-world and mathematical problems. [See: Function Composition(Pyret); Defining Values(Pyret); Defining Linear Functions(Pyret); Function Composition; Defining Values; Defining Linear Functions; 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(Pyret); Defining Linear Functions(Pyret); Defining Values; Defining Linear Functions; 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(Pyret); Function Composition; Function Composition.]

OK.A1.F.3.3

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

OK.A2.F.1.8

Graph piecewise functions with no more than three branches (including linear, quadratic, or exponential branches) and analyze the function by identifying the domain, range, intercepts, and intervals for which it is increasing, decreasing, and constant. [See: Custom Scatter Plots; Custom Scatter Plots.]

OK.G.2D.1.5

Use coordinate geometry to represent and analyze line segments and polygons, including determining lengths, midpoints, and slopes of line segments. [See: The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret).]

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(Pyret); Contracts; Contracts; Contracts.]

OK.G.3D.1.1

Solve real-world and mathematical problems using the surface area and volume of prisms, cylinders, pyramids, cones, spheres, and composites of these figures. Use nets, measuring devices, or formulas as appropriate. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

OK.G.RT.1.1

Apply the distance formula and the Pythagorean Theorem and its converse to solve real-world and mathematical problems, as approximate and exact values, using algebraic and logical reasoning (include Pythagorean Triples). [See: The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret).]

OK.L1.AP.A.01

Create a prototype that uses algorithms (e.g., searching, sorting, finding shortest distance) to provide a possible solution for a real-world problem. [See: Sam the Butterfly - Applying Inequalities; Surface Area of a Rectangular Prism(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Grouped Samples; Sam the Butterfly - Applying Inequalities; Surface Area of a Rectangular Prism; Grouped Samples.]

OK.L1.AP.M.01

Break down a solution into procedures using systematic analysis and design. [See: Problem Decomposition(Pyret); Piecewise Functions and Conditionals(Pyret); Custom Scatter Plots; Method Chaining; Defining Table Functions; Problem Decomposition; Custom Scatter Plots; Method Chaining; Defining Table Functions.]

OK.L1.AP.M.02

Create computational artifacts by systematically organizing, manipulating and/or processing data. [See: Piecewise Functions and Conditionals(Pyret); Custom Scatter Plots; Table Methods; Method Chaining; Defining Table Functions; Custom Scatter Plots; Table Methods; Method Chaining; Defining Table Functions.]

OK.L1.AP.PD.05

Evaluate and refine computational artifacts to make them more user-friendly, efficient and/or accessible. [See: Histograms; Visualizing the “Shape” of Data; Histograms; Visualizing the “Shape” of Data.]

OK.L1.CS.D.01

Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects. [See: Coordinates and Game Design(Pyret).]

OK.L1.CS.T.01

Develop and apply criteria for systematic discovery of errors and systematic strategies for correction of errors in computing systems. [See: Debugging.]

OK.L1.DA.CVT.01

Use tools and techniques to locate, collect, and create visualizations of small- and largescale data sets (e.g., paper surveys and online data sets). [See: Choosing Your Dataset; Choosing Your Dataset.]

OK.L1.DA.IM.01

Show the relationships between collected data elements using computational models. [See: Scatter Plots; Correlations; Linear Regression; Scatter Plots; Correlations; Linear Regression.]

OK.L1.IC.C.01

Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

OK.L1.IC.C.02

Test and refine computational artifacts to reduce bias and equity deficits. [See: Probability, Inference, and Sample Size; Choosing Your Dataset; Grouped Samples; Checking Your Work; Threats to Validity; Probability, Inference, and Sample Size; Choosing Your Dataset; Grouped Samples; Checking Your Work; Threats to Validity.]

OK.L1.IC.SLE.02

Explain the privacy concerns related to the large-scale collection and analysis of information about individuals (e.g., how businesses, social media, and the government collects and uses data) that may not be evident to users. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

OK.L1.IC.SLE.03

Evaluate the social and economic consequences of how law and ethics interact with digital aspects of privacy, data, property, information, and identity. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

OK.L2.AP.M.01

Construct solutions to problems using student-created components (e.g., procedures, modules, objects). [See: Problem Solving Together(Pyret); Problem Solving Together; Problem Solving Together.]

OK.L2.AP.M.03

Create programming solutions by reusing existing code (e.g., libraries, Application Programming Interface (APIs), code repositories). [See: Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities(Pyret); Table Methods; Sam the Butterfly - Applying Inequalities; Table Methods.]

OK.L2.AP.PD.03

Develop programs for multiple computing platforms. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Functions Make Life Easier!.]

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(Pyret); Problem Solving Together(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Problem Solving Together; Solving Word Problems with the Design Recipe; Problem Solving Together.]

OK.L2.AP.PD.07

Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). [See: Player Animation(Pyret).]

OK.L2.DA.CVT.01

Use data analysis tools and techniques to identify patterns from complex real-world data. [See: Linear Regression; Linear Regression.]

OK.L2.DA.CVT.02

Generate data sets that use a variety of data collection tools and analysis techniques to support a claim and/or communicate information. [See: Box Plots; Standard Deviation; Box Plots; Standard Deviation.]

OK.L2.IC.C.01

Evaluate the beneficial and harmful effects that computational artifacts and innovations have on society. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

OK.L2.IC.SLE.01

Debate laws and regulations that impact the development and use of software. [See: Ethics, Privacy, and Bias; Ethics, Privacy, and Bias.]

OK.MAP.1

Develop a deep and flexible conceptual understanding. [See: Making Flags(Pyret); Making Flags; Making Flags.]

OK.MAP.2

Develop accurate and appropriate procedural fluency. [See: Order of Operations(Pyret); Order of Operations.]

OK.MAP.3

Develop strategies for problem solving. [See: Functions for Character Animation(Pyret).]

OK.MAP.4

Develop mathematical reasoning. [See: Making Flags(Pyret); Making Flags; Making Flags.]

OK.MAP.5

Develop a productive mathematical disposition. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Functions Make Life Easier!.]

OK.MAP.6

Develop the ability to make conjectures, model, and generalize. [See: Functions Make Life Easier!(Pyret); Functions Make Life Easier!; Functions Make Life Easier!.]

OK.MAP.7

Develop the ability to communicate mathematically. [See: Solving Word Problems with the Design Recipe(Pyret); Solving Word Problems with the Design Recipe; Linear Regression; Solving Word Problems with the Design Recipe; Linear Regression; 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(Pyret); Functions Make Life Easier!(Pyret); Piecewise Functions and Conditionals(Pyret); Player Animation(Pyret); Contracts; Functions Make Life Easier!; Contracts; Functions Make Life Easier!; Contracts.]

OK.PA.A.1.2

Use linear functions to represent and explain real-world and mathematical situations. [See: Functions Make Life Easier!(Pyret); Solving Word Problems with the Design Recipe(Pyret); Functions for Character Animation(Pyret); Functions Make Life Easier!; Solving Word Problems with the Design Recipe; Functions Make Life Easier!; Solving Word Problems with the Design Recipe; 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(Pyret); Problem Solving Together(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Problem Solving Together; Solving Word Problems with the Design Recipe; Problem Solving Together.]

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(Pyret); Problem Solving Together(Pyret); Functions for Character Animation(Pyret); Solving Word Problems with the Design Recipe; Solving Word Problems with the Design Recipe; Problem Solving Together; Solving Word Problems with the Design Recipe; Problem Solving Together.]

OK.PA.A.2.1

Represent linear functions with tables, verbal descriptions, symbols, and graphs; translate from one representation to another. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Solving Word Problems with the Design Recipe(Pyret); Problem Solving Together(Pyret); Functions for Character Animation(Pyret); Solving Word Problems with the Design Recipe; Functions Can Be Linear; Defining Linear Functions; Solving Word Problems with the Design Recipe; Problem Solving Together; Solving Word Problems with the Design Recipe; Problem Solving Together.]

OK.PA.A.2.2

Identify, describe, and analyze linear relationships between two variables. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Probability, Inference, and Sample Size; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples; Functions Can Be Linear; Defining Linear Functions; Probability, Inference, and Sample Size; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples.]

OK.PA.A.2.3

Identify graphical properties of linear functions including slope and intercepts. Know that the slope equals the rate of change, and that the yintercept is zero when the function represents a proportional relationship. [See: Defining Linear Functions(Pyret); Defining Linear Functions.]

OK.PA.A.2.4

Predict the effect on the graph of a linear function when the slope or y-intercept changes. Use appropriate tools to examine these effects. [See: Functions Can Be Linear(Pyret); Defining Linear Functions(Pyret); Functions Can Be Linear; Defining Linear Functions.]

OK.PA.A.3

Generate equivalent numerical and algebraic expressions and use algebraic properties to evaluate expressions. [See: Order of Operations(Pyret); Order of Operations.]

OK.PA.A.3.1

Use substitution to simplify and evaluate algebraic expressions. [See: Function Composition(Pyret); Defining Values(Pyret); Function Composition; Defining Values; 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(Pyret); Making Flags; Making Flags.]

OK.PA.A.4.3

Represent real-world situations using equations and inequalities involving one variable. [See: Sam the Butterfly - Applying Inequalities; Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Sam the Butterfly - Applying Inequalities(Pyret); Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions; Sam the Butterfly - Applying Inequalities.]

OK.PA.D.1

Display and interpret data in a variety of ways, including using scatterplots and approximate lines of best fit. Use line of best fit and average rate of change to make predictions and draw conclusions about data. [See: Choosing Your Dataset; Choosing Your Dataset.]

OK.PA.D.1.1

Describe the impact that inserting or deleting a data point has on the mean and the median of a data set. Know how to create data displays using a spreadsheet and use a calculator to examine this impact. [See: Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples.]

OK.PA.D.1.2

Explain how outliers affect measures of central tendency. [See: Measures of Center; Measures of Center.]

OK.PA.D.1.3

Collect, display and interpret data using scatterplots. Use the shape of the scatterplot to informally estimate a line of best fit, make statements about average rate of change, and make predictions about values not in the original data set. Use appropriate titles, labels and units. [See: Scatter Plots; Correlations; Linear Regression; Scatter Plots; Correlations; Linear Regression.]

OK.PA.D.2.2

Determine how samples are chosen (random, limited, biased) to draw and support conclusions about generalizing a sample to a population. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

OK.PA.GM.1

Solve problems involving right triangles using the Pythagorean Theorem. [See: The Distance Formula(Pyret).]

OK.PA.GM.1.1

Informally justify the Pythagorean Theorem using measurements, diagrams, or dynamic software and use the Pythagorean Theorem to solve problems in two and three dimensions involving right triangles. [See: The Distance Formula(Pyret).]

OK.PA.GM.1.2

Use the Pythagorean Theorem to find the distance between any two points in a coordinate plane. [See: The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret).]

OK.PA.GM.2

Calculate surface area and volume of three-dimensional figures. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

OK.PA.GM.2.1

Calculate the surface area of a rectangular prism using decomposition or nets. Use appropriate units of measure, such as square centimeters. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

OK.PA.GM.2.2

Calculate the surface area of a cylinder, in terms of pi and using approximations for pi, using decomposition or nets. Use appropriate units of measure, such as square centimeters. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

OK.SP.1.5

Use counting techniques including permutations and combinations to solve mathematical and real-world problems, including determining probabilities of compound events. [See: Permutations; Combinations.]

## Iowa Standards

IA.5.G.A.1

Use a pair of perpendicular number lines, called axes, to define a coordinate system, with the intersection of the lines (the origin) arranged to coincide with the 0 on each line and a given point in the plane located by using an ordered pair of numbers, called its coordinates. Understand that the first number indicates how far to travel from the origin in the direction of one axis, and the second number indicates how far to travel in the direction of the second axis, with the convention that the names of the two axes and the coordinates correspond (e.g., x-axis and x-coordinate, y-axis and y-coordinate). [See: Coordinates and Game Design(Pyret).]

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(Pyret); Defining Values; Defining Values.]

IA.HSF.BF.A.1.B

Combine standard function types using arithmetic operations. [See: Function Composition(Pyret); Function Composition; Function Composition.]

IA.HSF.BF.A.1.C

Compose functions. [See: Function Composition(Pyret); Function Composition; 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(Pyret); Contracts; Contracts; Contracts.]

## Connected Math

CMP.6.7

Data About Us: Statistics and Data Analysis. [See: Measures of Center; Box Plots; Measures of Center; Box Plots.]

CMP.8.1

Thinking with Mathematical Models: Linear and Inverse Variations. [See: Measures of Center; Scatter Plots; Correlations; Linear Regression; Measures of Center; Scatter Plots; Correlations; Linear Regression.]

CMP.7.8

Samples and Populations: Making Comparisons and Predictions. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

CMP.8.2

Looking for Pythagoras: The Pythagorean Theorem. [See: The Distance Formula(Pyret).]

CMP.6.4

Covering and Surrounding: Two Dimensional Measurement. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

CMP.7.7

Filling and Wrapping: Three Dimensional Measurement. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

CMP.6.6

Variables and Patterns: Focus on Algebra. [See: Defining Values(Pyret); Defining Values; Defining Values.]

CMP.6.1

Prime Time: Factors & Multiples. [See: Order of Operations(Pyret); Order of Operations.]

CMP.7.2

Accentuate the Negative: Integers and Rational Numbers. [See: Order of Operations(Pyret); Order of Operations.]

## IM 6 Math™

IM.6.8.15

Quartiles and Interquartile Range. [See: Box Plots; Box Plots.]

IM.6.8.16

Box Plots. [See: Box Plots; Box Plots.]

IM.6.8.17

Using Box Plots. [See: Box Plots; Box Plots.]

IM.6.8.9

Interpreting the Mean as Fair Share. [See: Measures of Center; Measures of Center.]

IM.6.8.10

Interpreting the Mean as the Balance Point. [See: Measures of Center; Measures of Center.]

IM.6.8.13

The Median of a Data Set. [See: Measures of Center; Measures of Center.]

IM.6.8.14

Comparing Mean and Median. [See: Measures of Center; Measures of Center.]

IM.6.8.6

Histograms. [See: Histograms; Visualizing the “Shape” of Data; Histograms; Visualizing the “Shape” of Data.]

IM.6.8.7

Using Histograms to Answer Statistical Questions. [See: Histograms; Visualizing the “Shape” of Data; Histograms; Visualizing the “Shape” of Data.]

IM.6.8.8

Describing Distributions on Histograms. [See: Histograms; Visualizing the “Shape” of Data; Histograms; Visualizing the “Shape” of Data.]

IM.6.8.1

Got Data?. [See: Introduction to Data Science; Introduction to Data Science.]

IM.6.8.2

Statistical Questions. [See: Introduction to Data Science; Introduction to Data Science.]

IM.6.6.8

Equal and Equivalent. [See: Problem Decomposition(Pyret); Problem Decomposition.]

IM.6.1.12

What is Surface Area?. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.6.1.13
IM.6.1.14

Nets and Surface Area. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.6.1.15

More Nets, More Surface Area. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.6.3.8

More about Constant Speed. [See: Functions for Character Animation(Pyret).]

IM.6.6.6

Write Expressions Where Letters Stand for Numbers. [See: Functions for Character Animation(Pyret).]

IM.6.5.5

Decimal Points in Products. [See: Making Game Images(Pyret).]

IM.6.1.3

Reasoning to Find Area. [See: Making Flags(Pyret); Making Flags; Making Flags.]

IM.6.2.14

Solving Equivalent Ratio Problems. [See: Making Flags(Pyret); Making Flags; Making Flags.]

IM.6.7.14

Distances on the Coordinate Plane. [See: Making Flags(Pyret); Making Flags; Making Flags.]

IM.6.7.15

Shapes on the Coordinate Plane. [See: Making Flags(Pyret); Making Flags; Making Flags.]

IM.6.6.2

Truth and Equations. [See: Defining Values(Pyret); Defining Values; Defining Values.]

IM.6.6.16

Two Related Quantities, Part 1. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.6.6.17

Two Related Quantities, Part 2. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.6.6.18

More Relationships. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.6.7.9

Solutions of Inequalities. [See: Simple Data Types(Pyret); Simple Inequalities(Pyret); Simple Data Types; Simple Data Types; Simple Inequalities; Simple Data Types.]

IM.6.7.10
IM.6.6.13

Expressions with Exponents. [See: Order of Operations(Pyret); Order of Operations.]

IM.6.6.14

Evaluating Expressions with Exponents. [See: Order of Operations(Pyret); Order of Operations.]

IM.6.6.15

Equivalent Exponential Expressions. [See: Order of Operations(Pyret); Order of Operations.]

## IM 7 Math™

IM.7.8.19

Comparing Populations with Friends. [See: Threats to Validity; Threats to Validity.]

IM.7.8.18

Comparing Populations Using Samples. [See: Grouped Samples; Grouped Samples.]

IM.7.8.15

Estimating Populations Measures of Center. [See: Box Plots; Box Plots.]

IM.7.8.11

Comparing Groups. [See: Measures of Center; Grouped Samples; Measures of Center; Grouped Samples.]

IM.7.8.13

What Makes a Good Sample?. [See: Measures of Center; Measures of Center.]

IM.7.8.12

Larger Populations. [See: Probability, Inference, and Sample Size; Probability, Inference, and Sample Size.]

IM.7.8.14

Sampling in a Fair Way. [See: Probability, Inference, and Sample Size; Threats to Validity; Probability, Inference, and Sample Size; Threats to Validity.]

IM.7.8.17

More about Sampling Variability. [See: Probability, Inference, and Sample Size; Threats to Validity; Probability, Inference, and Sample Size; Threats to Validity.]

IM.7.6.17
IM.7.7.14

Surface Area of Right Prisms. [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.7.1.1

What are Scaled Copies?. [See: Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

IM.7.1.5

The Size of the Scale Factor. [See: Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

IM.7.4.1

Lots of Flags. [See: Making Flags(Pyret); Making Flags; Making Flags.]

IM.7.6.11

Using Equations to Solve Problems. [See: Defining Values(Pyret); Defining Values; Defining Values.]

IM.7.2.4

Proportional Relationships and Equations. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.7.2.5

Two Equations for Each Relationship. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.7.2.6

Using Equations to Solve Problems. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.7.6.13

Reintroducing Inequalities. [See: Simple Data Types(Pyret); Simple Data Types; Simple Data Types; Simple Data Types.]

IM.7.5.13

Expressions with Rational Numbers. [See: Order of Operations(Pyret); Order of Operations.]

IM.7.5.14

Solving Problems with Rational Numbers. [See: Order of Operations(Pyret); Order of Operations.]

## IM 8 Math™

IM.8.6.6

The Slope of a Fitted Line. [See: Linear Regression; Linear Regression.]

IM.8.6.7

Observing More Patterns in Scatter Plots. [See: Linear Regression; Linear Regression.]

IM.8.6.8

Analyzing Bivariate Data. [See: Linear Regression; Linear Regression.]

IM.8.6.4

Fitting a Lin to Data. [See: Correlations; Correlations.]

IM.8.6.5

Describing Trends in Scatter Plots. [See: Correlations; Correlations.]

IM.8.5.3

Equations for Functions. [See: Defining Table Functions; Defining Table Functions.]

IM.8.6.3

What a Point in a Scatter Plots Means. [See: Scatter Plots; Scatter Plots.]

IM.8.6.1

Organizing Data. [See: Bar and Pie Charts; Visualizing the “Shape” of Data; Bar and Pie Charts; Visualizing the “Shape” of Data.]

IM.8.6.2

Plotting Data. [See: Bar and Pie Charts; Histograms; Scatter Plots; Bar and Pie Charts; Histograms; Scatter Plots.]

IM.8.8.11

Finding Distances in the Coordinate Plane. [See: Collision Detection - Distance and Inequality(Pyret).]

IM.8.8.6

Finding Side Lengths of Triangles. [See: The Distance Formula(Pyret).]

IM.8.8.7

A Proof of the Pythagorean Theorem. [See: The Distance Formula(Pyret).]

IM.8.8.8

Finding Unknown Side Lengths. [See: The Distance Formula(Pyret).]

IM.8.8.10

Applications of the Pythagorean Theorem. [See: The Distance Formula(Pyret).]

IM.8.5.10

Piecewise Linear Functions. [See: Player Animation(Pyret).]

IM.8.3.11

Equations of All Kinds of Lines. [See: Functions for Character Animation(Pyret).]

IM.8.1.2

Naming the moves. [See: Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

IM.8.1.3

Grid Moves. [See: Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

IM.8.2.1

Projecting and Scaling. [See: Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

IM.8.5.1

Inputs and Outputs. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.8.5.2

Introduction to Functions. [See: Contracts(Pyret); Contracts; Contracts; Contracts.]

IM.8.7.7

Practice with Rational Bases. [See: Order of Operations(Pyret); Order of Operations.]

IM.8.1.1

Moving in the Plane. [See: Coordinates and Game Design(Pyret); Making Flags(Pyret); Making Game Images(Pyret); Making Flags; Making Flags.]

## IM Algebra 1

IM.Alg1.3.9

Causal Relationships. [See: Linear Regression; Threats to Validity; Linear Regression; Threats to Validity.]

IM.Alg1.3.5

Fitting Lines. [See: Correlations; Correlations.]

IM.Alg1.3.7

The Correlation Coefficient. [See: Correlations; Linear Regression; Correlations; Linear Regression.]

IM.Alg1.3.8

Using the Correlation Coefficient. [See: Correlations; Linear Regression; Correlations; Linear Regression.]

IM.Alg1.3.4

Linear Models. [See: Scatter Plots; Scatter Plots.]

IM.Alg1.1.15

Comparing Data Sets. [See: Box Plots; Checking Your Work; Box Plots; Checking Your Work.]

IM.Alg1.1.5

Calculating Measures of Center and Variability. [See: Measures of Center; Measures of Center.]

IM.Alg1.1.11

Comparing and Contrasting Data Distributions. [See: Measures of Center; Box Plots; Measures of Center; Box Plots.]

IM.Alg1.1.9

IM.Alg1.3.10

IM.Alg1.1.2

Data Representations. [See: Bar and Pie Charts; Histograms; Bar and Pie Charts; Histograms.]

IM.Alg1.1.3

A Gallery of Data. [See: Bar and Pie Charts; Histograms; Bar and Pie Charts; Histograms.]

IM.Alg1.1.1

Getting to Know You. [See: Introduction to Data Science; Introduction to Data Science.]

IM.Alg1.2.9

Which Variable to Solve for? (Part 2). [See: The Distance Formula(Pyret).]

IM.Alg1.4.12

Piecewise Functions. [See: Player Animation(Pyret).]

IM.Alg1.2.20

Writing and Solving Inequalities in One Variable. [See: Sam the Butterfly - Applying Inequalities(Pyret); Collision Detection - Distance and Inequality(Pyret); Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities; Sam the Butterfly - Applying Inequalities.]

IM.Alg1.2.18

Representing Situations with Inequalities. [See: Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Simple Inequalities; Compound Inequalities: Solutions & Non-Solutions.]

IM.Alg1.2.8

Which Variable to Solve for? (Part 1). [See: Problem Decomposition(Pyret); Problem Decomposition.]

IM.Alg1.2.2

Writing Equations to Model Relationships (Part 1). [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.Alg1.2.3

Writing Equations to Model Relationships (Part 2). [See: Surface Area of a Rectangular Prism(Pyret); Surface Area of a Rectangular Prism.]

IM.Alg1.4.6

Features of Graphs. [See: Functions for Character Animation(Pyret).]

IM.Alg1.4.10

Domain and Range (Part 1). [See: Functions for Character Animation(Pyret); Defining Table Functions; Defining Table Functions.]

IM.Alg1.4.2

Function Notation. [See: Contracts(Pyret); Defining Values(Pyret); Making Game Images(Pyret); Contracts; Contracts; Defining Values; Contracts; Defining Values.]

IM.Alg1.4.3

Interpreting & Using Function Notation. [See: Contracts(Pyret); Making Flags(Pyret); Contracts; Method Chaining; Contracts; Making Flags; Method Chaining; Contracts; Making Flags.]

IM.Alg1.1.6

Mystery Computations. [See: Simple Data Types(Pyret); Simple Data Types; Simple Data Types; Simple Data Types.]

IM.Alg1.2.6

Equivalent Equations. [See: Order of Operations(Pyret); Problem Decomposition(Pyret); Order of Operations; Problem Decomposition.]

IM.Alg1.4.1

Describing and Graphing Situations. [See: Coordinates and Game Design(Pyret).]

## Science and Engineering

SEP.4

Analyzing and Interpreting Data. [See: The Data Cycle; The Data Cycle.]

SEP.3
SEP.7

Engaging in Argument from Evidence. [See: Defining Values(Pyret); The Data Cycle; Defining Values; The Data Cycle; Defining Values.]

SEP.5

Using Mathematics and Computational Thinking. [See: Function Composition(Pyret); Making Flags(Pyret); The Distance Formula(Pyret); Function Composition; Making Flags; Permutations; Combinations; Function Composition; Making Flags.]

SEP.8

Obtaining, Evaluating, and Communicating Information. [See: Contracts(Pyret); Contracts; The Data Cycle; Collecting Data; Contracts; The Data Cycle; Collecting Data; Contracts.]

SEP.2

Developing and Using Models. [See: Order of Operations(Pyret); Order of Operations.]

## Social Justice

SJ.15

Students will identify figures, groups, events and a variety of strategies and philosophies relevant to the history of social justice around the world.. [See: Checking Your Work; Checking Your Work.]

SJ.14

Students will recognize that power and privilege influence relationships on interpersonal, intergroup and institutional levels and consider how they have been affected by those dynamics.. [See: Collecting Data; Checking Your Work; Collecting Data; Checking Your Work.]

SJ.12

Students will recognize unfairness on the individual level (e.g., biased speech) and injustice at the institutional or systemic level (e.g., discrimination).. [See: Ethics, Privacy, and Bias; Checking Your Work; Ethics, Privacy, and Bias; Checking Your Work.]

SJ.13

Students will analyze the harmful impact of bias and injustice on the world, historically and today. [See: Probability, Inference, and Sample Size; Ethics, Privacy, and Bias; Checking Your Work; Probability, Inference, and Sample Size; Ethics, Privacy, and Bias; Checking Your Work.]

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(Pyret); Computing Needs All Voices; Computing Needs All Voices; 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(Pyret); Computing Needs All Voices; Computing Needs All Voices; 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(Pyret); Computing Needs All Voices; Bar and Pie Charts; Computing Needs All Voices; Bar and Pie Charts; 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(Pyret); Computing Needs All Voices; Bar and Pie Charts; Computing Needs All Voices; Bar and Pie Charts; 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(Pyret); Computing Needs All Voices; Bar and Pie Charts; Computing Needs All Voices; Bar and Pie Charts; 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(Pyret); Computing Needs All Voices; Computing Needs All Voices; Computing Needs All Voices.]