Skip to main content
LessonGrades 7 - 9

Algorithmic Remote Rover Programming: Curiosity Killed the App

An artist's illustration shows a robot on wheels with a camera and sensors on the red-soil surface of Mars.The cameras, sensors and movement of the Mars Rover Curiosity are controlled remotely by software designed by engineers.

Students gain experience with the software/system design process, closely related to the engineering design process, to solve a problem. First, they learn about the Mars Curiosity rover and its mission, including the difficulties that engineers must consider and overcome to operate a rover remotely. Students observe a simulation of a robot being controlled remotely. These experiences guide discussion on how the design process is applied in these scenarios. The lesson culminates in a hands-on experience with the design process as students simulate the remote control of a rover. In the associated activity, students gain further experience with the design process by creating an Android application using App Inventor to control one aspect of a remotely controlled vehicle.

(Note: The lesson requires a LEGO® MINDSTORMS® Education set.)

Software engineers use the software/system design process, which is a specific case of the engineering design process, to develop applications that we encounter on a daily basis. Software engineers develop business software, communication software, compilers, computer graphics, banking software and more, by following the steps of the design process. During the design process, engineers plan what an application will do, decide what it looks like, decide how to structure the software, test and edit to ensure the application or software works correctly. Working as software engineers, students practice implementing the engineering design process. They identify the problem, research the problem, imagine different solutions, select and build a possible solution, test and evaluate their solution, and redesign as needed to meet the requirements.

After this lesson, students should be able to:

  • Use the design process to solve a problem associated with remote sensing.
  • Understand and use the basic steps in algorithmic problem-solving (that is, problem statement and exploration, examination of sample instances, design, implementation, and testing).

More Like This