# Standards Alignment

Extra lessons are nice, but Math teachers don't have 25 hours of spare classtime to spend on new materials, no matter how good it might be.

That's why Bootstrap is aligned to National and State Standards for Mathematics, covering most Functional and Algebraic standards from Grade 7 through Algebra 2. This alignment makes it possible to integrate Bootstrap into the classroom smoothly, using time you've already planned into your pacing guidelines or scope and sequence plans.

For states using the Common Core, Bootstrap is also a model implementation of Common Core Standards for Mathematical Practice, offering explicit pedgagogical recommendation across all eight practice standards.

Bootstrap also satisfies several of the CSTA (Computer Science Teacher's Association) standards across levels 1 (grades K-6), 2 (grades 6-9), and 3 (grades 9-12); Bootstrap1 (the algebra-oriented first course) covers standards in levels 1 and 2, while Bootstrap2 goes deeper into computer science and covers more standards in levels 2 and 3.

## Alignment

MP.1: Make sense of problems and persevere in solving them Bootstrap students are confronted with challenging problems, and use a problem-solving methodology known as the Design Recipe to solve them. The recipe teaches critical thinking, asking students to write down what they know and think through each step on their way to a solution.
MP.2: Reason abstractly and quantitatively Students focus on mathematical models of program behavior, and use quantitative examples to prove these models correct.
MP.3: Construct viable arguments and critique the reasoning of others Teachers engage students in discussion about each step in the Design Recipe, asking them to explain how they move from one step to another. In addition, students are challenged to debug the code of others, not just by identifying programmatic flaws but by also identifying faulty reasoning. In Bootstrap:Data Science, students go even further, writing entire research papers based on their findings and then critiquing their peers' findings as well.
MP.4: Model with mathematics When students in Bootstrap:Algebra or Reactive want their characters to move, to stay onscreen or collide with one another, they must first model that behavior mathematically. In Data Science, they construct predictive models using linear regression. And since the programming language is purely algebraic, these models become the programs themselves!
MP.5: Use appropriate tools strategically Even programmers know that a computer isn't the perfect tool for every situation. Bootstrap students draw graphical diagrams, write out written examples, and use the computer when the situation calls for it. Bootstrap:Reactive allows students to construct and apply appropriate data structures to suit their needs, and Data Science students learn to use visualizations such a bar and pie-charts strategically.
MP.6: Attend to precision Communicating precisely is key, whether you're a mathematician or a professional programmer. In every Bootstrap class, students consider datatypes, select clear function and variable names, and write comments for their code. In Reactive, they construct their own data structures precisely based on their needs, and in Data Science they must precisely validate other people's code and consider everything from sampling error to confounding variables.
MP.7: Look for and make use of structure Bootstrap students look closely at worked-out examples before generalizing to a formula, as part of the Design Recipe. When working with the Circles of Evaluation, students consider the structure of arithmetic expressions as functions being composed on one another -- and this structure becomes the basis for their code.
MP.8: Look for and express regularity in repeated reasoning By practicing the Design Recipe repeatedly, students begin to discern the connection between multiple representations of functions. They notice patterns in the examples they write and contracts they derive.

## Bootstrap Units

N-Q: Reason quantitatively and use units to solve problems. Algebra Units 1, 2, 3 and 5
6.NS.5-8: Apply and extend previous understandings of numbers to the system of rational numbers. Algebra Unit 1
7.EE.1-4: The student uses numerical and algebraic expressions and equations to solve real-life and mathematical problems. Algebra Units 3 and 6
8.F.1-3: Define, evaluate, and compare functions. Algebra Unit 4, 6 and 8
A-SSE.1-2: Interpret the structure of expressions Algebra Units 1, 2, 3, 7 and Supplemental Lessons
A-SSE.3-4: Write expressions in equivalent forms to solve problems Algebra Units 1, 2 and Supplemental Lessons
A-CED.1-4: Create equations that describe numbers or relationships Algebra Units 3, 4, 5, 6, 7, 8 and Supplemental Lessons
A-REI.1-2: Understand solving equations as a process of reasoning and explain the reasoning Algebra Units 1, 2 and Supplemental Lessons
A-REI.3-4: Solve equations and inequalities in one variable Algebra Unit 6
A-REI.10-12: Represent and solve equations and inequalities graphically Algebra Unit 6
8.G.6-8: Understand and apply the Pythagorean Theorem Algebra Unit 8
F-IF.1-3: Understand the concept of a function and use function notation Algebra Units 2-9 and Supplemental Lessons
F-IF.4-6: Interpret functions that arise in applications in terms of the context Algebra Units 3, 4, 6, 8 and Supplemental Lessons
F.IF.7-9: Analyze functions using different representations Algebra Units 3-9 and Supplemental Lessons
F-BF.1-2: Build a function that models a relationship between two quantities Algebra Units 3-9 and Supplemental Lessons
F-BF.3-4: Build new functions from existing functions Algebra Units 6, 7, 8 and Supplemental Lessons
F-LE.1-4: Construct and compare linear, quadratic, and exponential models and solve problems Algebra Unit 3
F-LE.5: Interpret expressions for functions in terms of the situation they model Algebra Unit 5 and Supplemental Lessons
F-TF.5: Model periodic phenomena with trigonometric functions Algebra Supplemental Lessons
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. Data Science Units 1-3
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. Data Science Units 4 and 5
6.SP.A.3: Recognize that a measure of center for a numerical data set summarizes all of its values with a single number, while a measure of variation describes how its values vary with a single number. Data Science Unit 5
6.SP.A.4: Display numerical data in plots on a number line, including dot plots, histograms, and box plots. Data Science Units 4 and 5
6.SP.B.5: Summarize numerical data sets in relation to their context, by: (A) Reporting the number of observations, (B) describing the nature of the attribute under investigation, including how it was measured and its units of measuremen, (C) 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, and (D) 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. Data Science Units 4 and 5
7.SP.A.1: Understand that statistics can be used to gain information about a population by examining a sample of the population; generalizations about a population from a sample are valid only if the sample is representative of that population. Understand that random sampling tends to produce representative samples and support valid inferences. Data Science Units 1, 3, 6 and 9
8.SP.B.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. Data Science Units 7 and 8
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. Data Science Units 7 and 8
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. For example, in a linear model for a biology experiment, interpret a slope of 1.5 cm/hr as meaning that an additional hour of sunlight each day is associated with an additional 1.5 cm in mature plant height. Data Science Unit 8
HSS.ID.A.1: Represent data with plots on the real number line (dot plots, histograms, and box plots). Data Science Units 4 and 5
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. Data Science Unit 5
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). Data Science Units 4 and 5
HSS.ID.B.6: Represent data on two quantitative variables on a scatter plot, and describe how the variables are related. Data Science Unit 7
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. Data Science Unit 8
HSS.ID.B.6.C: Fit a linear function for a scatter plot that suggests a linear association. Data Science Unit 8
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. Data Science Unit 8
HSS.ID.C.8: Compute (using technology) and interpret the correlation coefficient of a linear fit. Data Science Units 7 and 8
HSS.ID.C.9: Distinguish between correlation and causation. Data Science Units 7 and 9
HSS.IC.A.1: Understand statistics as a process for making inferences about population parameters based on a random sample from that population. Data Science Units 3 - 8
HSS.IC.B.6: Evaluate reports based on data. Data Science Units 5 and 8

## Alignment

HS-ETS1-1 and/or MS-LS1-2: Develop and use a model to describe phenomena. Data Science Unit 8
RST.9-10.7: Translate quantitative or technical information expressed in words in a text into visual form (e.g., a table or chart) and translate information expressed visually or mathematically (e.g., in an equation) into words. (HS-PS1-1) Data Science Units 1, 4, 5, 7 and 8
RST.11-12.8: Evaluate the hypotheses, data, analysis, and conclusions in a science or technical text, verifying the data when possible and corroborating or challenging conclusions with other sources of information. Data Science Units 5 and 7
HS-PS1-3: Plan and conduct an investigation individually and collaboratively to produce data to serve as the basis for evidence, and in the design: decide on types, how much, and accuracy of data needed to produce reliable measurements and consider limitations on the precision of the data (e.g., number of trials, cost, risk, time), and refine the design accordingly. (HS-PS1-3) Data Science Units 5-8
HS-PS1-7: Use mathematical representations of phenomena to support claims. Data Science Unit 5
HS-PS2-1: Represent data with plots on the real number line (dot plots, histograms, and box plots) Data Science Units 4 and 5
WHST.9-12.7: Conduct short as well as more sustained research projects to answer a question (including a self-generated question) or solve a problem; narrow or broaden the inquiry when appropriate; synthesize multiple sources on the subject, demonstrating understanding of the subject under investigation. Data Science Units 3-7
HSN-Q.A.1: Use units as a way to understand problems and to guide the solution of multi-step problems; choose and interpret units consistently in formulas; choose and interpret the scale and the origin in graphs and data displays. Data Science Unit 4

## Alignment

Asking Questions and Defining Problems Ask questions to determine relationships, including quantitative relationships, between independent and dependent variables. Evaluate a question to determine if it is testable and relevant. 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. Define a design problem that involves the development of a process or system with interacting components and criteria and constraints that may include social, technical and/or environmental considerations. Data Science Units 2, 6 and Final Project
Developing and Using Models 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. Design a test of a model to ascertain its reliability. Develop, revise, and/or use a model based on evidence to illustrate and/or predict the relationships between systems or between components of a system. Data Science Units 4 - 7
Planning and Carrying Out Investigations Select appropriate tools to collect, record, analyze, and evaluate data. Make directional hypotheses that specify what happens to a dependent variable when an independent variable is manipulated. Data Science Units 2 - 7
Analyzing and Interpreting Data 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. Consider limitations of data analysis (e.g., measurement error, sample selection) when analyzing and interpreting data. Data Science Units 7 - 9
Mathematical and Computational Thinking Use mathematical, computational, and/or algorithmic representations of phenomena or design solutions to describe and/or support claims and/or explanations. Apply techniques of algebra and functions to represent and solve scientific and engineering problems. 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. Data Science Units 2 - 9
Constructing Explanations and Designing Solutions Make a quantitative and/or qualitative claim regarding the relationship between dependent and independent variables. Apply scientific reasoning, theory, and/or models to link evidence to the claims to assess the extent to which the reasoning and data support the explanation or conclusion. Data Science Units 7, 8 and Final Project.
Engaging in Argument From Evidence Respectfully provide and/or receive critiques on scientific arguments by probing reasoning and evidence and challenging ideas and conclusions, responding thoughtfully to diverse perspectives, and determining what additional information is required to resolve contradictions. Make and defend a claim based on evidence about the natural world or the effectiveness of a design solution that reflects scientific knowledge, and student-generated evidence. Data Science Unit 6 and Final Project.
Obtaining, Evaluating, and Communicating Information Communicate scientific and/or technical information or ideas (e.g. about phenomena and/or the process of development and the design and performance of a proposed process or system) in multiple formats (including orally, graphically, textually, and mathematically). Data Science Final Project.
 TEKS Standard Alignment Math 1A (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to apply mathematics to problems arising in everyday life, society, and the workplace Algebra Units 3-8 Data Science Units 1-9 Math 1B (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to use a problem-solving model that incorporates analyzing given information, formulating a plan or strategy, determining a solution, justifying the solution, and evaluating the problem-solving process and the reasonableness of the solution Algebra Units 3-8 Data Science Units 3-8 Math 1C (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to select tools, including real objects, manipulatives, paper and pencil, and technology as appropriate, and techniques, including mental math, estimation, and number sense as appropriate, to solve problems; Algebra Units 3-8 Data Science Units 2-7 Math 1D (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to communicate mathematical ideas, reasoning, and their implications using multiple representations, including symbols, diagrams, graphs, and language as appropriate Algebra Units 3-8 Data Science Units 2-7 Math 1F (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to analyze mathematical relationships to connect and communicate mathematical ideas Algebra Units 3-8 Data Science Units 7-8 Math 1G (all grades): Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. The student is expected to display, explain, and justify mathematical ideas and arguments using precise mathematical language in written or oral communication Algebra Units 3-8 Data Science Units 5, 7, and 8 Math 5.4F: Algebraic reasoning. The student applies mathematical process standards to develop concepts of expressions and equations. The student is expected to simplify numerical expressions that do not involve exponents, including up to two levels of grouping. Algebra Units 1-2 Math 5.8A: Geometry and measurement. The student applies mathematical process standards to identify locations on a coordinate plane. The student is expected to describe the key attributes of the coordinate plane, including perpendicular number lines (axes) where the intersection (origin) of the two lines coincides with zero on each number line and the given point (0, 0); the x-coordinate, the first number in an ordered pair, indicates movement parallel to the x-axis starting at the origin; and the y-coordinate, the second number, indicates movement parallel to the y-axis starting at the origin. Algebra Unit 1 Math 5.8B: Geometry and measurement. The student applies mathematical process standards to identify locations on a coordinate plane. The student is expected to describe the process for graphing ordered pairs of numbers in the first quadrant of the coordinate plane. Algebra Unit 1 Math 5.8C: Geometry and measurement. The student applies mathematical process standards to identify locations on a coordinate plane. The student is expected to graph in the first quadrant of the coordinate plane ordered pairs of numbers arising from mathematical and real-world problems, including those generated by number patterns or found in an input-output table. Algebra Units 1-2 Math 6.2C: Number and operations. The student applies mathematical process standards to represent and use rational numbers in a variety of forms. The student is expected to locate, compare, and order integers and rational numbers using a number line. Algebra Units 1-2 Math 6.4B: Proportionality. The student applies mathematical process standards to develop an understanding of proportional relationships in problem situations. The student is expected to apply qualitative and quantitative reasoning to solve prediction and comparison of real-world problems involving ratios and rates. Algebra Units 4-5 Math 6.6A: Expressions, equations, and relationships. The student applies mathematical process standards to use multiple representations to describe algebraic relationships. The student is expected to identify independent and dependent quantities from tables and graphs. Algebra Units 4-8 Math 6.6B: Expressions, equations, and relationships. The student applies mathematical process standards to use multiple representations to write an equation that represents the relationship between independent and dependent quantities from a table. Algebra Units 4-8 Math 6.7A: Expressions, equations, and relationships. The student applies mathematical process standards to develop concepts of expressions and equations. The student is expected to generate equivalent numerical expressions using order of operations, including whole number exponents, and prime factorization. Algebra Units 1-2 Math 6.9A: Expressions, equations, and relationships. The student applies mathematical process standards to use equations and inequalities to represent situations. The student is expected to write one-variable, one-step equations and inequalities to represent constraints or conditions within problems. Algebra Units 4-8 Math 6.10A: Expressions, equations, and relationships. The student applies mathematical process standards to use equations and inequalities to solve problems. The student is expected to model and solve one-variable, one-step equations and inequalities that represent problems, including geometric concepts. Algebra Units 4-8 Math 6.10B: Expressions, equations, and relationships. The student applies mathematical process standards to use equations and inequalities to solve problems. The student is expected to determine if the given value(s) make(s) one-variable, one-step equations or inequalities true. Algebra Units 4-8 Math 6.11A: Measurement and data. The student applies mathematical process standards to use coordinate geometry to identify locations on a plane. The student is expected to graph points in all four quadrants using ordered pairs of rational numbers. Algebra Unit 2 Math 7.5C: Proportionality. The student applies mathematical process standards to use geometry to describe or solve problems involving proportional relationships. The student is expected to solve mathematical and real-world problems involving similar shape and scale drawings. Algebra Units 2-3 Math 7.10A: Expressions, equations, and relationships. The student applies mathematical process standards to use one-variable equations and inequalities to represent situations. The student is expected to write one-variable, two-step equations and inequalities to represent constraints or conditions within problems. Algebra Units 6, 8 7.11B: Expressions, equations, and relationships. The student applies mathematical process standards to solve one-variable equations and inequalities. The student is expected to determine if the given value(s) make(s) one-variable, two-step equations and inequalities true. Algebra Units 6, 8 Math 8.3A: Proportionality. The student applies mathematical process standards to use proportional relationships to describe dilations. The student is expected to generalize that the ratio of corresponding sides of similar shapes are proportional, including a shape and its dilation. Algebra Unit 2, Supplemental Units Math 8.3B: Proportionality. The student applies mathematical process standards to use proportional relationships to describe dilations. The student is expected to compare and contrast the attributes of a shape and its dilation(s) on a coordinate plane. Algebra Unit 2, Supplemental Units Math 8.5I: Proportionality. The student applies mathematical process standards to use proportional and non-proportional relationships to develop foundational concepts of functions. The student is expected to write an equation in the form y = mx + b to model a linear relationship between two quantities using verbal, numerical, tabular, and graphical representations. Algebra Units 4-5 Math 8.6C: Expressions, equations, and relationships. The student applies mathematical process standards to develop mathematical relationships and make connections to geometric formulas. The student is expected to use models and diagrams to explain the Pythagorean theorem. Algebra Unit 8 Math 8.7C: Expressions, equations, and relationships. The student applies mathematical process standards to use geometry to solve problems. The student is expected to use the Pythagorean theorem and its converse to solve problems. Algebra Unit 8 Math 8.7D: Expressions, equations, and relationships. The student applies mathematical process standards to use geometry to solve problems. The student is expected to determine the distance between two points on a coordinate plane using the Pythagorean theorem. Algebra Unit 8 Math A.2A: Linear functions, equations, and inequalities. The student applies the mathematical process standards when using properties of linear functions to write and represent in multiple ways, with and without technology, linear equations, inequalities, and systems of equations. The student is expected to determine the domain and range of a linear function in mathematical problems; determine reasonable domain and range values for real-world situations, both continuous and discrete; and represent domain and range using inequalities. Algebra Units 4-8 Math A.6A: Quadratic functions and equations. The student applies the mathematical process standards when using properties of quadratic functions to write and represent in multiple ways, with and without technology, quadratic equations. The student is expected to determine the domain and range of quadratic functions and represent the domain and range using inequalities. Algebra Units 4, Supplemental Units Math A.7A: Quadratic functions and equations. The student applies the mathematical process standards when using graphs of quadratic functions and their related transformations to represent in multiple ways and determine, with and without technology, the solutions to equations. The student is expected to graph quadratic functions on the coordinate plane and use the graph to identify key attributes, if possible, including x-intercept, y-intercept, zeros, maximum value, minimum values, vertex, and the equation of the axis of symmetry. Algebra Units 4, Supplemental Units Math G.2A: Coordinate and transformational geometry. The student uses the process skills to understand the connections between algebra and geometry and uses the one- and two-dimensional coordinate systems to verify geometric conjectures. The student is expected to understand the connections between algebra and geometry and uses the one- and two-dimensional coordinate systems to verify geometric conjectures. Algebra Unit 8 G.2B: Coordinate and transformational geometry. The student uses the process skills to understand the connections between algebra and geometry and uses the one- and two-dimensional coordinate systems to verify geometric conjectures. The student is expected to derive and use the distance, slope, and midpoint formulas to verify geometric relationships, including congruence of segments and parallelism or perpendicularity of pairs of lines. Algebra Unit 8 G.3A: Coordinate and transformational geometry. The student uses the process skills to generate and describe rigid transformations (translation, reflection, and rotation) and non-rigid transformations (dilations that preserve similarity and reductions and enlargements that do not preserve similarity). The student is expected to describe and perform transformations of figures in a plane using coordinate notation. Algebra Unit 2, Supplemental Units G.4B: Logical argument and constructions. The student uses the process skills with deductive reasoning to understand geometric relationships. The student is expected to identify and determine the validity of the converse, inverse, and contrapositive of a conditional statement and recognize the connection between a biconditional statement and a true conditional statement with a true converse Algebra Unit 7 G.4C: Logical argument and constructions. The student uses the process skills with deductive reasoning to understand geometric relationships. The student is expected to verify that a conjecture is false using a counterexample. Algebra Unit 7 ELA 17: Writing/Expository and Procedural Texts. Students write expository and procedural or work-related texts to communicate ideas and information to specific audiences for specific purposes. Data Science Units 3-9 ELA 18: Writing/Persuasive Texts. Students write persuasive texts to influence the attitudes or actions of a specific audience on specific issues. Students are expected to write persuasive essays for appropriate audiences that establish a position and include sound reasoning, detailed and relevant evidence, and consideration of alternatives. Data Science Units 3-9 ELA 22: Research/Research Plan. Students ask open-ended research questions and develop a plan for answering them. Data Science Units 3-9 ELA 24-25: Research/Synthesizing Information. Students clarify research questions and evaluate and synthesize collected information. Students organize and present their ideas and information according to the purpose of the research and their audience. Data Science All Units ELA 28: Listening and Speaking/Teamwork. Students work productively with others in teams. Students will continue to apply earlier standards with greater complexity. Students are expected to participate productively in discussions, plan agendas with clear goals and deadlines, set time limits for speakers, take notes, and vote on key issues. Data Science All Units Math (Grade 6 & 8) 12-13: Measurement and data. The student applies mathematical process standards to use numerical or graphical representations to analyze problems. The student applies mathematical process standards to use numerical or graphical representations to solve problems. The student applies mathematical process standards to use statistical representations to analyze data. Data Science Unit 3, 4, 5, 6 Math (HS) 1: Mathematical process standards. The student uses mathematical processes to acquire and demonstrate mathematical understanding. Data Science All Units Math (HS) 2: Numeric reasoning. The student applies the process standards in mathematics to generate new understandings by extending existing knowledge. The student generates new mathematical understandings through problems involving numerical data that arise in everyday life, society, and the workplace. The student extends existing knowledge and skills to analyze real-world situations. Data Science All Units Math (HS) 8: Data. The student applies mathematical processes to analyze data, select appropriate models, write corresponding functions, and make predictions Data Science Units 3-9 Math (HS) 9: Mathematical modeling in social sciences. The student applies mathematical processes and mathematical models to analyze data as it applies to social sciences. Data Science All Units Math (HS) 10: Mathematical modeling in social sciences. The student applies mathematical processes to design a study and use graphical, numerical, and analytical techniques to communicate the results of the study. Data Science Units 4-9

## Alignment

2-DA-07: Represent data using multiple encoding schemes. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 1-9

Students encode data using multiple mathematical representations (Algebra), data structures (Reactive), and tabular or visual representations (Data Science).
2-DA-08: Collect data using computational tools and transform the data to make it more useful and reliable. Bootstrap:Data Science - Units 1-9
Bootstrap:Data Science introduces students to a number of data analysis methods, encouraging them to ask questions of large datasets and then sort, filter, and define functions over data to answer those questions.
2-DA-09: Refine computational models based on the data they have generated. Bootstrap:Reactive - Units 3-5
Bootstrap:Data Science - Units 2-9

Bootstrap:Reactive has students walk through an iterative design process for adding and refining elements in their programs based on what things will be changing within their programs. Bootstrap:Data Science has students refine data sets by sorting, filtering, and defining functions over data, as well as thinking critically about the need to remove outliers in their data.
2-AP-11: Create clearly named variables that represent different data types and perform operations on their values. Bootstrap:Algebra - Units 2-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 1-9

All Bootstrap courses cover functions and variables, including named values and inputs to built-in and user-defined functions.
2-AP-13: Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs Bootstrap:Algebra - Units 5-8
Bootstrap:Reactive - Units 3-5
Bootstrap:Data Science - Units 2-9

Bootstrap introduces students to programming problems that benefit from decomposition into multiple functions and/or data structures. The Design Recipe provides some structured guidance on when to introduce new functions when decomposing problems. Bootstrap:Algebra and Bootstrap:Reactive introduce the idea of top-down or bottom-up strategies for decomposition.
2-AP-14: Create procedures with parameters to organize code and make it easier to reuse. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 2-9

Bootstrap:Algebra introduces the core idea of functions as abstractions over repeated computations. Bootstrap:Reactive moves into larger programs that get decomposed into subproblems, which are designed, implemented, and tested independently. Bootstrap:Data Science introduces the idea of writing functions over tabular data to answer meaningful questions about that data.
2-AP-17: Systematically test and refine programs using a range of test cases. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 2-9

Design and execution of test cases is emphasized throughout all Bootstrap courses. Students are required to write multiple test cases (including expected answers for each) for each function; our software helps them track which tests are passing and which are failing.
2-AP-19: Document programs in order to make them easier to follow, test, and debug. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 2-9

Bootstrap's Design Recipe emphasizes design, documentation, coding, and testing throughout every course. The process is explicit in Bootstrap's worksheets and exercises, and student-generated documentation is assessed along with the code it explains.
3A-DA-11: Create interactive data visualizations using software tools to help others better understand real-world phenomena. Bootstrap:Data Science - Units 1-9
Bootstrap:Data Science introduces students to pie charts, bar charts, histograms, scatterplots, and more as a way of answering questions about, and better understanding real-world datasets. The course culminates in students writing a research paper incorporating these data visualizations about a topic they care about.
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. Bootstrap:Reactive - Units 3-5
Bootstrap:Reactive introduces the concept of reactors and event-driven programming, requiring students to write programs that respond to the passage of time, keypresses, and (optionally) mouse clicks and movement.
3A-AP-17: Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. Bootstrap:Algebra - Units 5-8
Bootstrap:Reactive - Units 3-5
Bootstrap:Data Science - Units 2-9

Bootstrap introduces students to programming problems that benefit from decomposition into multiple functions and data structures. The Design Recipe provides some structured guidance on when to introduce new functions when decomposing problems.
3A-AP-18: Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 3-5
Bootstrap:Data Science - Units 1-9

All Bootstrap courses culminate in a final project. For Bootstrap:Algebra and Reactive, the project is a video game or animation that makes use of multiple student-created functions to handle movement and interactivity. In Bootstrap:Data Science, students create a research paper and data science project as a result of analyzing, transforming, and interpreting data with functions.
3A-AP-23: Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs. Bootstrap:Data Science - Units 4-9
The final project for Bootstrap:Data Science is a research paper written by each student which incorporates text, code, and data visualizations to demonstrate their process of analyzing, transforming, and interpreting data to answer meaningful questions.
3B-NI-05: Use data analysis tools and techniques to identify patterns in data representing complex systems. Bootstrap:Data Science - Units 1-9
Bootstrap:Data Science introduces students to a number of data analysis methods, encouraging them to ask questions of large datasets and then sort, filter, and define functions over data to answer those questions.
3B-NI-07: Evaluate the ability of models and simulations to test and support the refinement of hypotheses. Bootstrap:Data Science - Units 2-9
Bootstrap:Data Science has students examine various issues affecting data collection and analysis, including collection bias, threats to validity, and outliers. Using linear regression methods, students can test and refine their hypotheses about relationships in their dataset.
3B-AP-14: Construct solutions to problems using student-created components, such as procedures, modules and/or objects. Bootstrap:Algebra - Units 5-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 2-9

Bootstrap:Algebra introduces the core idea of functions as abstractions over repeated computations, and has students document, test, and code multiple functions to create a video game. Bootstrap:Reactive moves into larger programs that get decomposed into sub-problems and helper functions, which are designed, implemented and tested independently. Bootstrap:Data Science introduces the idea of writing functions over tabular data to answer meaningful questions about that data.
3B-AP-21: Develop and use a series of test cases to verify that a program performs according to its design specifications. Bootstrap:Algebra - Units 3-8
Bootstrap:Reactive - Units 1-5
Bootstrap:Data Science - Units 2-9

Design and execution of test cases is emphasized throughout all Bootstrap courses. Students are required to write multiple test cases (including expected answers for each) for each function; our software helps them track which tests are passing and which are failing.
3B-AP-22: Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). Bootstrap:Reactive - Units 3-5
Bootstrap:Data Science - Units 2-9

Bootstrap:Reactive has students walk through an iterative design process for adding and refining elements in their programs based on what things will be changing within their programs. Bootstrap:Data Science has students refine data sets by sorting, filtering, and defining functions over data, as well as thinking critically about the need to remove outliers in their data.

## Alignment

Practice 1: Fostering an Inclusive Computing Culture By integrating Computing into standard math classes, Bootstrap allows schools to immediately create an inclusive computing environment. Everyone takes math, which means everyone computes. But in addition to the course settings the curriculum allows, Bootstrap also embeds teamwork, metacognition and group reflection into every step of the programming process - from co-designing a game to thinking about effective co-working strategies, Bootstrap's pedagogy fosters an inclusive culture.
Practice 2: Collaborating Around Computing Bootstrap students work on small teams, and must cultivate relationships with other students who possess diverse perspectives, skills and personalities. Students work on problems together, and are given strategies to evaluate and give feedback to one another at each step in the problem-solving process.
Practice 3: Recognizing and Defining Computational Problems Bootstrap uses real-world problems throughout the course, as students are constantly engaged in the creation of a meaningful computational artifact (a videogame of their own invention, modeling a physics simulation, or analyzing a rich dataset). Each part of this project requires that students identify problems that can be solved computationally, decompose those problems into sub-problems, and evaluate the limits of their solutions.
Practice 4: Developing and Using Abstractions Students develop and use abstractions throughout the course, starting with visual-spatial representations for arithmetic expressions and ending with complex, multi-function programs that define, use and re-use student-generated abstractions. Students define everything from Functions (Bootstrap:Algebra) to Data Structures (Bootstrap:Reactive), and Reactive Simulations (Bootstrap:Physics) to Big Data queries (Bootstrap:Data Science).
Practice 5: Creating Computational Artifacts Bootstrap's project-based approach is absed on the creation of computational artifacts. Students write programs to draw flags, make a rocket blast off, trap a butterfly, run a cash register, implement a videogame, answer real questions with data, and model an observed physical phenomenon. The creation of these artifacts is personal, customizable, and based on a rigorous methodology for iterative design and problem solving.
Practice 6: Testing and Refining Computational Artifacts Many introductory courses treat testing as a second-class citizen, either asking students to test by running a program and "seeing if it looks right" or by using programming tools that completely lack any framework for automated testing. By contrast, Bootstrap introduces testing early on in each course, and our languages and software enviroments offer rich support for writing tests and developing software based on test feedback.
Practice 7: Communicating About Computing Students in our Data Science module must choose a question that matters to them, select a relevant dataset, and answer that question - justifying their choice and answer at every step. Students in our Physics, Data Structures and Algebra courses explain their thinking as well, whether it's about the creation of a piecewise function to handle key events or a data structure to model an interactive program.
Hardware and Software Bootstrap:Reactive, Bootstrap:Data Science and Bootstrap:Physics introduce students to sophisticated programming paradigms, in which they must process user input as mediated by the software evironment. This mediation involves the flow of information from multiple sources (keyboards, mice, GPS systems, and internet-connected resources), and students must consider this flow when designing their programs.
Troubleshooting All Bootstrap modules embrace Example Driven Design, in which students write test cases for each abstraction they create. This bakes in troubleshooting by design: a student immediately has a mechanism to locate an error, and knows a pedagogical approach for debugging their thinking process.
Data Collection Students in Bootstrap:Data Science and Bootstrap:Physics collect data using an array of tools techniques: tapping into existing datasets (e.g. - Spreadsheets) as well as automated or manual sampling using an array of instruments. The choice of sampling mechanism is instruction, as it exposes students to the strengths and weaknesses of a particular approach. Movement-tracking via observation v. changes in a cell phone's GPS coordinates, for example, will influence the amount and quality of the data that is collected.
Visualization and Transformation Our Data Science module embraces authentic data science concepts in a lightweight fashion: students must identify, transform, clean and manipulate data sets as they explore a research question of their own design. This involves everything from visualizing to aggregation, and rearrangement to transformation.
Inference and Models Bootstrap:Algebra and Bootstrap:Reactive are all build around students' developing a model for a desired (or observed) behavior. Bootstrap:Algebra has students model the process of computation, and Bootstrap:Reactive gives students the ability to model the data behind it. Bootstrap:Physics goes one step farther, having students use these models to predict the behavior of a complex system. In these activities, the tradeoffs between model complexity and model quality become clear.
Algorithms Bootstrap students consider many algorithms throughout our material. They are confronted with multiple ways to reach a solution, asked to generalize a algorithms so they can be re-used for other problems, and given opportunities to discuss the tradeoffs between different approaches.
Variables Bootstrap introduces variables early on, with students confronting variables and functions almost immediately in Bootstrap:Algebra. These variables can be used to represent Numbers, Strings, Images, Booleans, data structures of infinite complexity, and even remote spreadsheets stored across the internet! Our pedagogy explicitly asks students to come up with meaningful identifiers for every variable they use, and Bootstrap:Reactive allows students to select their own Data Structures. (Note: in a slight deviation from the K12CS standards, Bootstrap uses the mathematical concept of variable. Namely, we do not discuss the notion of "machine storage", since that concept directly undermines the notion of variables in mathematics.)
Control Students in all of Bootstrap's modules confront program control, sequences of evaluation, and conditionals. Bootstrap:Reactive, Data Science and Physics add loops and event handlers, to create more complex behavior.
Modularity Bootstrap's focus on abstraction works hand in hand with the concept of modularity. Students decompose complex problems into smaller ones, and build abstractions (functions, data structures, etc) to solve them. The abstractions are used to organize code, and can be composed with one another or repurposed to solve more complex problems without having to duplicate code. Students assemble these abstractions to form complex, reactive programs - relying on the modularity of those abstractions to manage complexity.
Program Development Our pedagogy is based on a robust process for program development, known as the Design Recipe. This approach has been used for decades at the university level, and mirrors many best practices from industrial contexts. The Design Recipe is an iterative process that involves defining type specifications, communicating those specifications through writing, building example-driven test cases, implementation, and testing.