The ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 software includes videos, animations, and step-by-step lessons designed to learn text-based programming using the LEGO MINDSTORMS EV3 hardware and ROBOTC 4.x for LEGO MINDSTORMS.
Designed for Students and Instructors – Designed to encourage independent learning and problem solving in pursuit of a goal. All lessons are self-contained, require a minimum of instructor supervision, and include many built-in opportunities to self-assess progress.
What is the ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 Curriculum?
Each project comprises a self-contained instructional unit in the sequence, and provides students with:
• An introduction to a real-world robot and the context in which it operates
• A LEGO EV3 – scale version of the problem to solve with a EV3 robot
• Step-by-step guided video instruction that introduces key lesson concepts (e.g. Loops) by building simple programs that progress toward the end of unit programming challenge
• Built-in questions that give students instant feedback on whether they understood each step correctly, to aid in reflection and self-pacing
• Semi-guided “Try It!” exploration activities that expose additional uses for and variants on each robot behavior
• Semi-open-ended Mini-Challenges which ask students to use the skill they have just learned to solve a relevant small portion of the final unit challenge
• The Unit Challenge based on the original robot’s problem, for students to solve in teams as an exercise and demonstration of their mastery of the concept
Below are topics covered by the curriculum
• How to control basic robot movements
1. Robot configurations
1. Basic robot motion
2. Sequences of commands
• Sensors and how they work
1. Touch sensor, sonar sensor, gyro sensor, and color sensor
• Intermediate concepts of programming
1. Program Flow Model
2. Wait Until Commands
• Repeated Decisions
• Teach troubleshooting strategies and engineering practices
1. Problem-solving strategies
One of the biggest challenges facing teachers today is meeting the needs of each individual student in their classroom; that is the core of differentiated instruction. Differentiated instruction asks teachers to approach students at their instructional level, and requires students to show evidence of growth from their instructional level. Differentiated instruction encompasses more than just assessment. It involves all aspects of instruction: classroom delivery, overall learning environment, learning content, and assessment. The EV3 programming curriculum and ROBOTC software provides many opportunities for students of all abilities:
• Solving the open-ended programming challenges embedded into the units that make up the Motion, Sensing, and the Challenge Chapters.
• Challenging gifted students to move from graphical to text based ROBOTC.
• Working cooperatively with students having difficulty grasping some concepts.
• Engaging in engineering challenges that are found in robotics competitions.
What are the Learning Objectives of the ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 Curriculum?
• Basic concepts of programming
• Sequences of commands
• Intermediate concepts of programming
• Program Flow Model
• Simple (Wait For) Sensor behaviors
• Decision-Making Structures
• Engineering practices
• Building solutions to real-world problems
• Problem-solving strategies
How do I use the ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 curriculum in my class?
ROBOTC Intermediate Programming is designed for student self-pacing in small groups, preferably pairs. Each pair of students should work together at one computer, with one EV3 robot.
Curriculum tasks are designed to involve some – but not extensive – mechanical consideration, so that hands-on design tasks may remain authentic without becoming logistically difficult.
Solutions will not require parts in excess of those included in the 45544 EV3 Core set, so it is sufficient to leave each team with one kit (although access to additional parts may allow students to construct more creative solutions to problems).
A typical plan for an Intermediate Programming chapter is:
1. View the introductory video as a class, or in individual groups, then review the challenge task for the unit
• In a group, identify and note key capabilities the robot must develop, and problems that must be solved in individual engineering journals or class logs (e.g. on sticky paper posted on the walls)
2. Groups proceed through the video trainer materials at their own pace, following the video instruction directly, and constructing solutions to the Try It! and Mini-Challenge steps as they go
3. Each group constructs its own solution to the Unit Challenge
• Groups may be asked to document their solutions in journals or logs, and especially to explain how they overcame the key problems identified at the start of the unit
4. Assign the Reflective Question for the chapter
• Students answer the Reflection Question for the chapter individually, as an in-class or homework assignment
• Reflection Questions for each chapter can be found in the Reproducibles section of this Teacher’s Guide
When to use ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 curriculum?
ROBOTC Intermediate Programming the EV3 is well-suited for use at the beginning of a robotics class, as it will allow students to engage immediately and begin building core programming and problem-solving skills before undertaking more ambitious open-ended projects later in the course. This curriculum module should take approximately 6 weeks.
What is the general layout of ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 curriculum?
Below is the main menu of the curriculum. Users are able to click a section to begin, or jump right to a section by selecting a page number.
• System Configuration: Set up the robot and learn about its basic operation and maintenance
• Your First Program (Physical Robot): Configuring the robot and updating firmware for the physical robot
• Your First Program (Virtual Robot): Learn how to use the virtual robot and program within the virtual world
• Basic Robot Movement: Program the robot with basic forward and backward moments
• Moving the Arm: Program the arm attachment
• Turning: Programming basic point and swing turns
• Repeat Loops: Learn about loops and repeating behaviors
• Commenting: Writing comments and code organization
• Capstone Challenge: Complete the Angular Maze Challenge
• Encoders: Learn about encoders and using them properly
• Touch Sensor: Learn about the Touch sensor and how it works
• Distance Sensor: Learn about the Ultrasonic Distance sensor
• Gyro Sensor: Learn about the Gyro sensor
• Color Sensor (Conditionals): Learn about the Color sensor and using conditional statements
• Color Sensor (Repeat Behaviors): Learn about repeat loops with Color and other sensors
• Color Sensor (Line Tracking): Learn about the idea of line tracking
• Capstone Challenge: Complete the Obstacle Course Challenge
• Introduction: Learn about the real robot application of Pipeline Explorer
• Encoders and Variables: Learn about using variables and extended encoder usage
• Functions: Learn to create and use functions
• Move Multiple Lines: Learn to use multiple functions and storing values
• Converting Distance to CM: Applying math operations with stored values
• Calculate Distance Functions: Creating advance functions
• Functions Parameters: Utilizing function parameters
• Displaying Value to LCD: Learn how to display information on the LCD screen
• Capstone Challenge: Complete the Pipeline Challenge
• Introduction: Learn about the real robot application of Barcode Scanner
• Understanding Arrays: Learn about arrays and its functionalities
• Detecting Lines/Storing Results: Learn about additional variables and functions
• For Loops: Learn about For Loops and its functionalities
• Binary Data Conversion: Learn about binary computer and how to apply it
• Barcode Data Display: Learn how to display information on the LCD screen
• Capstone Challenge: Complete the Barcode Scanner Challenge
Automated Car Park: Grand Challenge
• Ideation Phase: As the grand challenge, it is broken down into multiple phases. Ideation Phase focuses on research and pre-planning.
• Development Phase: Focuses on development and maintaining rational goals during development
• Review Phase: Learn about changes throughout development and lessons learned
What Standards does the ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3 curriculum address?
The curriculum touches on standards across five categories:
1. Common Core Mathematics Practices
2. Common Core Mathematics Content
3. Common Core English Language Arts
4. Next Generation science Standards (NGSS)
5. Computer Science Principles Framework (CSP)
|Standard (CCSS Math Practice)||ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3|
|MP1 Make sense of problems and persevere in solving them||Chapters are all based around solving real-world robot problems; students must make sense of the problems to inform their solutions|
|MP2 Reason abstractly and quantitatively||Programming requires students to reason about physical quantities in the world to plan a solution, then calculate or estimate them for the robot|
|MP4 Model with mathematics||Many processes, including the process of programming itself, must be systematically modeled on both explicit and implicit levels|
|MP6 Attend to precision||Robots require precise (and accurate) input, or their output action will be correspondingly sloppy|
|MP7 Look for and make use of structure||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.|
|Standard (CCSS Math Content)||ROBOTC Intermediate Programming for LEGO MINDSTORMS 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|
|7.RP.A.3 Use proportional relationships to solve multistep ratio and percent problems||Comparisons between rate-derived quantities|
|Standard (CCSS ELA-Literacy)||ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3|
|WHST.6-8.1 Write arguments focused on discipline-specific content [See also: WHST.6-8.1.a to WHST.6-8.1.e]||Reflection Questions ask students to analyze, evaluate, and synthesize arguments in response to robotics and programming problems|
|WHST.6-8.4 Produce clear and coherent writing in which the development, organization, and style are appropriate to task, purpose, and audience.||Reflection Question tasks include composing technical critiques, technical recommendations, and creative synthesis.|
|Standard||ROBOTC Intermediate Programming for LEGO MINDSTORMS EV3|
|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|
|Learning Objective||ROBOTC Intermediate Programming for LEGO MINDSTORMS 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.|
|5.3.2 Develop a correct program. [P2]||Programmed solutions to challenges must work.|
|5.3.3 Collaborate to solve a problem using programming. [P6]||Students develop solutions in teams.|
|5.4.1 Employ appropriate mathematical and logical concepts in programming. [P1]||Relationships such as “distance per wheel rotation” are important to making solutions work.|
|7.4.1 Connect computing within economic, social, and cultural contexts. [P1]||Reflection Questions ask students to make evaluative recommendations based on the impacts of robotic solutions in context.|
- Windows XP, Vista, 7 or 8 | MAC OSX 10.8 or later.
- Internet Explorer 9.0 or later, Safari, Chrome, Mozilla Firefox 24.0 or later (Firefox for Mac currently not supported).
- For use with LEGO MINDSTORMS EV3 Robotics Systems (sold separately).