Accessing locked lessons and answer keys
This course provides extra resources which are only available to verified teachers.

Unit 3 - Intro to App Design ('24-'25)

This unit is an introduction to programming and app design with a heavy focus on important skills like debugging, pair programming, and user testing. Learn how to design user interfaces and write event-driven programs in App Lab and then design a project that teaches your classmates about a topic of your choosing.

New Topics, Same Classroom Culture

This unit is students' first experience with programming. It is designed to maintain the collaborative and inclusive classroom environment developed in the previous two units. The collaborative project, fun, unplugged activities, and the focus on experimenting should help keep your whole class working together and trying out ideas.

Emphasizing Skills

Since this is the first of many programming units, it emphasizes attitudes and skills that will serve your students well for the remainder of the year. The project that runs through this unit emphasizes that programming is a creative and collaborative endeavor that students can use to help others. Key practices like pair programming and debugging help normalize working with a partner, asking for help, and making mistakes. While students have a lot to learn about programming and App Lab, there is just as much emphasis on establishing these positive habits and mindsets.

Empowering "Creators"

This unit empowers students to be creators with a major emphasis on making personally meaningful apps. Students have a lot to learn about programming. Still, the goal is for students to come away from this unit, seeing programming as a powerful form of personal expression that allows them to draw on their innate talents and interests to help solve problems in their community.

 

The unit project asks students to collaborate with a classmate to design an app that can teach others about a topic of shared interest. Students practice interviewing classmates to identify the project's goals, mockup designs, collaboratively program the app and run simple user tests. The app itself must include at least three screens and demonstrate what students have learned about user interface design and event-driven programming. Students submit their app, project guide, and written responses to reflection questions about how the app is designed and the development process used to make it. Students will also complete an end-of-unit assessment aligned with CS Principles framework objectives covered in this unit.

 

This unit and unit project helps build towards the enduring understandings listed below. For a detailed mapping of units to Learning Objectives and EKs, please see the "Standards" page for this unit.

  • CRD-1: incorporating multiple perspectives through collaboration improves computing innovations as they are developed.
  • CRD-2: developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
  • AAP-2: The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.
  • AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.

This unit includes content from the following topics from the AP CS Principles Framework. For more detailed information on topic coverage in the course review Code.org CSP Topic Coverage.

  • 1.1 Collaboration
  • 1.2 Program Function and Purpose
  • 1.3 Program Design and Development

The College Board has supplied formative Create PT questions to help prepare students to complete the Create Task. We recommend that students complete the following prompts with the unit project. More information can be found in Code.org CS Principles Topic Coverage.

  • 3.a.i.
  • 3.a.ii.
  • 3.a.iii

Finished Teaching This Unit?

Answer this short survey to let the Code.org curriculum team know how the unit went.

Make all lessons in this Unit visible or hidden for your students.

Unit 3: Intro to App Design
Lesson 1: Introduction to Apps

Students explore and investigate what makes an app an app. They begin by looking at and discussing five different apps. Following this, students watch a video explaining the basics of how computers work. Finally students return to the apps and consider the various inputs and outputs.

Lesson 2: Introduction to Design Mode

Students work through a progression of levels to build an understanding of how to use Design Mode to layout an app. The final level has students setting up the screen of an app by attempting to copy an image of an app.

Lesson 3: Project - Designing an App Part 1

This is the first in a series of lessons where students will make progress on building their own functional app.

  • On Day 1, students brainstorm app ideas and sketch out user interfaces in preparation for the next lesson where they will return to App Lab.
  • On Day 2, students continue working on the unit projects in what is primarily designed to be work time. Students continue to follow the app development process outlined in their App Development Guide by transferring their user interfaces designs from their planning guides over to App Lab
Lesson 4: The Need for Programming Languages

In this lesson students explore the challenges of clearly communicating instructions. They build a small arrangement of blocks (LEGO® pieces or paper cutouts) and then create text instructions a classmate could follow to construct the same arrangement. Groups then trade instructions to see if they were clear enough to allow reconstruction of the original arrangement. The wrap-up discussion is used to highlight the inherent ambiguities of human language and call out the need for the creation of a programming language which leaves no room for interpretation.

Lesson 5: Intro to Programming

Students use and modify a series of simple apps to get familiar with a small set of programming commands. They observe the way the code runs by slowing down the code and compare programs that run all at once to those that respond to user actions like buttons clicks. At the end of the lesson students discuss what they observed and are introduced to some key vocabulary for describing the running of programs.

Lesson 6: Debugging

In this lesson students practice using the different programming concepts that they were introduced to in the last lesson. To begin, however, they are introduced to the concept of debugging and are encouraged to use and reflect on this practice throughout the lesson. At the end of the lesson students share their experiences debugging as well as an new realizations about programming.

Lesson 7: Project - Designing an App Part 2

This lesson covers the last three days of the unit project. Students add code to make their apps function.

  • On Day 3, students learn about Pair Programming by watching a video and then practicing it themselves while working on their project apps. At this stage, students are adding their first lines of code to their app using debugging skills from the previous lesson.
  • On Day 4, students continue working on their apps. Halfway through class the focus of the lesson shifts to getting feedback. Students watch other groups test their apps and collect feedback that will be used to make updates.
  • On Day 5, students complete their apps, making any final adjustments based on feedback from their peers. Students spend some time reviewing other apps that classmates made and then complete a short set of reflection prompts before submitting their projects.
Lesson 8: Assessment Day
This lesson is locked - you need to become a verified teacher to unlock it.Learn more.

Students complete the Unit Assessment and then spend the rest of class sharing their projects.

1-2
Unit Assessment - Intro to App Design
1. Unit Assessment - Intro to App Design
2. Unit Assessment - Intro to App Design
Level TypeLevel Status
Not startedIn progressKeep workingNeeds review
Completed
Assessments / Surveys
Concept
Concept: Not started
Concept: In progress
N/AN/A
Concept: Completed (perfect)
N/A
Activity
Activity: Not started
Activity: In progress
Activity: Keep working
Activity: Needs review
Activity: Completed (perfect)
Activity: Submitted
Level TypeLevel Details
Concept
Text
Video
Map
Activity
Unplugged
Lesson Extras
Online
Assessment
Question
Choice level