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

CSTA Standards


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


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


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


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


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


Collect data using computational tools and transform the data to make it more useful and reliable. [See: Displaying Categorical Data; Table Methods.]


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


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


Create interactive data visualizations using software tools to help others better understand real-world phenomena. [See: Displaying Categorical Data; Data Displays and Lookups.]

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

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

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

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

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

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; Method Chaining.]

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


Recognizing and Defining Computational Problems [See: Method Chaining.]


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


Creating Computational Artifacts [See: Displaying Categorical Data.]


Communicating About Computing [See: Introduction to Computational Data Science.]

Next-Gen Science Standards


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


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


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

Oklahoma Standards


Select and modify an existing algorithm in natural language or pseudocode to solve complex problems. [See: Starting to Program.]


Develop programs that utilize combinations of nested repetition, compound conditionals, procedures without parameters, and the manipulation of variables representing different data types. [See: Making Flags; Starting to Program.]


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


Analyze multiple methods of representing data and choose the most appropriate method for representing data. [See: Displaying Categorical Data; Data Displays and Lookups.]


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


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


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


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


Write linear functions, using function notation, to model real-world and mathematical situations. [See: Defining Functions.]


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


Create computational artifacts by systematically organizing, manipulating and/or processing data. [See: Table Methods.]


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


Use linear functions to represent and explain real-world and mathematical situations. [See: Restating the Problem; Character Animation.]


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


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


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