Lesson 8: Apps and Problem Solving

Overview

This lesson reviews the input, output, storage, and processing aspects of a computer in a context that is relevant and familiar to students: apps. In pairs, students evaluate various smartphone applications to analyze the specific problems that they were designed to solve, the inputs that they need to work, and the processing that turns those inputs into the desired output. The class concludes with a discussion that connects the lesson to apps students are more familiar with.

Purpose

In Chapter 1 of this unit, students learned the problem solving process. In Chapter 2, students learned how computers solve problems. At this point, students know that computers are information processing machines that can do four things with information: input, output, store, and process. In this final lesson before the unit project, students choose between various types of input that may be needed to solve a particular problem and describe the processing and storage that a computer would do to produce the desired output. This should prepare them to eventually design their own app to address a problem and explain how that app would work.

Agenda

Warm Up (5 min)

Activity (40 min)

Wrap Up (10 min)

Extension Activities

View on Code Studio

Objectives

Students will be able to:

  • Describe how information can be processed to solve a particular problem.
  • Identify the information an app would need to be provided as input in order to produce a given output

Preparation

Links

Heads Up! Please make a copy of any documents you plan to share with students.

For the Teachers

For the Students

Teaching Guide

Warm Up (5 min)

Solving Problems with Computers

Discussion Goal

Students should understand that there are different types of input to a computer, which may be appropriate for different types of programs. They also may see that some information (English-Spanish dictionary) can either be stored on the computer itself, or accessed over the Internet as input. Students should be able to identify the camera image (Spanish text) as input, the translation as processing, and the display screen image (English text) as output.

Review: Quickly review the input, storage, processing, and output model of a computer

Display: Display the photo of the translation app in App Exploration - Sample App - Presentation.

Prompt: What problem does this piece of software address? What role do input, output, storage, and processing play in this app?

Allow students to reflect individually before sharing in small groups.

Remarks

Our sample app used inputs form the camera to solve a common problem. Smartphones have lots of different ways to get input, and we'll be looking at several off them in the next activity.

Prompt: What other types of input can a smartphone use?

Write the student responses on the board. It's not necessary that students produce every possible type of input, but make sure that they understand that input can come from the Internet (such as a list of restaurants in the area), from direct user input (such as pressing a button or filling in a form), and from phone sensors (such as the GPS or gyroscope).

Activity (40 min)

App Exploration

Remarks

Today you’ll be working in groups to figure out what sorts of inputs a computer (in this case, a smartphone) would need to solve problems. You’ll be acting as the software in processing the information you get from the inputs, and determining the output that you want to communicate to the user, just as the translation software processed the Spanish text and displayed the English text as output to the user.

Group: Put students in groups of 2-3

Teaching Tip

Activity Key: Use the key in the Links section above for a better idea of how students should complete the activity.

Distribute: App Exploration - Activity Guide and App Exploration - Resource.

Review the instructions for the Ring Silencer Challenge as a class.

Discussion Goal

Goal: Allow students to share different ideas for the app. They may note that the output of this app is a command to the phone (to turn the ringer on or off), and does not actually provide any information directly to the user. This is different from most of the other information problems that they have seen.

Prompt: Most of the problem has been defined for us, but we still need to think about what types of output the app will have.

Allow students to discuss with their partners, then share their ideas with the group.

Discussion Goal

Goal: Students should note that the original app needed the location of the user and the location of schools. It can then check whether the user is at a school. The improved app also needs to check for noise level and whether or not the phone is moving.

Circulate: Support students as they work in pairs through the first challenge, including the improved version of the app. If students finish a challenge early, encourage them to think of other improvements they could make to the app.

Discuss: What did this app need to know, and what was the output to the user? What about the improved app? Were there any changes to the input you needed? What needed to change about the program?

Circulate: Allow students to work on Challenge 2, supporting them as they complete both the initial challenge and the improved app.

Discussion Goal

Goal: The goal of this discussion is to talk about why some information is stored on the phone and some is not, rather than to identify particular pieces of information that should or should not be stored. For example, information that changes frequently (such as the location of the user) should not be stored. Storing information that stays the same for long periods of time (such as favorite movie) can make it more convenient for the user, who doesn't have to enter the same information over and over. Information that is available over the Internet (such as cinema locations) might be stored to save data, or so that the app will work even when the phone is offline.

Share: For the last challenge, what inputs did you identify? What sort of processing did you need to do on the information to determine the output? What extra inputs did you need for the improved version?

Prompt: For these two challenges, you’ve used inputs, outputs, and processing, but so far you haven’t stored any of your information. Is there any information that you think your phone should store? Why? What types of information are generally stored on a smartphone?

Share: Allow students to share out their responses, and write them on the board.

Wrap Up (10 min)

Sharing Findings

Discussion Goal

As students compare answers, they should note that there are many different ways to solve these problems, and that while the success criteria for the first two challenges were very clear, the last two challenges were more open ended. Students should realize that there may be more than one appropriate output for the apps.

Discuss: Students share their answers to the questions, and compare the differences between them.

Remarks

Most of the apps that we rely on in everyday life, ones that give us directions or recommend restaurants in the area, fairly open ended. That means that there are many different outputs that could be considered correct, and many different ways that the apps could use the inputs they have available to them.

Prompt: Now, take a few minutes to think of an app that you think is useful, then imagine a way that it could be improved. Share your thoughts with your elbow partner, and work together to think of what extra input you might need to make those improvements work.

Remarks

You'll have a chance to try out some of your ideas as we look to our unit project in which you will create a prototype of an app.

Extension Activities

App Store Exploration

Have students visit an app store like Google Play or Apple’s App Store. Instruct them to find a non-gaming app and conduct the same analysis as in the activity guide (problem it solves, information it needs, output it provides to the user).

View on Code Studio

Overview

In this lesson you will explore the ways apps process different kinds of information in order to solve problems.

Resources

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
IC - Impacts of Computing
  • 2-IC-20 - Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.