Follow us!
YouTube Facebook Pinterest

The Introduction to Programming EV3 Curriculum is a curriculum module designed to teach core computer programming logic and reasoning skills using a robotics engineering context. It contains a sequence of 10 projects (plus one capstone challenge) organized around key robotics and programming concepts.

More Information:

Classroom version includes:

  • FREE Virtual Brick 365-Day Classroom license with every purchase (Note: Virtual Brick is Windows only)
  • Installable version of all lesson content
  • Access to upcoming bonus content (Online Download)
  • Data Logging
  • Wiring Data Hubs
  • MyBlocks


View the FREE Online version


(Mac) Purchase from the Robomatter InstantCheckout Store (Windows) Purchase from the Robomatter InstantCheckout Store

 [Note: Link takes you away from our website]

What is the Introduction to Programming EV3 Curriculum?

The Introduction to Programming EV3 Curriculum is a curriculum module designed to teach core computer programming logic and reasoning skills using a robotics engineering context. It contains a sequence of 10 projects (plus one capstone challenge) organized around key robotics and programming concepts.

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 challenge that the robot faces

• A LEGO-scale version of the problem for students to solve with their robots

• Step-by-step guided video instruction that introduces key lesson concepts (e.g. Loops) by building simple programs that progress toward the challenge task

• 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 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 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

• Additional Reflection Questions found in the back of this Teacher’s Guide allow you to assess the depth of students’ understandings while challenging them to apply their learning to a higher-order problem-solving and writing task.


Below are topics covered by the curriculum

Topics Covered
Unit Name Main Topics
1. Moving Straight Motors, Sequences of Commands, Block Settings Downloading and Running Programs, Move Steering Block
2. Turning Turning, Types of Turns, Move Steering vs. Move Tank Block
3. Move Until Touch Sensors, Wait For Block, Touch Sensor, Move Until Behaviors
4. Move Until Near Ultrasonic Sensor, Thresholds
5. Turn for Angle Gyro Sensor, Compensating for Sensor Error
6. Move until Color Color Sensor
7. Loops Loops, Patterns of Behavior
8. Switches Switches, Conditional Reasoning
9. Switch-Loops Obstacle Detection Behavior, Repeated Decisions Pattern
10. Line Follower (Mini-Unit) Line Following (a Repeated Decisions Pattern Behavior)
11. Final Challenge Cumulative Application of Skills and Knowledge

Why should I use the Introduction to Programming EV3 Curriculum?

Introduction to Programming provides a structured sequence of programming activities in real-world project-based contexts. The projects are designed to get students thinking about the patterns and structure of not just robotics, but also programming and problem-solving more generally.

By the end of the curriculum, students should be better thinkers, not just coders.

What are the Learning Objectives of the Introduction to Programming 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 Introduction to Programming EV3 Curriculum in my class?

Introduction to 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 Introduction to 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 Introduction to Programming: LEGO MINDSTORMS EV3 curriculum?

Introduction to 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 Introduction of Programming: 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.

ev3-cur_basicsBasics Unit:

• Getting Started: Set up the robot and learn about its basic operation and maintenance

• Big Ideas: Five big ideas that will be important throughout the course

Using the Software: General usage patterns in the EV3 Programming Software

Virtual Robots: Learn how to use this curriculum with virtual robots and its’ benefits

Behaviors Unit: Movement

• Moving Straight: How to make the EV3 robot move in simple straight paths

• Turning: Concepts and how to make the EV3 robot turn

My Blocks: (Available when purchased) Learn to create custom blocks

Behaviors Unit: Sensors

• Move Until Touch: Explore the usage of the EV3 Touch Sensor

• Move Until Near: Explore the usage of the EV3 Ultrasonic Sensor

Turn for Angle: Explore the usage of the EV3 Gyro Sensor

Move Until Color: Explore the usage of the EV3 Color Sensor

Gyro Investigation: (Available when purchased) In-depth analysis of the EV3 Gyro Sensor

Behaviors Unit: Decision

• Loops: Using loops to repeat behaviors

• Switches: Using IF statements to allow decision making

Switch-Loops: Using a combination of loops and switches to control the program with smarter decisions

Line-Follower: Create a general line-following behavior

Final Challenge Unit:

• Resources: Extra resource videos about engineering process

• Search and Rescue Challenge: Combine all techniques learned to complete the final challenge

Bonus Unit:

• Data Wires: (Available when purchased) Learn how to use data to generate different results with the same program

• Logic: (Available when purchased) Add logic to the EV3 robot

What are the Big Ideas taught in the Introduction to Programming LEGO MINDSTORMS EV3 curriculum?


Robotics can be something you teach with, as well as something you teach about. Introduction to Programming uses robots, and covers robotics content, but ultimately seeks to give students experience and access to a much broader set of skills and perspectives called Computational Thinking.


Big Idea #1: Programming is Precise
If you want a robot to do something, you need to communicate that idea with mathematical and logical precision, or it won’t quite be what you intended.

Big Idea #2: Sensors, Programs, and Actions
Data from sensors gives a robot information about its environment. A program uses that data to make decisions, and the robot Acts on those decisions. Data underlies the core of the entire process.

Big Idea #3: Make Sense of Systems
To understand the way something works, construct a mental “model” of it in your head that captures the important features and rules of the system. This helps you make sense of it, and also gives you a tool to “play out” (similar) new scenarios in your head to predict what would happen.

Big Idea #4: Break Down Problems and Build Up Solutions
To solve a difficult problem, try breaking it down into smaller problems. Then, solve the smaller problems, building up toward a solution to the big problem.

Big Idea #5: Computational Thinking Applies Everywhere
These skills – mathematical and logical clarity, using data, systems thinking with mental models, and problem solving – are not just for robotics. They are key to solving many problems in the world.

A video introduction to these topics can be found in the “Big Ideas” block of the Basics section of the product.

What Standards does the Introduction to Programming 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)

Common Core Mathematics Practices
Standard (CCSS Math Practice) Introduction to Programming the 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.

Common Core Mathematics Content
Standard (CCSS Math Content) 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
7.RP.A.3 Use proportional relationships to solve multistep ratio and percent problems Comparisons between rate-derived quantities

Common Core English Language
Standard (CCSS ELA-Literacy) Introduction to Programming the 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.

Next Generation Science Standards (NGSS)
Standard Introduction to Programming the 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

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

System Requirements

  • 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).

© 2018 Carnegie Mellon Robotics Academy. All rights reserved.