NextGen Science Standards
 HSSEP13

Ask questions to determine relationships, including quantitative relationships, between independent and dependent variables. [See: Choosing Your Dataset.]
 HSSEP17

Ask and/or evaluate questions that challenge the premise(s) of an argument, the interpretation of a data set, or the suitability of the design. [See: Threats to Validity.]
 HSSEP21

Evaluate merits and limitations of two different models of the same proposed tool, process, mechanism, or system in order to select or revise a model that best fits the evidence or design criteria. [See: Histograms.]
 HSSEP35

Make directional hypotheses that specify what happens to a dependent variable when an independent variable is manipulated. [See: Linear Regression.]
 HSSEP41

Analyze data using tools, technologies, and/or models (e.g., computational, mathematical) in order to make valid and reliable scientific claims or determine an optimal design solution. [See: Data Displays and Lookups; Method Chaining; Data Displays and Lookups; Method Chaining.]
 HSSEP42

Apply concepts of statistics and probability (including determining function fits to data, slope, intercept, and correlation coefficient for linear fits) to scientific and engineering questions and problems, using digital tools when feasible. [See: Spread of a Data Set.]
 HSSEP43

Consider limitations of data analysis (e.g., measurement error, sample selection) when analyzing and interpreting data. [See: Randomness and Sample Size; Threats to Validity.]
 HSSEP45

Evaluate the impact of new data on a working explanation and/or model of a proposed process or system. [See: IfExpressions; Grouped Samples.]
 HSSEP46

Analyze data to identify design features or characteristics of the components of a proposed process or system to optimize it relative to criteria for success. [See: Table Methods; Table Methods.]
 HSSEP53

Apply techniques of algebra and functions to represent and solve scientific and engineering problems. [See: Defining Functions; Defining Table Functions; Defining Functions; Defining Table Functions.]
 HSSEP54

Use simple limit cases to test mathematical expressions, computer programs, algorithms, or simulations of a process or system to see if a model “makes sense” by comparing the outcomes with what is known about the real world. [See: Checking Your Work.]
 HSSEP61

Make a quantitative and/or qualitative claim regarding the relationship between dependent and independent variables. [See: Scatter Plots; Correlations.]
 HSSEP71

Compare and evaluate competing arguments or design solutions in light of currently accepted explanations, new evidence, limitations (e.g., tradeoffs), constraints, and ethical issues. [See: Ethics and Privacy.]
Common Core ELA Standards
 SL.910.1

Initiate and participate effectively in a range of collaborative discussions (oneonone, in groups, and teacherled) with diverse partners on grades 910 topics, texts, and issues, building on others' ideas and expressing their own clearly and persuasively. [See: Introduction to Computational Data Science.]
CSTA Standards
 2AP11

Create clearly named variables that represent different data types and perform operations on their values. [See: Grouped Samples.]
 2AP13

Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs [See: Defining Table Functions; Method Chaining; Defining Table Functions; Method Chaining.]
 2AP14

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

Systematically test and refine programs using a range of test cases [See: Defining Functions; Defining Table Functions; Method Chaining; Checking Your Work; Defining Functions; Defining Table Functions; Method Chaining.]
 2AP19

Document programs in order to make them easier to follow, test, and debug. [See: Defining Functions; Defining Table Functions; IfExpressions; Defining Functions; Defining Table Functions.]
 2DA07

Represent data using multiple encoding schemes. [See: Introduction to Computational Data Science; Starting to Program; Displaying Categorical Data; Introduction to Computational Data Science; Starting to Program; Displaying Categorical Data.]
 2DA08

Collect data using computational tools and transform the data to make it more useful and reliable. [See: Displaying Categorical Data; Table Methods; IfExpressions; Randomness and Sample Size; Grouped Samples; Displaying Categorical Data; Table Methods.]
 2DA09

Refine computational models based on the data they have generated. [See: Randomness and Sample Size; Grouped Samples; Correlations.]
 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: Choosing Your Dataset; Ethics and Privacy.]
 3AAP17

Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. [See: Defining Table Functions; Method Chaining; Defining Table Functions; Method Chaining.]
 3AAP18

Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. [See: Defining Table Functions; Method Chaining; Defining Table Functions; Method Chaining.]
 3AAP23

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

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

Construct solutions to problems using studentcreated components, such as procedures, modules and/or objects. [See: Choosing Your Dataset; Histograms; Visualizing the “Shape” of Data.]
 3BAP21

Develop and use a series of test cases to verify that a program performs according to its design specifications. [See: Checking Your Work.]
 3BNI05

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

Evaluate the ability of models and simulations to test and support the refinement of hypotheses. [See: Correlations; Threats to Validity.]
K12CS Standards
 68.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.]
 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; Defining Table Functions; Defining Functions; Defining Table 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 Functions; Defining Functions.]
 68.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.]
 68.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.]
 68.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; IfExpressions; Measures of Center; Spread of a Data Set; Data Displays and Lookups.]
 68.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.]
 912.Algorithms and Programming.Control

Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures. [See: Method Chaining; IfExpressions; Method Chaining.]
 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; Defining Table Functions; Method Chaining; Defining Functions; Defining Table Functions; Method Chaining.]
 912.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.]
 912.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.]
 912.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.]
 912.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 Data Set; Scatter Plots; Data Displays and Lookups.]
 912.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.]
 912.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; IfExpressions; Grouped Samples; Method Chaining.]
 P4

Developing and Using Abstractions [See: Defining Functions; Defining Table Functions; Defining Functions; Defining Table Functions.]
 P5

Creating Computational Artifacts [See: Displaying Categorical Data; Histograms; Spread of a Data Set; 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; Introduction to Computational Data Science.]
Oklahoma Standards
 OK.7.AP.A.01

Select and modify an existing algorithm in natural language or pseudocode to solve complex problems. [See: Starting to Program; Starting to Program.]
 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: Starting to Program; Making Flags; Starting to Program.]
 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.]
 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; Displaying Categorical Data; Data Displays and Lookups.]
 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; Defining Functions.]
 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)}; 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^{(WeScheme)}; 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: Applying Functions; Applying Functions.]
 OK.A1.F.1.3

Write linear functions, using function notation, to model realworld and mathematical situations. [See: Defining Functions; Defining Functions.]
 OK.L1.AP.M.01

Break down a solution into procedures using systematic analysis and design. [See: Defining Table Functions; Method Chaining; Defining Table Functions; Method Chaining.]
 OK.L1.AP.M.02

Create computational artifacts by systematically organizing, manipulating and/or processing data. [See: Table Methods; Table Methods.]
 OK.L1.AP.PD.05

Evaluate and refine computational artifacts to make them more userfriendly, efficient and/or accessible. [See: Visualizing the “Shape” of Data.]
 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; Checking Your Work; Threats to Validity.]
 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: Domain and Range^{(Pyret)}; Piecewise Functions^{(Pyret)}; Player Animation^{(Pyret)}; Domain and Range^{(WeScheme)}; Piecewise Functions^{(WeScheme)}; Player Animation^{(WeScheme)}; Domain and Range.]
 OK.PA.A.1.2

Use linear functions to represent and explain realworld and mathematical situations. [See: Restating the Problem^{(Pyret)}; Character Animation^{(Pyret)}; Restating the Problem^{(WeScheme)}; Character Animation^{(WeScheme)}; Restating the Problem; 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^{(Pyret)}; Solving Word Problems^{(WeScheme)}; Solving Word Problems.]
 OK.PA.A.2.2

Identify, describe, and analyze linear relationships between two variables. [See: 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)}; Order of Operations.]
 OK.PA.A.3.1

Use substitution to simplify and evaluate algebraic expressions. [See: Defining Values^{(Pyret)}; Defining Values^{(WeScheme)}; Defining Values.]
 OK.PA.A.4.3

Represent realworld situations using equations and inequalities involving one variable. [See: Simple Inequalities^{(Pyret)}; Compound Inequalities^{(Pyret)}; Simple Inequalities^{(WeScheme)}; Compound Inequalities^{(WeScheme)}.]
 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.GM.1.2

Use the Pythagorean Theorem to find the distance between any two points in a coordinate plane. [See: The Distance Formula^{(Pyret)}; The Distance Formula^{(WeScheme)}.]
Common Core Math Standards
 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^{(Pyret)}; Defining Functions^{(Pyret)}; Solving Word Problems^{(Pyret)}; Simple Inequalities^{(Pyret)}; Compound Inequalities^{(Pyret)}; Defining Values^{(WeScheme)}; Defining Functions^{(WeScheme)}; Solving Word Problems^{(WeScheme)}; Simple Inequalities^{(WeScheme)}; Compound Inequalities^{(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: Domain and Range^{(Pyret)}; Domain and Range^{(WeScheme)}.]
 8.F.B

Use functions to model relationships between quantities. [See: Defining Functions^{(Pyret)}; Solving Word Problems^{(Pyret)}; Restating the Problem^{(Pyret)}; Character Animation^{(Pyret)}; Defining Functions^{(WeScheme)}; Solving Word Problems^{(WeScheme)}; Restating the Problem^{(WeScheme)}; Character Animation^{(WeScheme)}.]
 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.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^{(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: Data Displays and Lookups; Defining Functions; Scatter Plots; 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.]
 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.SSE.A.1

Interpret expressions that represent a quantity in terms of its context. [See: Defining Values^{(Pyret)}; Defining Functions^{(Pyret)}; Defining Values^{(WeScheme)}; Defining Functions^{(WeScheme)}.]
 HSA.SSE.A.1.A

Interpret parts of an expression, such as terms, factors, and coefficients. [See: 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^{(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.1

Write a function that describes a relationship between two quantities. [See: Restating the Problem^{(Pyret)}; Problem Decomposition^{(Pyret)}; Collision Detection^{(Pyret)}; Restating the Problem^{(WeScheme)}; Problem Decomposition^{(WeScheme)}; Collision Detection^{(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: Domain and Range^{(Pyret)}; Domain and Range^{(WeScheme)}.]
 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: Solving Word Problems^{(Pyret)}; Simple Inequalities^{(Pyret)}; Compound Inequalities^{(Pyret)}; Solving Word Problems^{(WeScheme)}; Simple Inequalities^{(WeScheme)}; Compound Inequalities^{(WeScheme)}; Applying Functions.]
 HSF.LE.B

Interpret expressions for functions in terms of the situation they model. [See: Character Animation^{(Pyret)}; Character Animation^{(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.]
 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 Data Set.]
 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.]
 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: Visualizing the “Shape” of Data.]
 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: Correlations; Linear Regression.]
 HSS.ID.C.9

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

Make sense of problems and persevere in solving them [See: Order of Operations^{(Pyret)}; Restating the Problem^{(Pyret)}; Problem Decomposition^{(Pyret)}; Simple Inequalities^{(Pyret)}; Order of Operations^{(WeScheme)}; Restating the Problem^{(WeScheme)}; Problem Decomposition^{(WeScheme)}; Simple Inequalities^{(WeScheme)}.]
 MP.2

Reason abstractly and quantitatively [See: The Numbers Inside Video Games^{(Pyret)}; Coordinates and Game Design^{(Pyret)}; Order of Operations^{(Pyret)}; Defining Values^{(Pyret)}; Character Animation^{(Pyret)}; The Distance Formula^{(Pyret)}; The Numbers Inside Video Games^{(WeScheme)}; Coordinates and Game Design^{(WeScheme)}; Order of Operations^{(WeScheme)}; Defining Values^{(WeScheme)}; Character Animation^{(WeScheme)}; The Distance Formula^{(WeScheme)}.]
 MP.4

Model with mathematics [See: Simple Inequalities^{(Pyret)}; Simple Inequalities^{(WeScheme)}.]
 MP.6

Attend to precision [See: Making Game Images^{(Pyret)}; Problem Decomposition^{(Pyret)}; Making Game Images^{(WeScheme)}; Problem Decomposition^{(WeScheme)}.]
 MP.7

Look for and make use of structure [See: Defining Values^{(Pyret)}; Restating the Problem^{(Pyret)}; Defining Values^{(WeScheme)}; Restating the Problem^{(WeScheme)}.]
 MP.8

Look for and express regularity in repeated reasoning [See: Piecewise Functions^{(Pyret)}; Piecewise Functions^{(WeScheme)}.]