Bootstrap lessons align with several important teaching standards. Select particular standards from the following menu to see which lessons meet those standards.

## 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 Computational Data Science.]

## 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); Coordinates and Game Design(WeScheme).]

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(WeScheme).]

IA.HSF.BF.A.1.B

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

IA.HSF.BF.A.1.C

Compose functions. [See: Function Composition(Pyret); Function Composition(WeScheme).]

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

## 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.]

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: Defining Functions; Defining Table Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Defining Table Functions.]

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

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.]

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: 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: Data Displays and Lookups; If-Expressions; Measures of Center; Spread of a dataset.]

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.]

9-12.Algorithms and Programming.Control

Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures. [See: Method Chaining; If-Expressions; 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: Defining Functions; Defining Table Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Defining Table Functions; Method Chaining; Method Chaining.]

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.]

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 and Privacy.]

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.]

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: Data Displays and Lookups; Visualizing the “Shape” of Data; Spread of a dataset; 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 and Privacy.]

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 and Privacy.]

P1

Fostering an Inclusive Computing Culture [See: Ethics and Privacy; Threats to Validity.]

P3

Recognizing and Defining Computational Problems [See: Method Chaining; If-Expressions; Grouped Samples; Method Chaining; Grouped Samples.]

P4

Developing and Using Abstractions [See: Defining Functions; Defining Table Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Defining Table Functions.]

P5

Creating Computational Artifacts [See: Displaying Categorical Data; Histograms; Spread of a dataset; Scatter Plots; Correlations; Displaying Categorical Data.]

P6

Testing and Refining Computational Artifacts [See: Checking Your Work.]

P7

Communicating About Computing [See: Introduction to Computational Data Science; Choosing Your Dataset.]

## 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); Coordinates and Game Design(WeScheme).]

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(WeScheme).]

6.EE.B.6
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(WeScheme); Sam the Butterfly - Applying Inequalities(WeScheme).]

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(WeScheme).]

6.RP.A

Understand ratio concepts and use ratio reasoning to solve problems. [See: Making Flags(Pyret); Making Flags(WeScheme).]

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(WeScheme).]

6.SP.A

Develop understanding of statistical variability. [See: Visualizing the “Shape” of Data; Measures of Center; Spread of a dataset; 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 Computational 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; Spread of a dataset.]

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; Spread of a dataset.]

6.SP.B.5

Summarize numerical data sets in relation to their context. [See: Measures of Center; Spread of a dataset.]

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; Spread of a dataset.]

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.]

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(WeScheme).]

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 Functions; Solving Word Problems; Defining Values(Pyret); Defining Functions(Pyret); Solving Word Problems(Pyret); Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Defining Values(WeScheme); Defining Functions(WeScheme); Solving Word Problems(WeScheme); Simple Inequalities(WeScheme); Compound Inequalities: Solutions & Non-Solutions(WeScheme); Defining Functions.]

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(WeScheme).]

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); Making Game Images(WeScheme).]

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

8.F.B
8.G.A.1

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

8.G.B

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

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; The Distance Formula(Pyret); The Distance Formula(WeScheme).]

8.G.B.8

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

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: Defining Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Grouped Samples; Scatter Plots; Correlations; Linear Regression; Grouped Samples.]

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.]

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.]

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(WeScheme).]

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(WeScheme).]

HSA.SSE.A.1

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

HSA.SSE.A.1.A

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

HSA.SSE.A.1.B

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

HSA.SSE.A.2

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

HSA.SSE.B

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

HSF.BF.A

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

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: Defining Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions.]

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(WeScheme); 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: Defining Functions; Solving Word Problems; Contracts(Pyret); Making Flags(Pyret); Defining Functions(Pyret); Solving Word Problems(Pyret); Simple Inequalities(Pyret); Compound Inequalities: Solutions & Non-Solutions(Pyret); Contracts(WeScheme); Making Flags(WeScheme); Defining Functions(WeScheme); Solving Word Problems(WeScheme); Simple Inequalities(WeScheme); Compound Inequalities: Solutions & Non-Solutions(WeScheme); Contracts; Defining Functions.]

HSF.IF.B

Interpret functions that arise in applications in terms of the context. [See: Defining Functions; Making Flags(Pyret); Defining Functions(Pyret); Making Flags(WeScheme); Defining Functions(WeScheme); Defining Functions.]

HSF.IF.C

Analyze functions using different representations. [See: Defining Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions.]

HSF.LE.B

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

HSN.Q.A

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

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(WeScheme).]

HSS.IC.B.3

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

HSS.IC.B.6

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

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; Spread of a dataset.]

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; Spread of a dataset.]

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.]

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.]

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.]

HSS.ID.B.6.C

Fit a linear function for a scatter plot that suggests a linear association. [See: 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.]

HSS.ID.C.8

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

HSS.ID.C.9

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

## 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(WeScheme).]

OK.3.AP.A.01

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

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(WeScheme).]

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(WeScheme).]

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(WeScheme).]

OK.4.AP.V.01

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

OK.5.AP.V.01

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

OK.5.DA.IM.01

Use data to highlight or propose cause and effect relationships, predict outcomes, or communicate an idea. [See: Introduction to Computational 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(WeScheme); 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); Coordinates and Game Design(WeScheme); Making Flags(WeScheme).]

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(WeScheme); Compound Inequalities: Solutions & Non-Solutions(WeScheme).]

OK.6.AP.M.01

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

OK.6.D.1.3

Create and analyze box and whisker plots observing how each segment contains one quarter of the data. [See: Displaying Categorical Data; Data Displays and Lookups; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Displaying Categorical Data; Grouped Samples.]

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

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(WeScheme); Simple Inequalities(WeScheme); Compound Inequalities: Solutions & Non-Solutions(WeScheme); Sam the Butterfly - Applying Inequalities(WeScheme).]

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(WeScheme).]

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: Displaying Categorical Data; Data Displays and Lookups; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Displaying Categorical Data; Grouped Samples.]

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(WeScheme).]

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(WeScheme); Making Game Images(WeScheme).]

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(WeScheme); Making Game Images(WeScheme).]

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: Functions for Character Animation; Solving Word Problems; Restating the Problem; Making Flags(Pyret); Making Game Images(Pyret); Solving Word Problems(Pyret); Restating the Problem(Pyret); Functions for Character Animation(Pyret); Making Flags(WeScheme); Making Game Images(WeScheme); Solving Word Problems(WeScheme); Restating the Problem(WeScheme); Functions for Character Animation(WeScheme).]

OK.8.AP.PD.02

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

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 Computational Data Science.]

OK.8.DA.S.01

Analyze multiple methods of representing data and choose the most appropriate method for representing data. [See: Displaying Categorical Data; Data Displays and Lookups; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Displaying Categorical Data; Grouped Samples.]

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: Defining Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions.]

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(WeScheme).]

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(WeScheme); Sam the Butterfly - Applying Inequalities(WeScheme).]

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(WeScheme).]

OK.A1.A.3.1

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

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: Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Grouped Samples.]

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: Defining Table Functions; Table Methods; Defining Table Functions; Method Chaining; Table Methods; Method Chaining.]

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

OK.A1.F.1.3

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

OK.A1.F.1.4

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

OK.A1.F.3.1

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

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(WeScheme).]

OK.A1.F.3.3

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

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: Piecewise Functions; Piecewise Functions(Pyret); Piecewise Functions(WeScheme).]

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; Collision Detection - Distance and Inequality; The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret); The Distance Formula(WeScheme); Collision Detection - Distance and Inequality(WeScheme).]

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

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; Collision Detection - Distance and Inequality; The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret); The Distance Formula(WeScheme); Collision Detection - Distance and Inequality(WeScheme).]

OK.L1.AP.M.01

Break down a solution into procedures using systematic analysis and design. [See: Defining Table Functions; Defining Table Functions; Method Chaining; If-Expressions; Method Chaining.]

OK.L1.AP.M.02

Create computational artifacts by systematically organizing, manipulating and/or processing data. [See: Defining Table Functions; Table Methods; Defining Table Functions; Method Chaining; If-Expressions; Table Methods; Method Chaining.]

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.]

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); Coordinates and Game Design(WeScheme).]

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.]

OK.L1.DA.IM.01

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

OK.L1.IC.C.01

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

OK.L1.IC.C.02

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

OK.MAP.1

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

OK.MAP.4

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

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: Defining Functions; Piecewise Functions; Player Animation; Contracts(Pyret); Defining Functions(Pyret); Piecewise Functions(Pyret); Player Animation(Pyret); Contracts(WeScheme); Defining Functions(WeScheme); Piecewise Functions(WeScheme); Player Animation(WeScheme); Contracts; Defining Functions.]

OK.PA.A.1.2

Use linear functions to represent and explain real-world and mathematical situations. [See: Defining Functions; Functions for Character Animation; Restating the Problem; Defining Functions(Pyret); Restating the Problem(Pyret); Functions for Character Animation(Pyret); Defining Functions(WeScheme); Restating the Problem(WeScheme); Functions for Character Animation(WeScheme); Defining Functions.]

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; Restating the Problem; Solving Word Problems(Pyret); Restating the Problem(Pyret); Solving Word Problems(WeScheme); Restating the Problem(WeScheme).]

OK.PA.A.2.1

Represent linear functions with tables, verbal descriptions, symbols, and graphs; translate from one representation to another. [See: Functions for Character Animation; Solving Word Problems; Restating the Problem; Solving Word Problems(Pyret); Restating the Problem(Pyret); Functions for Character Animation(Pyret); Solving Word Problems(WeScheme); Restating the Problem(WeScheme); Functions for Character Animation(WeScheme).]

OK.PA.A.2.2

Identify, describe, and analyze linear relationships between two variables. [See: Randomness and Sample Size; Grouped Samples; Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data; Randomness and Sample Size; Grouped Samples.]

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(WeScheme).]

OK.PA.A.3.1

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

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(WeScheme).]

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(WeScheme); Compound Inequalities: Solutions & Non-Solutions(WeScheme); Sam the Butterfly - Applying Inequalities(WeScheme).]

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: 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.]

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.]

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: Randomness and Sample Size; Randomness and Sample Size.]

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; Collision Detection - Distance and Inequality; The Distance Formula(Pyret); Collision Detection - Distance and Inequality(Pyret); The Distance Formula(WeScheme); Collision Detection - Distance and Inequality(WeScheme).]

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(WeScheme).]

## CSTA Standards

1B-AP-10

Create programs that include sequences, events, loops, and conditionals. [See: Functions for Character Animation; Player Animation; Functions for Character Animation(Pyret); Player Animation(Pyret); Functions for Character Animation(WeScheme); Player Animation(WeScheme); Method Chaining; If-Expressions; Method Chaining.]

1B-AP-11

Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. [See: Problem Decomposition(Pyret); Problem Decomposition(WeScheme); Choosing Your Dataset.]

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: Piecewise Functions; Piecewise Functions(Pyret); Piecewise Functions(WeScheme).]

1B-AP-14

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

1B-AP-15

Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. [See: Defining Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Checking Your Work.]

1B-DA-06

Organize and present collected data visually to highlight relationships and support a claim. [See: Visualizing the “Shape” of Data; Spread of a dataset; 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.]

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); Making Game Images(WeScheme).]

2-AP-11
2-AP-13

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs [See: Defining Table Functions; Problem Decomposition(Pyret); Problem Decomposition(WeScheme); Defining Table Functions; Method Chaining; Method Chaining.]

2-AP-14

Create procedures with parameters to organize code and make it easier to reuse. [See: Defining Functions; Defining Table Functions; Defining Functions(Pyret); Defining Functions(WeScheme); Defining Functions; Defining Table Functions.]

2-AP-16

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

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: Displaying Categorical Data; Table Methods; If-Expressions; Randomness and Sample Size; Grouped Samples; Displaying Categorical Data; Table Methods; Randomness and Sample Size; Grouped Samples.]

2-DA-09

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

2-IC-21

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

2-IC-23

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

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; Player Animation; Functions for Character Animation(Pyret); Player Animation(Pyret); Functions for Character Animation(WeScheme); Player Animation(WeScheme); Choosing Your Dataset; Ethics and Privacy.]

3A-AP-17

Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. [See: Defining Table Functions; Problem Decomposition(Pyret); Problem Decomposition(WeScheme); Defining Table Functions; Method Chaining; Choosing Your Dataset; Method Chaining.]

3A-AP-18

Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. [See: Defining Table Functions; Making Game Images(Pyret); Making Game Images(WeScheme); Defining Table Functions; Method Chaining; Method Chaining.]

3A-AP-20

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

3A-AP-23

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

3A-DA-11

Create interactive data visualizations using software tools to help others better understand real-world phenomena. [See: Displaying Categorical Data; Data Displays and Lookups; Histograms; Visualizing the “Shape” of Data; Spread of a dataset; Scatter Plots; Linear Regression; Displaying Categorical Data.]

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.]

3A-IC-24

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

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 and Privacy.]

3A-IC-30

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

3B-AP-14
3B-AP-21
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; Player Animation(Pyret); Player Animation(WeScheme).]

3B-NI-05

Use data analysis tools and techniques to identify patterns in data representing complex systems [See: If-Expressions; 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.]