Carnegie Mellon University

Carnegie Mellon Robotics Academy

Use educational affordances of robotics to create CS-STEM opportunities for all learners

Introduction to Programming - LEGO® MINDSTORMS EV3

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

  • Step-by-step tutorial videos to walk students through programming behaviors
  • Sensor-based lessons to learn how to program a robot to "sense" its environment
  • Challenges for each behavior
  • Student tracking through CS-STEM Network

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.

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.

• Basic concepts of programming
• Commands
• Sequences of commands

• Intermediate concepts of programming
• Program Flow Model
• Simple (Wait For) Sensor behaviors
• Decision-Making Structures
• Loops
• Switches

• Engineering practices
• Building solutions to real-world problems
• Problem-solving strategies
• Teamwork

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