# Learn programming through robotics simulation

The Learn programming through robotics simulation curriculum module designed to teach core computer programming logic and reasoning skills using a robotics context.

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. Prior robotics experience not required or assumed!

The curriculum consists of three chapters (Basic Movement, Sensors, and Program Flow) and each chapter is broken into units that teach key robotics and programming concepts.

# Requirement

  • Must have at least one Laptop with Windows OS
  • Must have access to internet

# Features

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

  • An explanation of robots solve problems

  • 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

# Topics

# How to control basic robot movements

Robot math, Sequences of commands

# Sensors and how they work

Touch Sensor, Ultrasonic Sensor, Gyro sensor, and Color Sensor

# Intermediate concepts of programming

Program Flow Model, Wait Until Commands, Decision-Making Structures, Loops, If/Else, Repeated Decisions

# Teach troubleshooting strategies and engineering practices

Problem-solving strategies, Teamwork

# Learning Objectives

# 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, Variables, Functions, Arrays

# Engineering practices

Building solutions to real-world problems, Problem-solving strategies, Teamwork

# How do I use the curriculum in my class?

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)

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

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

  1. 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 Reproducible section of this Teacher’s Guide