Understanding the structure of the physical environment, the interrelated components of robot hardware and software, and commands within a program are vital to successful solutions

MP8 Look for and express regularity in repeated reasoning

Any programmed solution to a class of problems relies on the programmer recognizing and exploiting important patterns in the problem structure. There is also an emphasis throughout the module on recognizing common programmatic patterns, as well as patterns within a solution that invite the use of Loops.

Common Core Mathematics Content

Standard (CCSS.Math.Practice)

Introduction to Programming the EV3

6.RP.A.1 Understand the concept of a ratio and use ratio language to describe a ratio relationship between two quantities

Students use ratio language to describe and make use of the relationship between quantities such as Wheel Rotations and Distance Traveled

6.RP.A.2 Understand the concept of a unit rate a/b associated with a ratio a:b with b!=0, and use rate language in the context of a ratio relationship

The relationship between Wheel Rotations and Distance Traveled is a rate, customarily understood through a unit rate such as “# cm per rotation”.

6.R.A.3 Use ratio and rate reasoning to solve real-world and mathematical problems

Students are required to apply ratios and rates when they build their prototype examples of their real world robots.

MS-ETS1-2. Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.

Solving challenges requires students to create and evaluate both hardware and software designs according to scenario scoring criteria.
Some Reflection Questions require students to make recommendations between competing alternatives based on criteria that they define.

MS-ETS1-4. Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.

When solving more difficult and complex challenges, students are guided toward iterative testing and refinement processes. Students must optimize program parameters and design.

HS-ETS1-2. Design a solution to a complex real-world problem by breaking it down into smaller, more manageable problems that can be solved through engineering.

Problem Solving methodology for challenges directs students to break down large problems into smaller solvable ones, and build solutions up accordingly; challenges give students opportunities to practice, each of which is based on a real-world robot

HS-ETS1-3. Evaluate a solution to a complex real-world problem based on prioritized criteria and trade-offs that account for a range of constraints, including cost, safety, reliability, and aesthetics as well as possible social, cultural, and environmental impacts.

Some Reflection Questions require students to make recommendations about real-world policies (e.g. requiring sensors on automobiles) based on the impact of that decision

Computer Science Principles Framework (CSP)

Learning Objective

Introduction to Programming the EV3

1.1.1 Use computing tools and techniques to create artifacts. [P2]

Challenge activities result in the creation of a (simple) algorithmic solution and an accompanying program that implements it.

1.1.2 Collaborate in the creation of computational artifacts. [P6]

Students work in teams to accomplish tasks.

1.1.3 Analyze computational artifacts. [P4]

Students perform debugging on their own code, as well as analyze and evaluate others’ code and suggested code in Reflection Questions.

1.3.1 Use programming as a creative tool. [P2]

Students use programming to solve model challenges based on challenges real robots face.

2.2.1 Develop an abstraction. [P2]

Robots gather information about the world through sensors, which turn physical qualities of the world into digital abstractions. Students must understand and work with this data to develop then implement their solution algorithms.

2.3.1 Use models and simulations to raise and answer questions. [P3]

Students construct and use a “program flow” model of programming itself to understand how the robot uses data to make decisions and control the flow of its own commands.

4.1.1 Develop an algorithm designed to be implemented to run on a computer. [P2]

Students develop solution algorithms to each challenge and mini-challenge problem before implementing them as code. Reflection Questions also ask students to evaluate algorithms expressed as pseudocode.

4.2.1 Express an algorithm in a language. [P5]

Students develop code to robotics challenges in the EV3 Programming Language.

5.1.1 Explain how programs implement algorithms. [P3]

Students must communicate solution ideas within groups and as part of class discussion, as well as in Reflection Questions.

5.3.1 Evaluate a program for correctness. [P4]

Students test and debug their own code, and evaluate others’ in the Reflection Questions.