Lesson 8: Designing Apps for Good


To kick off the app design project that lasts through the end of the unit, students first explore a number of apps designed for social impact that have been created by other students. The class then reviews the Define, Prepare, Try, and Reflect steps of the Problem Solving process as they develop an idea for an app of their own with social impact. Finally, students will form project teams and lay out a contract for how the team will function throughout the development of their app.


While this lesson spends some time reviewing and reinforcing the user-centered design process that students will use throughout their project, the primary goal is to give students a chance to see how other people their age have used technology to address issues they care about. The resources provided are a great starting place, but you can make this lesson pack a bigger punch if you find examples (even those from your own previous classes) that demonstrate local examples of students designing apps for social good.

Assessment Opportunities

  1. Develop a plan for collaborating with others to design a computational artifact

    Activity Guide, page 1: There should be a reasonable plan for managing disagreement under "Decision Making".

  2. Describe the target users for a computational artifact

    As students share their user groups at the end of the main activity, the descriptions should include enough specificity and detail to later identity a common set of needs among the group members.


Lesson Modifications

Warm Up (10 min)

Activity (45 min)

Wrap Up (5 min)

View on Code Studio


Students will be able to:

  • Develop a plan for collaborating with others to design a computational artifact
  • Describe the target users for a computational artifact


  • Assign teams of 4-5, ideally based on similar interest in an app topic
  • Print one copy per team of th activity guide
  • Choose 1-3 of the apps from the example apps to share with the class
  • Arrange classroom seating for pre-selected teams of 4-5 students
  • Put out sticky notes for each team


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

For the Teachers

For the Students

Teaching Guide

Lesson Modifications

Attention, teachers! If you are teaching virtually or in a socially-distanced classroom, please read the full lesson plan below, then click here to access the modifications.

Warm Up (10 min)

Apps Created by Students

Teaching Tip

The reason for not revealing the team assignments at the beginning of the lesson is so students can begin to form their own ideas about apps they may want to work individually before bringing their ideas to the team. Alternately, you can have students move to their team tables at the beginning of Activity 2.

Group: Students should be seated in their pre-assigned teams of 4-5 students, but don’t tell them that they are in their team assignments yet.

Display: Share with students the example apps you've selected, either from the provided example apps or elsewhere. For each app:

  • Discuss: What is the social issue that this app was designed to address, and how was it designed to do so.

  • Prompt: Are there other apps or pieces of technology you're aware of that work to address a social issue?

Activity (45 min)

What's in an App?

Discuss: Ask students what they think an app is. If the discussion stalls, try asking some of the following prompts:

  • What do you think the difference is between an application (like Microsoft Word) and an app like those we looked at earlier?
  • What are some of the things you noticed the students did to build their app?
  • Which apps did you think were the most creative? The most useful? The most surprising?
  • Which apps do you think would be difficult to create? Why?

Review: Show the Problem Solving Process graphic, and review the Define, Prepare, Try, and Reflect steps. Let the students know that the micro and mini projects they worked on previously focused on the Define and Prepare steps. With this project, they will also work through these two steps, but then continue on to the Try and Reflect steps. They will also cycle back through them at least once to refine their app.

Teaching Tip

Reducing Printed Materials This guide can be completed online or as a journal activity.

Transition: If students are not already seated in their app teams, have them do so now.

Distribute: One copy per team of the activity guide.

App Design Kickoff

Let students know that they are currently seated with the team that they will be working with throughout this app design project.

Team Contract

Teaching Tip

The rules in the team contract are general enough to work for most classrooms, but to make it more impactful you should consider customizing the contract to include wording from your classroom or school rules.

In order to support a positive and productive team work environment, each team will start by developing and signing an agreement. You can use this agreement throughout the course of the project to address and mediate issues among team members. Go through each section of the agreement with the whole class.

Communication: The communication section covers basic respectful communication guidelines. There are two open spaces for groups to add rules of their own. Ask groups to consider the modes of communication that they'd like to use and what the expectations should be. For example, we will use email to communicate outside of the classroom and team members will respond within 24 hours

Assessment Opportunity

This part of the guide may prompt a class discussion. Check that students are finding ways that respect everyone on the team. Although the simpliest solution may be "majority wins", you may want to challenge the students with scenarios in which the majority is unfair to the minority, such as three members voting that the fourth must do most of the work. Although there is no one right way to handle disagreement, students' plans should find ways to incorporate every team member's perspectives.

Decision Making: While other sections are just bullet pointed lists, the decision making section includes a space for students to think of ways to manage disagreement. Encourage them to find a plan that will seem fair to everyone, even those with a minority point of view.

Participation: The participation section is meant to prevent students from spinning their wheels in situations where they are unsure how to proceed. Consider adding rules to this section as a whole class.

Once you've confirmed that all students understand and agree to the terms of the contract, have team members sign their names at the bottom.

Distribute: Pass out sticky notes to each group.

Transition: If space allows, give each team some space to work on the next activity where they can spread out.


The second page of the activity guide provides space for teams to brainstorm about their apps.

Review: Remind students of the brainstorming activity they did in the User-Centered Design Micro Activity where they spent a few minutes coming up with as many user types as they possibly can. Let them know they will be doing the same exercise again, but this time they will be focused on writing down as many possible users for their app topic as they can. In particular, remind them:

  • One user per sticky note
  • No bad answers
  • Build on others’ suggestions with “Yes, and…”

Finally, remind them that after they brainstorm on sticky notes, they’ll have a few minutes to sort and analyze them, but their first goal is to write down as many ideas as possible, no matter how crazy.

Team Name: To warm up and practice brainstorming, give teams one minute to come up with a team name and record it on the activity guide

Topic: Give teams roughly five minutes to choose a general topic for their app. It's important to remind them that they aren't trying to come up with what the app will do or any specifics at this point, but just agreeing on a general topic that it should address.

User Groups: Give students some time to generate ideas for users, and then go through the process of user grouping. Remind students that when grouping users they don’t have to make a decision about their target user during this step, just make the groupings. They should arrange the sticky notes on their tables into categories, and if there is time, come up with a short name for the grouping. Tell them they will have 1-2 minutes to come with with users, and an additional 1-2 minutes to group those users.

Assessment Opportunity

As teams share their target user groups, check that the groups are specific enough that students will be able to identify a set of needs common to the group's members. For example, "students" is probably too broad, since it could include a wide variety of ages and goals.

Once teams have a group of possible users for their topic, they should work together to narrow down their potential target user group to one or two general categories. Tell students that they will have time during the next two lessons to further research and refine their target user group, but they want to have a clear starting point to guide that research.

Share: Ask each team to briefly share their name, topic, and a description of their user group.

Wrap Up (5 min)

Discussion Goal

In the following lesson we will use market research (researching existing solutions to each group's problem) as a way to learn about how others have addressed user needs already. While that will be a common way that all groups can learn about their users, use this discussion to help students consider ways to learn about their users outside of the lessons provided.

Planning for Research

Discuss: Given that groups are tackling big real world problems with these apps, it's unlikely that they'll have direct access to potential users to interview. Discuss with the class how they think they can learn more about who their users are, and what their needs might be.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

IC - Impacts of Computing
  • 2-IC-20 - Compare tradeoffs associated with computing technologies that affect people's everyday activities and career options.
  • 2-IC-21 - Discuss issues of bias and accessibility in the design of existing technologies.