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., xaxis and xcoordinate, yaxis and ycoordinate). [See: Coordinates and Game Design.]
 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.]
 6.EE.B.6

Use variables to represent numbers and write expressions when solving a realworld or mathematical problem; understand that a variable can represent an unknown number, or, depending on the purpose at hand, any number in a specified set. [See: Function Composition; Defining Values; Defining Functions; Solving Word Problems; Functions for Character Animation; Surface Area of a Rectangular Prism; Problem Decomposition; Sam the Butterfly  Applying Inequalities; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 6.EE.B.8

Write an inequality of the form x > c or x < c to represent a constraint or condition in a realworld 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: Simple Inequalities; Sam the Butterfly  Applying Inequalities.]
 6.G.A.4

Represent threedimensional 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 realworld and mathematical problems. [See: Surface Area of a Rectangular Prism.]
 6.RP.A

Understand ratio concepts and use ratio reasoning to solve problems. [See: Making Flags.]
 6.RP.A.3.D

Use ratio reasoning to convert measurement units; manipulate and transform units appropriately when multiplying or dividing quantities. [See: Making Flags.]
 7.EE.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.]
 7.EE.B

Solve reallife and mathematical problems using numerical and algebraic expressions and equations. [See: Solving Word Problems; Problem Decomposition; Sam the Butterfly  Applying Inequalities; Piecewise Functions; Player Animation; The Distance Formula.]
 7.EE.B.4

Use variables to represent quantities in a realworld or mathematical problem, and construct simple equations and inequalities to solve problems by reasoning about the quantities. [See: Defining Values; Defining Functions; Solving Word Problems; Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 7.G.B.6

Solve realworld and mathematical problems involving area, volume and surface area of two and threedimensional objects composed of triangles, quadrilaterals, polygons, cubes, and right prisms. [See: Surface Area of a Rectangular Prism.]
 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.]
 8.F.A.1

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

Use functions to model relationships between quantities. [See: Defining Functions; Solving Word Problems; Restating the Problem; Functions for Character Animation.]
 8.G.A.1

Verify experimentally the properties of rotations, reflections, and translations. [See: Making Game Images.]
 8.G.B

Understand and apply the Pythagorean Theorem. [See: The Distance Formula.]
 8.G.B.7

Apply the Pythagorean Theorem to determine unknown side lengths in right triangles in realworld and mathematical problems in two and three dimensions. [See: The Distance Formula.]
 8.G.B.8

Apply the Pythagorean Theorem to find the distance between two points in a coordinate system. [See: The Distance Formula.]
 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.]
 HSA.CED.A.1

Create equations and inequalities in one variable and use them to solve problems. [See: 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.]
 HSA.SSE.A.1

Interpret expressions that represent a quantity in terms of its context. [See: Defining Values; Defining Functions.]
 HSA.SSE.A.1.A

Interpret parts of an expression, such as terms, factors, and coefficients. [See: Piecewise Functions; Player Animation.]
 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.]
 HSA.SSE.A.2

Use the structure of an expression to identify ways to rewrite it. [See: Order of Operations.]
 HSA.SSE.B

Write expressions in equivalent forms to solve problems. [See: Order of Operations.]
 HSF.BF.A

Build a function that models a relationship between two quantities. [See: Function Composition; Problem Decomposition.]
 HSF.BF.A.1

Write a function that describes a relationship between two quantities. [See: Defining Functions; Restating the Problem; Problem Decomposition; Collision Detection  Distance and Inequality.]
 HSF.BF.A.1.C

Compose functions. [See: Function Composition; Problem Decomposition; Sam the Butterfly  Applying Inequalities.]
 HSF.BF.B

Build new functions from existing functions. [See: Problem Decomposition; Sam the Butterfly  Applying Inequalities; Collision Detection  Distance and Inequality.]
 HSF.IF.A

Understand the concept of a function and use function notation. [See: 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.]
 HSF.IF.A.2

Use function notation, evaluate functions for inputs in their domains, and interpret statements that use function notation in terms of a context. [See: Contracts; Making Flags; Defining Functions; Solving Word Problems; Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 HSF.IF.B

Interpret functions that arise in applications in terms of the context. [See: Making Flags; Defining Functions.]
 HSF.IF.C

Analyze functions using different representations. [See: Defining Functions.]
 HSF.LE.B

Interpret expressions for functions in terms of the situation they model. [See: Functions for Character Animation.]
 HSN.Q.A

Reason quantitatively and use units to solve problems. [See: 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 & NonSolutions.]
CSTA Standards
 1BAP09

Create programs that use variables to store and modify data. [See: Defining Values.]
 1BAP10

Create programs that include sequences, events, loops, and conditionals. [See: Functions for Character Animation; Piecewise Functions; Player Animation.]
 1BAP11

Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. [See: Problem Decomposition.]
 1BAP12

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; Piecewise Functions; Player Animation.]
 1BAP14

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

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

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

Create clearly named variables that represent different data types and perform operations on their values. [See: Simple Data Types; Function Composition; Defining Values; Defining Functions; Solving Word Problems; Functions for Character Animation; Surface Area of a Rectangular Prism; Problem Decomposition; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 2AP13

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs [See: Problem Decomposition.]
 2AP14

Create procedures with parameters to organize code and make it easier to reuse. [See: Defining Functions.]
 2AP16

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

Systematically test and refine programs using a range of test cases [See: Function Composition; Defining Functions; Solving Word Problems; Functions for Character Animation; Surface Area of a Rectangular Prism; Problem Decomposition; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 2AP19

Document programs in order to make them easier to follow, test, and debug. [See: Function Composition; Defining Functions; Solving Word Problems; Functions for Character Animation; Surface Area of a Rectangular Prism; Problem Decomposition; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 3AAP16

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

Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. [See: Problem Decomposition.]
 3AAP18

Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. [See: Making Flags; Making Game Images.]
 3AAP20

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

Use and adapt classic algorithms to solve computational problems. [See: Simple Inequalities; Compound Inequalities: Solutions & NonSolutions; Sam the Butterfly  Applying Inequalities; The Distance Formula.]
 3BAP14

Construct solutions to problems using studentcreated components, such as procedures, modules and/or objects. [See: Defining Functions; Solving Word Problems; Functions for Character Animation; Problem Decomposition; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 3BAP21

Develop and use a series of test cases to verify that a program performs according to its design specifications. [See: Function Composition; Defining Functions; Solving Word Problems; Functions for Character Animation; Problem Decomposition; Piecewise Functions; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 3BAP22

Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). [See: Player Animation.]
K12CS Standards
 68.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.]
 68.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; Defining Functions.]
 912.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.]
Oklahoma Standards
 OK.3.A.V.01

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

Compare multiple algorithms for the same task. [See: Making Flags.]
 OK.3.AP.M.01

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

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

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

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

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

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

Plot integer and rationalvalued (limited to halves and fourths) orderedpairs as coordinates in all four quadrants and recognize the reflective relationships among coordinates that differ only by their signs. [See: Coordinates and Game Design; Making Flags.]
 OK.6.A.1.3

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

Represent realworld or mathematical situations using expressions, equations and inequalities involving variables and rational numbers. [See: Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 OK.6.AP.A.01

Use an existing algorithm in natural language or pseudocode to solve complex problems. [See: Restating the Problem.]
 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; Piecewise Functions.]
 OK.6.AP.M.01

Decompose problems into parts to facilitate the design, implementation, and review of programs. [See: Making Flags; Problem Decomposition; Sam the Butterfly  Applying Inequalities; Collision Detection  Distance and Inequality.]
 OK.6.AP.PD.03

Test and refine programs using teacher provided inputs. [See: Solving Word Problems.]
 OK.6.AP.PD.05

Document textbased programs in order to make them easier to follow, test, and debug. [See: Restating the Problem.]
 OK.6.GM.2.2

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

Represent realworld or mathematical situations using equations and inequalities involving variables and rational numbers. [See: Defining Values; Simple Inequalities; Compound Inequalities: Solutions & NonSolutions; Sam the Butterfly  Applying Inequalities.]
 OK.7.A.4.2

Apply understanding of order of operations and grouping symbols when using calculators and other technologies [See: 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; Restating the Problem; Surface Area of a Rectangular Prism.]
 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.]
 OK.7.AP.M.01

Decompose problems into parts to facilitate the design, implementation, and review of increasingly complex programs. [See: Problem Decomposition; Sam the Butterfly  Applying Inequalities; Collision Detection  Distance and Inequality.]
 OK.7.AP.PD.03

Test and refine programs using a variety of student created inputs. [See: Solving Word Problems.]
 OK.7.AP.PD.05

Document textbased programs of increasing complexity in order to make them easier to follow, test, and debug. [See: Restating the Problem.]
 OK.7.CS.T.01

Identify and fix increasingly complex software and hardware problems with computing devices and their components. [See: Problem Decomposition.]
 OK.7.GM.1.1

Using a variety of tools and strategies, develop the concept that surface area of a rectangular prism with rationalvalued 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.]
 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; Making Game Images.]
 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; Making Game Images.]
 OK.7.N.1.1

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

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

Recognize and generate equivalent representations of rational numbers, including equivalent fractions. [See: Simple Data Types.]
 OK.8.AP.A.01

Design algorithms in natural language, flow and control diagrams, comments within code, and/or pseudocode to solve complex problems. [See: Making Flags; Making Game Images; Solving Word Problems; Restating the Problem; Functions for Character Animation.]
 OK.8.AP.C.01

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

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of complex programs. [See: Problem Decomposition; Sam the Butterfly  Applying Inequalities; Collision Detection  Distance and Inequality.]
 OK.8.AP.PD.02

Incorporate existing code, media, and libraries into original programs of increasing complexity and give attribution. [See: Defining Functions.]
 OK.8.AP.PD.03

Systematically test and refine programs using a range of student created inputs. [See: Solving Word Problems.]
 OK.8.AP.PD.04

Explain how effective communication between participants is required for successful collaboration when developing computational artifacts. [See: Restating the Problem.]
 OK.8.AP.PD.05

Document textbased programs of increasing complexity in order to make them easier to follow, test, and debug. [See: Restating the Problem.]
 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.]
 OK.A1.A.1.1

Use knowledge of solving equations with rational values to represent and solve mathematical and realworld problems (e.g., angle measures, geometric formulas, science, or statistics) and interpret the solutions in the original context. [See: Defining Functions.]
 OK.A1.A.2

Represent and solve realworld 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.]
 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: Compound Inequalities: Solutions & NonSolutions; 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.]
 OK.A1.A.3.1

Solve equations involving several variables for one variable in terms of the others. [See: Problem Decomposition.]
 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 realworld contexts. [See: Contracts.]
 OK.A1.F.1.3

Write linear functions, using function notation, to model realworld and mathematical situations. [See: Contracts; Function Composition; Defining Functions.]
 OK.A1.F.1.4

Given a graph modeling a realworld situation, read and interpret the linear piecewise function (excluding step functions). [See: Contracts; Piecewise Functions.]
 OK.A1.F.3.1

Identify and generate equivalent representations of linear equations, graphs, tables, and realworld situations. [See: Defining Values.]
 OK.A1.F.3.2

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

Add, subtract, and multiply functions using function notation. [See: 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: Piecewise Functions.]
 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.]
 OK.G.2D.1.8

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

Solve realworld 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.]
 OK.G.RT.1.1

Apply the distance formula and the Pythagorean Theorem and its converse to solve realworld 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.]
 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 realworld problem. [See: Surface Area of a Rectangular Prism; Sam the Butterfly  Applying Inequalities.]
 OK.L1.AP.M.01

Break down a solution into procedures using systematic analysis and design. [See: Problem Decomposition.]
 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.]
 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.]
 OK.L2.AP.PD.03

Develop programs for multiple computing platforms. [See: Defining Functions.]
 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; Restating the Problem.]
 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.]
 OK.MAP.1

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

Develop mathematical reasoning. [See: Making Flags.]
 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; Defining Functions; Piecewise Functions; Player Animation.]
 OK.PA.A.1.2

Use linear functions to represent and explain realworld and mathematical situations. [See: Defining Functions; Restating the Problem; Functions for Character Animation.]
 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.]
 OK.PA.A.2.1

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

Generate equivalent numerical and algebraic expressions and use algebraic properties to evaluate expressions. [See: Order of Operations.]
 OK.PA.A.3.1

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

Represent realworld 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.]
 OK.PA.A.4.3

Represent realworld situations using equations and inequalities involving one variable. [See: Simple Inequalities; Compound Inequalities: Solutions & NonSolutions; Sam the Butterfly  Applying Inequalities.]
 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.]
 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.]
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., xaxis and xcoordinate, yaxis and ycoordinate). [See: Coordinates and Game Design.]
 IA.6.EE.B.6

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

Combine standard function types using arithmetic operations. [See: Function Composition.]
 IA.HSF.BF.A.1.C

Compose functions. [See: Function Composition.]
 IA.HSF.IF.A.1

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

Looking for Pythagoras: The Pythagorean Theorem. [See: The Distance Formula.]
 CMP.AlgExt.2

Function Junction: Families of Functions. [See: Piecewise Functions.]
 CMP.6.4

Covering and Surrounding: Two Dimensional Measurement. [See: Surface Area of a Rectangular Prism.]
 CMP.7.7

Filling and Wrapping: Three Dimensional Measurement. [See: Surface Area of a Rectangular Prism.]
 CMP.6.6

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

Prime Time: Factors & Multiples. [See: Order of Operations.]
 CMP.7.2

Accentuate the Negative: Integers and Rational Numbers. [See: Order of Operations.]
IM 6 Math™
 IM.6.6.8

Equal and Equivalent. [See: Problem Decomposition.]
 IM.6.1.12

What is Surface Area?. [See: Surface Area of a Rectangular Prism.]
 IM.6.1.13

Polyhedra. [See: Surface Area of a Rectangular Prism.]
 IM.6.1.14

Nets and Surface Area. [See: Surface Area of a Rectangular Prism.]
 IM.6.1.15

More Nets, More Surface Area. [See: Surface Area of a Rectangular Prism.]
 IM.6.3.8

More about Constant Speed. [See: Functions for Character Animation.]
 IM.6.6.6

Write Expressions Where Letters Stand for Numbers. [See: Functions for Character Animation.]
 IM.6.5.5

Decimal Points in Products. [See: Making Game Images.]
 IM.6.1.3

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

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

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

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

Truth and Equations. [See: Defining Values.]
 IM.6.6.16

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

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

More Relationships. [See: Contracts.]
 IM.6.7.9

Solutions of Inequalities. [See: Simple Data Types; Simple Inequalities.]
 IM.6.7.10

Interpreting Inequalities. [See: Simple Data Types; Simple Inequalities; Sam the Butterfly  Applying Inequalities.]
 IM.6.6.13

Expressions with Exponents. [See: Order of Operations.]
 IM.6.6.14

Evaluating Expressions with Exponents. [See: Order of Operations.]
 IM.6.6.15

Equivalent Exponential Expressions. [See: Order of Operations.]
IM 7 Math™
 IM.7.6.17

Modeling with Inequalities. [See: Sam the Butterfly  Applying Inequalities.]
 IM.7.7.14

Surface Area of Right Prisms. [See: Surface Area of a Rectangular Prism.]
 IM.7.2.3

More about Constant of Proportionality. [See: Solving Word Problems.]
 IM.7.1.1

What are Scaled Copies?. [See: Making Flags; Making Game Images.]
 IM.7.1.5

The Size of the Scale Factor. [See: Making Flags; Making Game Images.]
 IM.7.4.1

Lots of Flags. [See: Making Flags.]
 IM.7.6.11

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

Proportional Relationships and Equations. [See: Contracts.]
 IM.7.2.5

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

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

Reintroducing Inequalities. [See: Simple Data Types.]
 IM.7.5.13

Expressions with Rational Numbers. [See: Order of Operations.]
 IM.7.5.14

Solving Problems with Rational Numbers. [See: Order of Operations.]
IM 8 Math™
 IM.8.8.11

Finding Distances in the Coordinate Plane. [See: Collision Detection  Distance and Inequality.]
 IM.8.8.6

Finding Side Lengths of Triangles. [See: The Distance Formula.]
 IM.8.8.7

A Proof of the Pythagorean Theorem. [See: The Distance Formula.]
 IM.8.8.8

Finding Unknown Side Lengths. [See: The Distance Formula.]
 IM.8.8.10

Applications of the Pythagorean Theorem. [See: The Distance Formula.]
 IM.8.5.10

Piecewise Linear Functions. [See: Piecewise Functions; Player Animation.]
 IM.8.3.11

Equations of All Kinds of Lines. [See: Functions for Character Animation.]
 IM.8.5.3

Equations for Functions. [See: Defining Functions; Solving Word Problems; Restating the Problem.]
 IM.8.1.2

Naming the moves. [See: Making Flags; Making Game Images.]
 IM.8.1.3

Grid Moves. [See: Making Flags; Making Game Images.]
 IM.8.2.1

Projecting and Scaling. [See: Making Flags; Making Game Images.]
 IM.8.5.1

Inputs and Outputs. [See: Contracts.]
 IM.8.5.2

Introduction to Functions. [See: Contracts.]
 IM.8.7.7

Practice with Rational Bases. [See: Order of Operations.]
 IM.8.1.1

Moving in the Plane. [See: Coordinates and Game Design; Making Flags; Making Game Images.]
IM Algebra 1
 IM.Alg1.2.9

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

Piecewise Functions. [See: Piecewise Functions; Player Animation.]
 IM.Alg1.2.20

Writing and Solving Inequalities in One Variable. [See: Sam the Butterfly  Applying Inequalities; Collision Detection  Distance and Inequality.]
 IM.Alg1.2.18

Representing Situations with Inequalities. [See: Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 IM.Alg1.2.8

Which Variable to Solve for? (Part 1). [See: Problem Decomposition.]
 IM.Alg1.2.2

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

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

Features of Graphs. [See: Functions for Character Animation.]
 IM.Alg1.4.10

Domain and Range (Part 1). [See: Functions for Character Animation.]
 IM.Alg1.2.5

Equations and Their Graphs. [See: Solving Word Problems.]
 IM.Alg1.4.4

Using Function Notation to Describe Rules (Part 1). [See: Defining Functions; Restating the Problem.]
 IM.Alg1.4.5

Using Function Notation to Describe Rules (Part 2). [See: Defining Functions; Restating the Problem.]
 IM.Alg1.4.2

Function Notation. [See: Contracts; Defining Values; Making Game Images; Defining Functions.]
 IM.Alg1.4.3

Interpreting & Using Function Notation. [See: Contracts; Making Flags; Defining Functions.]
 IM.Alg1.1.6

Mystery Computations. [See: Simple Data Types.]
 IM.Alg1.2.6

Equivalent Equations. [See: Order of Operations; Problem Decomposition.]
 IM.Alg1.4.1

Describing and Graphing Situations. [See: Coordinates and Game Design.]
K12CS Practices
 P4

Developing and Using Abstractions. [See: Defining Functions.]
Mathematical Learning Routines
 MLR.6

Three Reads. [See: Restating the Problem; Player Animation.]
 MLR.5

CoCraft Questions and Problems. [See: Defining Values; Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 MLR.1

Stronger and Clearer Each Time. [See: Function Composition; Restating the Problem.]
 MLR.3

Clarify, Critique and Correct. [See: Function Composition; Making Flags; Defining Functions.]
 MLR.8

Discussion Supports. [See: Contracts; Defining Values; Making Game Images; The Distance Formula.]
 MLR.2

Collect and Display. [See: Contracts.]
 MLR.4

Information Gap. [See: Simple Data Types.]
 MLR.7

Compare and Connect. [See: Order of Operations; Function Composition; Defining Values; Making Flags; Defining Functions; Problem Decomposition; Collision Detection  Distance and Inequality.]
Software Engineering Practices
 SEP.7

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

Using Mathematics and Computational Thinking. [See: Function Composition; Making Flags; The Distance Formula.]
 SEP.8

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

Developing and Using Models. [See: Order of Operations.]
Common Core Practice Standards
 MP.7

Look for and make use of structure. [See: Defining Values; Making Flags; Restating the Problem.]
 MP.8

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

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

Attend to precision. [See: Simple Data Types; Making Flags; Making Game Images; Problem Decomposition; Simple Inequalities; Player Animation.]
 MP.1

Make sense of problems and persevere in solving them. [See: Order of Operations; Function Composition; Making Flags; Restating the Problem; Problem Decomposition; Simple Inequalities; Compound Inequalities: Solutions & NonSolutions.]
 MP.3

Construct viable arguments and critique the reasoning of others. [See: Order of Operations; Problem Decomposition; Player Animation; The Distance Formula; Collision Detection  Distance and Inequality.]
 MP.2

Reason abstractly and quantitatively. [See: The Numbers Inside Video Games; Coordinates and Game Design; Order of Operations; Defining Values; Making Flags; Functions for Character Animation; The Distance Formula.]
 MP.4

Model with mathematics. [See: The Numbers Inside Video Games; Order of Operations; Making Flags; Defining Functions; Solving Word Problems; Functions for Character Animation; Surface Area of a Rectangular Prism; Problem Decomposition; Simple Inequalities; Sam the Butterfly  Applying Inequalities; Player Animation.]