Unit 4 - The Design Process
This unit transitions students from thinking about computer science as a tool to solve their own problems towards considering the broader social impacts of computing. Through a series of design challenges, students are asked to consider and understand the needs of others while developing a solution to a problem. The second half of the unit consists of an iterative team project, during which students have the opportunity to identify a need that they care about, prototype solutions both on paper and in App Lab, and test their solutions with real users to get feedback and drive further iteration.
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
Unplugged
- Warm Up (5 min)
- Activity (35 min)
- Wrap Up (5 min)
- Extension Activites
The class explores a variety of different teapot designs to consider how design choices or made and why. Using the teapots as an example, the class will explore the relationship between users, their needs, and the design of objects they use.
Student Links: Activity Guide | Image
Lesson 2: Understanding Your User
Unplugged
- Warm Up (10 min)
- Activity (30 min)
- Wrap Up (5 min)
Using user profiles, the class explores how different users might react to a variety of products. Role playing as a different person, each member of the class will get to experience designs through someone else's eyes.
Teacher Links: Slide Deck Student Links: Activity Guide | User Profile | User Profile | User Profile | User Profile
Lesson 3: User-Centered Design Micro Activity
Unplugged
- Warm Up (5 min)
- Activity (50 min)
- Wrap Up (20 min)
In small groups, the class uses the design process to come up with ideas for smart clothing. From brainstorming, to identifying users, to finally proposing a design, this is the first of several opportunities in this unit to practicing designing a solution for the needs of others.
Student Links: Activity Guide
Week 2
Lesson 4: User Interfaces
Unplugged
- Warm Up (10 min)
- Activity (40 min)
- Wrap Up (5 min)
See how a paper prototype can be used to test and get feedback on software before writing any code. To help out a developer with their idea, the class tests and provides an app prototype made of paper.
Student Links: Activity Guide | Activity Guide | Activity Guide
Lesson 5: Feedback and Testing
Unplugged
- Warm Up (10 mins)
- Activity (40 mins)
- Wrap Up
Users have been testing an app, and they have lots of feedback for the developer. The class needs to sort through all of this feedback, identify the common themes and needs, and start revising the prototype to make it better meet the users' needs.
Student Links: Activity Guide | Activity Guide | Activity Guide
Lesson 6: Identifying User Needs
Unplugged
- Warm Up (5 min)
- Activity (40 min)
- Wrap Up
Up to this point the users that the class has considered have all been remote, and the only information from users has come through text or role playing. Now the class will rely on each other as potential users, and pairs will get to interview each other to identify needs that could be addressed by developing an app.
Student Links: Activity Guide | Project Guide
Lesson 7: Project - Paper Prototype
Unplugged | Project
- Warm Up (5 mins)
- Activity
- Wrap Up
Using the interview information from the previous lesson, the class comes up with app ideas to address the needs of their users. To express those ideas, and test out their effectiveness, each student creates and tests paper prototypes of their own.
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. In particular they learn how to develop a paper 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.
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
Unplugged
- Warm Up (10 min)
- Activity (45 min)
- Wrap Up (5 min)
To kick off the app design project, the class organizes into teams and starts exploring app topics. Several example socially impactful apps serve as inspiration for the project.
Teacher Links: Teacher Resource Student Links: Activity Guide
Lesson 9: Market Research
- Warm Up (5 min)
- Activity (40 min)
- Wrap Up (5 min)
Dive into app development by exploring existing apps that may serve similar users. Each group identifies a handful of apps that address the same topic they are working on, using those apps to help refine the app idea they will pursue.
Student Links: Activity Guide
Lesson 10: Paper Prototypes
Unplugged
- Warm Up (10-15 min)
- Activity (70 - 90 min)
- Wrap Up
Paper prototypes allow developers to quickly test ideas before investing a lot of time writing code. In this lesson teams explore some example apps created in App Lab, using those apps to help inform the first paper prototypes of their apps.
Student Links: Template | Prototype | Activity Guide
Week 4
Lesson 11: Prototype Testing
Unplugged
- Warm Up (5 min)
- Activity 1 - Testing (45 min)
- Wrap Up (5 min)
In this lesson teams test out their paper prototypes with other members of the class. With one student role playing the computer, one narrating, and the rest observing, teams will get immediate feedback on their app designs which will inform the next version of their app prototypes.
Student Links: Activity Guide | Video
Lesson 12: Digital Design
App Lab
- Warm Up (10 min)
- Activity (40-60 min)
- Wrap Up (5 min)
Having developed, tested, and gathered feedback on a paper prototype, teams now move to App Lab to build the next iteration of their apps. Using the drag-and-drop Design Mode, each team member builds out at least one page of their team's app, responding to feedback that was received in the previous round of testing.
Student Links: Activity Guide | Activity Guide | Activity Guide
Lesson 13: Linking Screens
App Lab
- Warm Up (5 min)
- Activity (45-75 min)
- Wrap Up (5 min)
- Extension Activities
Building on the screens that the class designed in the previous lesson, teams combine screens into a single app. Simple code can then be added to make button clicks change to the appropriate screen.
Week 5
Lesson 14: Testing the App
- Warm Up (5 min)
- Activity (45 min)
- Wrap Up (5 min)
Teams run another round of user testing, this time with their interactive prototype. Feedback gathered from this round of testing will inform the final iteration of the app prototypes.
Student Links: Activity Guide
Lesson 15: Improving and Iterating
- Warm Up (5 min)
- Activity 1 (30 min)
- Activity 2 (30 - 90 min)
- Wrap Up (15 min)
- Extension Activities
Using the feedback from the last round of testing, teams implement changes that address the needs of their users. Each team tracks and prioritizes the features they want to add and the bugs they need to fix.
Student Links: Activity Guide
Week 6
Lesson 16: Project - App Presentation
Project
- Warm Up (5 min)
- Activity 1 (40 - 50 min)
- Activity 2 (10 min per team)
- Wrap Up (5 min)
- Extension Activities
Each team prepares a presentation to "pitch" the app they've developed. This is the time to share struggles, triumphs, and plans for the future.
Student Links: Slide Deck | Exemplar | Rubric
Chapter Commentary
This chapter is focused on a long running group project that allows students to apply all they've learned about User-Centered Design to develop an app prototype. Working in teams, students identify a social issue that they care about and design and prototype an app to address that issue. This is an opportunity for students to explore other roles in software development, such as product management, marketing, design, and testing.