Quick Look
Grade Level: 8 (7-9)
Time Required: 1 hours 15 minutes
Expendable Cost/Group: US $0.00 This activity also requires the use of non-expendable (reusable) items such as LEGO robots and Android devices; see the Materials List for details.
Group Size: 3
Activity Dependency:
Subject Areas: Computer Science
NGSS Performance Expectations:
HS-ETS1-2 |
MS-ETS1-2 |
MS-ETS1-4 |
Summary
Based on their experience exploring the Mars rover Curiosity and learning about what engineers must go through to develop a vehicle like Curiosity, students create Android apps that can control LEGO® MINDSTORMS® robots, simulating the difficulties the Curiosity rover could encounter. The activity goal is to teach students programming design and programming skills using MIT's App Inventor software as the vehicle for the learning. The (free to download) App Inventor program enables Android apps to be created using building blocks without having to actually know a programming language. At activity end, students are ready to apply what they learn to write other applications for Android devices.Engineering Connection
Software engineers use the engineering design process to develop software applications that we encounter on a daily basis. Examples of engineering programming designs include software for business, communication, compilers, computer graphics and banking. Using the design process, software engineers plan what an application or program will do, decide what it looks like, decide how to structure the software, test and edit it to ensure the app or program works as intended. In this activity, students act as software engineers to create Android apps. They identify the problem, develop solutions, select and implement a possible solution, test their solutions and redesign as needed to create the desired Android application.
Learning Objectives
After this activity, students should be able to:
- Design and create a mobile app for an Android device using MIT's App Inventor.
- Apply the steps of the software/system (engineering) design process.
Educational Standards
Each TeachEngineering lesson or activity is correlated to one or more K-12 science,
technology, engineering or math (STEM) educational standards.
All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN),
a project of D2L (www.achievementstandards.org).
In the ASN, standards are hierarchically structured: first by source; e.g., by state; within source by type; e.g., science or mathematics;
within type by subtype, then by grade, etc.
Each TeachEngineering lesson or activity is correlated to one or more K-12 science, technology, engineering or math (STEM) educational standards.
All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN), a project of D2L (www.achievementstandards.org).
In the ASN, standards are hierarchically structured: first by source; e.g., by state; within source by type; e.g., science or mathematics; within type by subtype, then by grade, etc.
NGSS: Next Generation Science Standards - Science
NGSS Performance Expectation | ||
---|---|---|
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. (Grades 9 - 12) Do you agree with this alignment? |
||
Click to view other curriculum aligned to this Performance Expectation | ||
This activity focuses on the following Three Dimensional Learning aspects of NGSS: | ||
Science & Engineering Practices | Disciplinary Core Ideas | Crosscutting Concepts |
Design a solution to a complex real-world problem, based on scientific knowledge, student-generated sources of evidence, prioritized criteria, and tradeoff considerations. Alignment agreement: | Criteria may need to be broken down into simpler ones that can be approached systematically, and decisions about the priority of certain criteria over others (trade-offs) may be needed. Alignment agreement: |
NGSS Performance Expectation | ||
---|---|---|
MS-ETS1-2. Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem. (Grades 6 - 8) Do you agree with this alignment? |
||
Click to view other curriculum aligned to this Performance Expectation | ||
This activity focuses on the following Three Dimensional Learning aspects of NGSS: | ||
Science & Engineering Practices | Disciplinary Core Ideas | Crosscutting Concepts |
Evaluate competing design solutions based on jointly developed and agreed-upon design criteria. Alignment agreement: | There are systematic processes for evaluating solutions with respect to how well they meet the criteria and constraints of a problem. Alignment agreement: |
NGSS Performance Expectation | ||
---|---|---|
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. (Grades 6 - 8) Do you agree with this alignment? |
||
Click to view other curriculum aligned to this Performance Expectation | ||
This activity focuses on the following Three Dimensional Learning aspects of NGSS: | ||
Science & Engineering Practices | Disciplinary Core Ideas | Crosscutting Concepts |
Develop a model to generate data to test ideas about designed systems, including those representing inputs and outputs. Alignment agreement: | Models of all kinds are important for testing solutions. Alignment agreement: The iterative process of testing the most promising solutions and modifying what is proposed on the basis of the test results leads to greater refinement and ultimately to an optimal solution.Alignment agreement: |
International Technology and Engineering Educators Association - Technology
-
Students will develop an understanding of the attributes of design.
(Grades
K -
12)
More Details
Do you agree with this alignment?
-
Students will develop an understanding of engineering design.
(Grades
K -
12)
More Details
Do you agree with this alignment?
-
Students will develop abilities to apply the design process.
(Grades
K -
12)
More Details
Do you agree with this alignment?
-
Illustrate principles, elements, and factors of design.
(Grades
9 -
12)
More Details
Do you agree with this alignment?
-
Determine the best approach by evaluating the purpose of the design.
(Grades
9 -
12)
More Details
Do you agree with this alignment?
State Standards
National Science Education Standards - Science
-
Communicate the problem, process, and solution. Students should present their results to students, teachers, and others in a variety of ways, such as orally, in writing, and in other forms — including models, diagrams, and demonstrations.
(Grades
9 -
12)
More Details
Do you agree with this alignment?
-
Creativity, imagination, and a good knowledge base are all required in the work of science and engineering.
(Grades
9 -
12)
More Details
Do you agree with this alignment?
-
Science often advances with the introduction of new technologies. Solving technological problems often results in new scientific knowledge. New technologies often extend the current levels of scientific understanding and introduce new areas of research.
(Grades
9 -
12)
More Details
Do you agree with this alignment?
Materials List
Each group needs:
- LEGO MINDSTORMS EV3 robot, such as EV3 Core Set (5003400) at https://education.lego.com/en-us/products/lego-mindstorms-education-ev3-core-set/5003400#lego-mindstorms-education-ev3
- Android device, such as a smartphone or tablet (Look at the http://appinventor.mit.edu/explore/ website for a list of all devices known to work with App Inventor; see the right column under the "Phones & Tablets Database" title.) Note: It is best if each group has an Android mobile device. If not enough are available, adjust the group sizes to match the number of devices. Or, if the class is small enough, work together as one group, sharing a teacher-provided Android mobile device. Realize that these options may limit the learning experience of each student.
- Google Gmail account
- App Inventor online registration at http://appinventor.mit.edu/explore/learn.html
- computer with internet access
- App Inventor General Information
- Mars Rover App Rubric
- Technological Design Process Worksheet
Alternative: LEGO MINDSTORMS NXT Set:
Note: This activity can also be conducted with the older (and no longer sold) LEGO MINDSTORMS NXT set instead of EV3; see below for those supplies:
- LEGO MINDSTORMS NXT 2.0
Worksheets and Attachments
Visit [www.teachengineering.org/activities/view/uno_curiosity_lesson01_activity1] to print or download.Pre-Req Knowledge
This activity is recommended for use in a computer programming class or environment. Students should have a basic understanding of computer programming design and control structure. Students also need a basic knowledge of how MIT's App Inventor works. Prior to this activity, students should have worked through the MIT App Inventor tutorials, available online at http://appinventor.mit.edu/explore/learn.html, to gain an understanding of how App Inventor works. The Program Analysis Using App Inventor lesson and its associated Flow Charting App Inventor Tutorials activity provide students with experience with both the engineering design process and App Inventor, and should be completed prior to this activity. In addition, App Inventor General Information provides general App Inventor concepts and may be useful as a reference for the teacher and students during the activity.
Introduction/Motivation
In today's activity, you will develop an app for an Android device. However, the activity is about more than the single app you will develop. It is about the skills that you gain while you interact with a piece of software that helps you develop your app.
As a reminder from the associated lesson: Algorithmic Remote Rover Programming: Curiosity Killed the App, the software design process closely resembles the engineering design process.
At the end of the activity, you should have the skills in place to write other apps for Android devices. If you desire, you could even apply the skills that you learn in this activity to your Android device so that you can write other Android apps that could be published for public use.
Procedure
Background
Students develop apps for Android devices that can control some aspect of a LEGO MINDSTORMS EV3 robot simulating the Mars Curiosity rover. This might be driving the robot, moving an arm, detecting objects, applying a game or using a sensor such as the color sensor.
Refer to the Lander Student, Mars Project Student and Shooter Student as example apps created by students that can be loaded on Android devices for teacher and students' reference.
This activity provides students with experience in the software/systems design process and gives students experience with the software application App Inventor. Using App Inventor, people can write software applications that execute on Android devices.
Before the Activity
- Install and set up the App Inventor software. For instructions on how to do this, see the tutorial on the MIT website: https://appinventor.mit.edu/explore/ai2/windows.html.
- The teacher and students should have a basic working knowledge of programming and how App Inventor works. As necessary, use App Inventor tutorials at http://appinventor.mit.edu/explore/.
- Divide the class into groups of three students each (assuming enough robots and Android devices).
- Make copies of the App Inventor General Information, Mars Rover App Rubric, and Technological Design Process Worksheet, one per group.
With the Students
- Explain the activity goal to the class. Student groups are responsible for creating a mobile app, using App Inventor, which completes a (simulated) Mars remote sensing task. These tasks might include driving and moving the robot, moving an arm, detecting objects, applying a game, or using a sensor, such as the color sensor.
- Hand out the general information sheets, rubrics and worksheets.
- Introduce the criteria for a successful app design. The app must:
- Have a Mars (or other planet) scientific connection. Example: The app may be designed to help the rover steer around or climb obstacles found in rough surface conditions. The app may have the robot measure humidity or temperature in the planet's atmosphere.
- Use at least five App Inventor tools/objects. Examples: Canvas, alignment, button, text box, sprite, label, list picker. See Figure 1 for a full list. Note: These are examples of major objects in App Inventor that app commands are built around. The canvas serves at the background; colors, gradients or landscapes can be placed here. Alignments are a quick way to implement spacers with the app code. Buttons are action buttons; each button must be coded to the specific action assigned to the button. Text boxes are where text appears. Sprites are animated objects and are holders for the eventual code that specifies their actions and use. Labels are simply names for objects. List picker is a shortcut to building pull-down menus into the app. Clarify to the students that each object must be renamed, such that the name fits the purpose. In addition, each object must have a purpose. The object cannot just exist, but must have a stated purpose or action attached to it. Finally, each object must be edited in some way. The object cannot be set at the default setting.
- Have a background image. This could be a stand-alone image or part of the canvas, button or other object. This counts as one of the five required objects.
- Have a button with some function. This counts as one of the five required objects.
- Have an animated object. This could either be an image or a ball that moves in the program. This counts as one of the five required objects.
- Have a reset option that can be used over again without restarting the app.
- Let students know the expected deliverables for the activity. The final app design must be debugged and work correctly. Their finished worksheets must be handed in.
- Have each student group brainstorm a list of problems to be solved with Mars exploration.
- After specific problems have been selected, direct student teams to follow the software/systems design process steps as they develop Android apps using App Inventor that solve their Mars exploration problems. The design process consists of five steps: problem analysis, creating a design, implementation of the design, testing the design and evolution of the design. Groups must complete at least one full cycle of the design process.
- During the design process, have students use and complete the worksheet to organize the process (and to be handed in). Remind them to use the rubric as a guide throughout the design process.
- Conduct the testing using a LEGO MINDSTORMS EV3 robot. To run a test, each group loads the app on an Android device using App inventor and then attempts to control the robot using the app.
- To conclude the activity, have each group present their app to the class to show how it controls the robot. Depending on the time available, this can serve as the testing phase of the design process or can be done after each group has already had time to test and revise their applications.
Vocabulary/Definitions
Android device: A mobile device with the Android operating system installed on it.
App Inventor: Software program developed by MIT that enables Android apps to be created using building blocks without having to actually know a programming language.
design: A step in the software design process involving brainstorming to create possible solutions to the problem.
evolution: A step in the software design process in which the design is further explored to see if it can be made more efficient, improved on, or applied in other situations.
implementation: A step in the software design process in which a design is put into practice.
requirement analysis: A step in the software design process in which the problem is defined and parameters that frame the problem are established.
testing: A step in the software design process in which a design is tested to see if it solves the identified problem as intended.
Assessment
Pre-Activity Assessment
Design Process: Review the steps of the software/system design process with students. Ask them to list the steps and how they can be applied to this type of activity. (Teacher notes: The design process consists of five steps: problem analysis, creating a design, implementation of the design, testing the design and evolution of the design. Students should explain how to complete at least one cycle of the design process. Remind students that the design process is circular and is never fully completed, as designs can always be improved.)
Activity Embedded Assessment
Observations: As students are engaged in their application design, observe them and take notes that address the following questions:
- Are students consciously following the design process steps?
- Have they chosen one problem to solve?
- Do they understand the problem they chose to solve?
- Were they able to devise a plan to solve the problem?
- Did they carry out their planned design?
- Were students able to use App Inventor to solve the problem?
Post-Activity Assessment
App Evaluation: Assess and grade each group's app design and completed Technological Design Process Worksheet by using the Mars Rover App Rubric. The rubric provides guidance on how to grade the app design based on its science content, elements, process, function and creativity.
Activity Extensions
Have students create a second app that addresses another problem that the Curiosity rover might encounter. This app should have the same requirements and can be assessed and graded with the same rubric.
Subscribe
Get the inside scoop on all things TeachEngineering such as new site features, curriculum updates, video releases, and more by signing up for our newsletter!More Curriculum Like This
Students gain experience with the software/system design process, closely related to the engineering design process, to solve a problem. The lesson culminates in a hands-on experience with the design process as students simulate the remote control of a rover.
Students work through an online tutorial on MIT's App Inventor to learn how to create Android applications. Using those skills, they create their own applications and use them to collect data from an Android device accelerometer and store that data to databases.
In this lesson, students learn about, design and create flow charts for different scenarios, including a game based on the Battleship® created by Hasbro©. In the associated activity, Flow Charting App Inventor, students apply their knowledge from this lesson and gain experience with a software appli...
Students design and create flow charts for the MIT App Inventor tutorials in this computer science activity about program analysis. In program analysis, which is based on determining the behavior of computer programs, flow charts are an important tool for tracing control flow.
Copyright
© 2013 by Regents of the University of Colorado; original © 2012 Board of Regents, University of NebraskaContributors
Rich Powers, Brian SandallSupporting Program
IMPART RET Program, College of Information Science & Technology, University of Nebraska-OmahaAcknowledgements
The contents of this digital library curriculum were developed as a part of the RET in Engineering and Computer Science Site on Infusing Mobile Platform Applied Research into Teaching (IMPART) Program at the University of Nebraska-Omaha under National Science Foundation RET grant number CNS 1201136. However, these contents do not necessarily represent the policies of the National Science Foundation, and you should not assume endorsement by the federal government.
Last modified: July 20, 2023
User Comments & Tips