Lesson 9: Apps and Problem Solving
To conclude their study of the problem solving process and the input/output/store/process model of a computer, students will propose an app designed to solve a real world problem. This project will be completed across multiple days and will result in students creating a poster highlighting the features of their app that they will present to their classmates. A project guide provides step by step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.
This project combines the two major themes of Unit 1, problem solving, and the input-output-store-process model of a computer. This project ties both themes to a broader goal of identifying real world problems and finding ways to use technology to help solve them. Students collaborate in the creation of their app and also take part in a structured peer review process that they will see many more times throughout the course. This project should be a fun and creative experience as well, and gives students a chance to tie the field of computer science to their own interests and ambitions.
Warm Up (10 min)
Activity (150 min)
Students will be able to:
- Identify and define a problem that could be solved using computing
- Design an app that inputs, outputs, stores, and processes information in order to solve a problem
- Provide and incorporate targeted peer feedback to improve a computing artifact
- Print a copy of Apps and Problem Solving - Project Guide for each pair of students
- Poster paper, pens, markers and other supplies for making posters
For the Teacher
For the Students
- Apps and Problem Solving - Project Guide (PDF | DOCX)
- Apps and Problem Solving - Peer Review (PDF | DOCX)
- Apps and Problem Solving - Rubric (PDF | DOCX)
Are the criteria on the rubric appropriate for the project? Are there any that should be added or taken away?
Did the Project Guide provide a reasonable amount of structure?
Warm Up (10 min)
Introduce the Project
Say: This whole unit we’ve been learning about the problem solving process and how computers process information to help solve problems. In the previous lesson you learned how apps help solve problems by taking inputs and processing them to create useful outputs. Today we’re going to start a project where you and a partner will design an app to solve a problem of your choosing.
Distribute: Apps and Problem Solving - Project Guide, once copy for each student, as well as Apps and Problem Solving - Rubric. As a class review the information provided on the first sheet of the project guide which explains the project, lists the steps, and shows what students will need to produce. Then provide a brief overview of each of the more detailed steps.
Activity (150 min)
Creating Groups: Ideally this project is done in pairs. If need be, groups of 3 will work. You should decide beforehand whether you will assign or allow students to pick their partners.
Step 1: Choose a Partner: Place students in pairs or groups of 3
Helping the Brainstorm: Listen carefully to student conversations. Identify students who are stuck, and the reason why they are stuck. Are they thinking too big? Help those students to think about problems as annoyances or inconveniences, or an opportunity to improve your quality of life to a small or big degree.
Step 2: Brainstorm Problems: Prompt groups to spend several minutes silently brainstorming problems and recording them on their project guides. Circulate the room and remind them that at this point they shouldn’t be thinking about an app they want to build or even whether it’s possible to solve this problem with an app. Make sure they’re beginning with the problem rather than the solution.
Step 3: Choose Your Problem: The project guide provides several criteria students can use to assess which of their problems they’d like to address. Ask students to look forward to Step 4 if they need more guidance on how they’ll need to define or scope their problems. Give students a few minutes to discuss with their group and choose the problem they’d like to
How Much to Help: At this point students have had a lot of practice defining problems. They also have a peer review process shortly after this step. Encourage them to be as detailed as possible but avoid giving specific advice for how to define their problem.
Step 4: Define Your Problem: For this step students will need to appropriately scope their problem by defining who their audience is, what specifically is the problem, and how they will know they have fixed it.
What Kind of App?: This project is supposed to result in a simple app, along the lines of those seen in the previous lesson. Even large problems or parts of large problems can be addressed by collecting and processing information appropriately.
Step 5: Your App: Once students have scoped their problem ask them to discuss an app that could be used to help solve their problem. To begin they’ll just need to provide a high level description of the app that describes how a user would use it and what it does.
Step 6: Input, Output, Store, Process: In this step students design the way their app will actually work to process data.
First students will draw and then describe the outputs of their apps. On the left side they can make a rough sketch of what their app would look like. This does not need to be a final draft and is just there to help them brainstorm ideas and communicate to another group how their app would look. On the right side they have space to label what each individual piece of information on the screen.
Using the outputs that students selected as a guide, students should pick the inputs they’ll need to create them. Only 6 spaces are provided though students could opt to choose more. This is somewhat intentional to help students scope the functionality of their app.
Students will describe the way their app processes data using as a model the way they would process it themselves. The goal here is primarily just to ensure students have selected inputs that could be processed to produce the outputs. For example, if they’re finding a list of friends with birthday this month then both a computer and human would need to know a list of friends’ birthdays and the current month.
Lastly students are asked to decide what information, if any, it makes sense to store long term.
Distribute: Apps and Problem Solving - Peer Review, one copy to each pair of students
Step 7: Peer Review: Each group should trade their project guides with another. They should fill out the first line of the peer review which asks what specific part of their project they’d like feedback on. Afterwards there are a number of directed questions as well as a chance to provide more open-ended feedback on the idea.
Students should be given their project guides back as well as their peer feedback. On the back there are questions where they can indicate what changes or improvements to their projects they intend to make on their apps based on the feedback.
Step 8: Finalize App and Make Poster: Students should incorporate the ideas of their peers in finalizing their app idea. They should then make a poster presenting their app following the guidance provided on the activity guide.
Share: Decide if and how students will share their posters with one another. If students will be doing more formal presentations then use the guidelines provided in Step 9 of the project guide to structure the presentations.
Collect: At the end of presentation collect the completed project guides, peer feedback forms, and posters from each group.
Run a mock “Shark Tank” as the backdrop for this unit project. Some things to consider:
- Is the culture of your class one where this competition can remain at a healthy level?
- Invite faculty / staff, local residents, or other professionals to hear the phase 2 presentations and decide on a first, second, third place idea.
- Invite local business people / other professionals to share during day 1 or day 2 so students
- Unit 1 Lesson 9 Overview
- Student Overview
Problem Solving - Computers and Logic: Lesson 9 - Apps and Problem Solving
For this project you will design your own app that solves a problem that you get to define.