Unit 4 - Problem Solving - The Design Process

In this unit, students will learn about user-centered design as an extension of the Problem Solving Process that was introduced in unit 1. Through a series of projects students will move from thinking solely about what they would personally like in a product or app, and towards discovering what users or customers other than themselves would want in a product or app.

The user-centered design process taught in this unit layers empathy onto the existing Problem Solving Process, asking students to consider the needs, constraints, and opinions of others when approaching solutions to complex problems. Similar to Unit 1 we will explore these topics first with non technology subjects before moving on to applying the design process to app development.

The schedule for this six week unit is:

  • Week 1: an introduction to design issues, learning about users, and user-centered design (UCD) principles, and wrapping up with a two day UCD micro project
  • Week 2: two smaller projects that introduce students to rapid prototyping and testing
  • Week 3-6: the unit’s Main Project culminating in an interactive app prototype developed in App Lab

Chapter 1: User Centered Design

Big Questions

  • How do designers identify the needs of their user?
  • How can we ensure that a user’s needs are met by our designs?
  • What processes will best allow us to efficiently create, test, and iterate upon our designs?

Week 1

Lesson 1: Analysis of Design

To kick off a unit devoted to group problem solving and devloping products for other users, students will begin by investigating the design of various everyday items. By considering how each item might have been designed with needs of specific users in mind, students can begin to see how taking a user-centered approach to designing products (both physical and digital) can make those products more useful and usable.

Student Links: Activity Guide | Image

Lesson 2: Understanding Your User

Designers need to understand their users’ needs. This lesson starts students thinking about how to design for another person by role-playing a user profile and reacting to a series of products. Students will each receive a user profile describing a person. They will use that user’s characteristics to choose appropriate products, critique product design, and suggest improvements to design.

Teacher Links: Slide Deck Student Links: Activity Guide | User Profile | User Profile | User Profile | User Profile

Lesson 3: User-Centered Design Micro Activity

This lesson guides students through an abbreviated version of the design process they will be seeing throughout this unit. Students will brainstorm a list of potential users of smart clothing. As a class they will then group these ideas into broad categories and each group will choose one category of user. Groups will repeat this process to brainstorm needs or concerns of their user, eventually categorizing these needs and choosing one to focus on. Students will then design a piece of smart clothing, using the specific needs and concerns they brainstormed to design their decision making. At the end of the class students will quickly share their decision-making process and get feedback on how well their product addresses the user need they selected.

Student Links: Activity Guide

Week 2

Lesson 4: User Interface and Prototype Testing

Following the mini design project, students look towards the next phase of design, prototyping a product that attempts to address user needs. In teams students will examine a paper prototype for an chat app. Through this examination students will get a chance to see how a simple paper prototype can be used to quickly test ideas and assumptions before we ever get to the computer. In “using” the provided prototype students will begin to identify ways to improve the next iteration.

Student Links: Activity Guide | Activity Guide | Activity Guide

Lesson 5: Feedback and Prototypes

In this lesson students will use feedback from users of the paper-prototyped app from the previous lesson in order to develop improvements to the user interface of that paper prototype. The lesson begins with a reflection on the fact that designers need to translate human needs with technology into changes to the user interface or experience. Students are then given a collection of feedback and requests from users of the app from the previous lesson. In groups students categorize the feedback and identify ways the needs expressed in the feedback could be met by changes to the interface of the app. Then in groups students will implement some of these changes to meet one of the needs they identified.

Student Links: Activity Guide | Activity Guide | Activity Guide

Lesson 6: Identifying User Needs

Up to this point we have focused on designing for users who are, to some degree, distanced from us. Whether through brainstorming, profiles, or text feedback, the connection to an end user has never been direct. In this lesson students pair up to become users for each other, allowing everyone to directly interview their end user and ask questions to better inform their design.

Student Links: Activity Guide | Project Guide

Lesson 7: Project - Paper Prototype

Based on the peer interview from the previous lesson, each student will come up with an idea for an app that will solve a user’s problem. Students will create their own paper-prototype of the app by creating “screens” on individual notecards. A project guide directs students through the process including building the app and testing it with their user to see if their assumptions about the user interfaces they created are accurate.

Student Links: Rubric | Project Guide

Chapter Commentary

This chapter introduces the design process as a specific version of the problem solving process in which empathy for a user’s needs is consistently integrated. Students learn strategies for identifying user needs and assessing how well different designs address them. Additionally this chapter builds many skills students will use in the second chapter of this unit as they prototype an app in App Lab. In particular they learn how to develop a prototype, how to gather and respond to feedback about a prototype, and consider ways different user interfaces do or do not affect the usability of their apps.

The first three lessons of the chapter focus on building an understanding of what it means to design a product with empathy. Students will be presented a number of scenarios in which they must examine, critique, and create designs of products from the perspective of a potential user. The last four lessons of the chapter explore the steps and considerations necessary to design software. Students learn to create and test paper prototypes of an app in order to determine whether a design is effective. At the conclusion of these lessons students will create a paper prototype of an app to solve a problem for one of their classmates.

Chapter 2: App Prototyping

Big Questions

  • How do teams effectively work together to develop software?
  • What roles beyond programming are necessary to design and develop software?
  • How do designers incorporate feedback into multiple iterations of a product?

Week 3

Lesson 8: Designing Apps for Good

To kick off the app design project that will take us through the end of the unit, students will first explore existing apps design for social impact that have been created by other students. They will then review the Define, Prepare, Try, and Reflect steps in our 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.

Teacher Links: Teacher Resource Student Links: Activity Guide

Lesson 9: Market Research

In this lesson students will research apps similar to the one they intend on creating to better understand the needs of their users. Students will work within their teams to search the Internet for other apps, then evaluate the ones they find interesting. By the end of the lesson, each team will have a clearer idea about the type of app they want to create and further refine who their target users are. Each team will maintain a list of citations for all the apps they examined for use in their final presentation.

Student Links: Activity Guide

Lesson 10: Paper Prototypes

To better scope their own apps, teams start by looking through several example apps, choosing one (or more) as a basis for the type of app they will make. From there, teams will have some time to discuss the basic functionality of their app before using 3x5 index cards to develop paper prototypes.

Student Links: Template | Wireframe | Activity Guide

Week 4

Lesson 11: Prototype Testing

Teams will develop a plan to test with users before running prototype tests with multiple other students in the class. In order to test the prototype with the users, the students will have to assign roles in the testing (the “narrator”, the “computer” and the “observers”) as well as have some questions prepared for the user to answer after the test is complete.

Student Links: Activity Guide | Video

Lesson 12: Digital Design

Having collaboratively developed a paper prototype for their apps, groups will now divide and conquer to begin implementing an interactive digital version of their prototype. Using the drag-and-drop design mode of App Lab, students will individually work through a progression of skill-building levels to learn how to build digital app wireframes. From there each group member will build out at least one page of their app in App Lab.

Student Links: Activity Guide | Activity Guide

Lesson 13: Event Driven Programming

Students learn basic event driven programming by making several small apps that respond to users clicking buttons. Following that, group members share the screens they’ve developed and each group member imports all of the screens into their own copy of the app, which they will make interactive by connecting buttons to events.

Lesson 14: Basic App Functionality

At this point in the development process, each student should have what is essentially a digital version of the paper prototype - static screens that are linked together with buttons. For many apps this is all you really need to start testing with users, but this lesson will give students a chance to explore simple ways to add a bit more functionality to their apps before moving into the testing phase.

Week 5

Lesson 15: Testing the App

By the end of the last lesson the students should have a minimum viable prototype of their app. The primary purpose of this lesson is to have the team actually test the app with other people, preferably from the target audience the app is intended for, or from different teams in the class while observers from the team will record the results on the worksheets they used in the planning phase. As with testing the paper prototypes, teams will start by planning for the specific scenarios before running and observing tests.

Student Links: Activity Guide

Lesson 16: Improving and Iterating

Teams have at this point developed an app prototype that has gone through multiple iterations and rounds of user testing. With the information and guidance gained from the last round of user testing, each student will have the opportunity to plan for and implement improvements to the team app.

Student Links: Activity Guide

Week 6

Lesson 17: App Presentation

At this point teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to demonstrate their process of creation.

Student Links: Slide Deck | Exemplar | Rubric

Chapter Commentary

This chapter is focused on a long running group project that will allow students to apply all they’ve learned about User-Centered Design to develop an app prototype.

Working in teams of 4-5, students will identify a social issue that they care about, and design and prototype an app to address that issue. Over the course of this chapter, student teams will:

  • Identify a real-world problem
  • Research user needs
  • Develop and test a paper prototype of an app
  • Develop and test and interactive app prototype
  • Present their app

The goal of this unit is not to teach programming or application development, but to explore how CS can be used to effect social impact. Moreover, this is an opportunity for students to explore other roles in software development, such as project management, marketing, design, and testing. Students will use App Lab to develop a lightweight interactive prototype of their apps, but are not expected to build out the full functionality of those apps.