--- title: "Project: Propose an App" units: [Problem Solving and Computing] summary: Create an app that solves a problem. weight: 80 days: 5 --- {{% param summary %}} ## Today's Objectives - Design an app that inputs, outputs, stores, and processes information to solve a problem. - Identify and define a problem that could be solved using computing. - Provide and incorporate targeted peer feedback to improve a computing artifact. ## Lesson Overview ### What have I learned so far? {{< collapse summary="Click here to reveal the answer." >}} You have learned: - The problem solving process - How computers process information to help solve problems by taking inputs and processing them to create useful outputs Now, you will use what you have learned to design an app that could help solve a real world problem. {{}} ## Assignment {{% instructions-unit-journal-update %}} ### Step 1: Find Your Team (Day 1) This project can be completed: - Individually - With one other classmate - With two other classmates List the names of everyone on your team including you. ### Step 2: Brainstorm Problems (Day 1) Brainstorm interesting and personally relevant problems. You might think about: - Things you’d like to improve in your school, neighborhood, or community - A task in your everyday life that you wish could be completed more easily - A cause that you feel strongly about - Something that is currently inconvenient or annoying to do Record your brainstorm of problems, including at least three ideas from each person on your team, e.g.: | Alice | Bob | Charlie | |--------|--------|---------| | Idea 1 | Idea 1 | Idea 1 | | Idea 2 | Idea 2 | Idea 2 | | Idea 3 | Idea 3 | Idea 3 | ### Step 3: Choose Your Problem (Day 1) Record: - The problem you have chosen - A justification for your choice, clearly demonstrating how it best represents _everyone_ on your team Your problem must be: - Interesting to every member of your team - Well-defined, such that every member of your team can specify: - Who specifically the problem affects - What needs to change - How someone would be able to tell that the problem has been solved - Able to be solved by computers ### Step 4: Define Your Problem (Day 1) Large, complex, and poorly-defined problems are much harder to solve. Make sure you have defined your problem clearly by recording responses to the following questions: 1. **Who does the problem affect?** Be as specific as possible. Think about the age, location, life conditions, interests, background, etc. of your audience. 2. **What is the problem?** Be as specific as possible. What needs to change or improve? Why does the problem exist? You may need to narrow your problem’s focus. Making big changes begins with small steps! 3. **How will you be able to tell that a solution to this problem has worked?** Be as specific as possible. What would you need to measure or observe to know the problem has been solved? ### Step 5: Describe Your App (Day 2) From a high level, think about how an app could be used to solve a part of the problem you identified. What features would it need to have? How would someone use it? If you need to update your problem definition above then do so. Record the following: - **The name of your app** - **A short description of your app**; write it as though you were describing it to someone you’d want to use it. What does it do? Why would someone want to use it? How does it help solve the problem? ### Step 6: Input, Output, Store, Process (Day 2) Record the following: - **App Sketch**: Sketch what a screen of your app will look like based on your description above. - **Output Information**: Label the different outputs generated by your app by writing what they are and drawing an arrow to where they are located on the screen (e.g. "List of nearby parks" or "Days until friends’ birthdays"). - **Inputs**: What kind of information does your app need as input to work? Will this input come from the user, phone sensors, or an external source (e.g. a database online)? List every piece of information your app will need to work. | Type of information (e.g. user age) | Source (e.g. user, sensor, external) | Example (e.g. 13 years old | |-------------------------------------|--------------------------------------|----------------------------| | _ | _ | _ | - **Process**: When computers process information they may do it differently from a human, but everything a computer can do, a human could do as well (just usually much slower!) If you were provided the inputs you’ve listed, how would YOU need to process it in order to create the outputs of your app. - **Store**: What information will your app store permanently? Think about information that will not change across multiple uses of the app, or information that it would be useful to have recorded and use again later. ### Step 7: Peer Review (Day 3) Get feedback from your classmates and record the following: - The following table filled out: | Evidence | Example | Idea(s) for more | |--------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|------------------| | The outputs of the app are clearly described and could be used to help the user with the problem. | _ | _ | | Stored information is listed and makes sense for the what the app does. Information that would change over time is not listed. | _ | _ | | The problem is well-defined, including who the app will help, details of the problem, and how to tell it has been solved. | _ | _ | | The app is clearly described in detail, including what it does and how someone would use it. | _ | _ | | The way that the inputs are processed to make the output is clearly described in terms of tasks that make sense for computing (e.g. sorting, counting, etc.) | _ | _ | - A description of what people liked overall - A summary of the ideas for improvement you received ### Step 8: Finalize Your App (Day 3) Based on the results of your peer feedback, make any additions or changes you need to make to how you defined your problem or how you described your app. ### Step 9: Advertise Your App (Day 4 & 5) Create a simple ad for your app, including all of the following information: - The name of your app - The target audience - The problem the app is designed to solve - The input information the app uses - A drawing of the output the app produces - A description of how the app processes and stores information As teams present, record the above information for every team's app. ## Upcoming Quiz Look over your Unit Journal and play [this Kahoot](https://create.kahoot.it/share/quiz-problem-solving-and-computing/2ed7550c-87b5-4796-92d3-06bdec6bdd30) to prepare for your upcoming quiz.