Lesson 8: Project - Propose an App
Overview
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.
Purpose
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.
Assessment Opportunities
Use the project rubric attached to this lesson to assess student mastery of learning goals of this unit. You may also choose to assign the post-project test through code studio.
Agenda
Warm Up (10 min)
Activity (150 min)
Wrap Up
Extended Learning
Post-Project Test
View on Code Studio
Objectives
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
Preparation
- 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
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the Teachers
- Apps and Problem Solving - Sample Marked Rubrics
- Apps and Problem Solving - Project Guide Exemplar
- Apps and Problem Solving - Peer Review Exemplar
For the Students
- Apps and Problem Solving - Project Guide
- Apps and Problem Solving - Rubric
- Apps and Problem Solving - Peer Review
- Computer Science Practices - Reflection
Teaching Guide
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, one 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)
Project Guide
Teaching Tip
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 three.
Teaching Tip
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
Discussion Goal
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.
Teaching Tip
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.
Wrap Up
Presenting Apps
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.
Reflect: Students reflect on the following question in their journals:
- What are you most proud of in your project?
Send students to Code Studio to complete their reflection on their attitudes toward computer science. Although their answers are anonymous, the aggregated data will be available to you once at least five students have completed the survey.
Extended Learning
Shark Tank
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 can see how computer science relates to jobs in their community.
Post-Project Test
The post-project test is found at the bottom of the Problem Solving and Computing unit overview page on Code Studio (studio.code.org/s/csd1-2019).
This test is locked and hidden from student view by default. In order for students to see and take this test, you'll need to unlock it by clicking the "Lock Settings" button and following the instructions that appear.
- Lesson Overview
- Teacher Overview
- Student Overview
- Apps and Problem Solving - Project Guide Exemplar (PDF | DOCX)
- Apps and Problem Solving - Sample Marked Rubrics (PDF | DOCX) [/KEY]
- Reflection
- 2
Student Instructions
This level is an assessment or survey with multiple questions. To view this level click the "View on Code Studio" link.
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.
- 2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
- 2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
CS - Computing Systems
- 2-CS-02 - Design projects that combine hardware and software components to collect and exchange data.