Lesson 8: Project - Designing an App Part 3

Overview

Student 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.

Purpose

Pair Programming is an effective collaboration strategy both inside the classroom and in professional setting. As this is the first opportunity students have to program starting from a blank screen, this is a good opportunity to explore the usefulness of Pair Programming.

Agenda

Lesson Modifications

Warm Up (5 mins)

Activity (35 mins)

Wrap Up (5 mins)

View on Code Studio

Objectives

Students will be able to:

  • Effectively use pair programming while designing the features of an app
  • Create the code and user interface of an app based on a program specification

Preparation

  • Make sure students have access to their App Development Planning Guides

Links

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 (5 mins)

Important context for teachers: Students will continue to work on adding behavior and code to their app in following lessons, specifically Lessons 9 and 10. We recommend you take a look at Lessons 9 and 10 as well when you are preparing for this lesson to get an idea of where students should be at the end of this lesson and what tasks and activities take place during future lessons.

What Makes a Good Partner?

Discussion Goal

Goal: Make this a quick discussion and just aim to get a few ideas from around the room. For example, a good partner...

  • listens
  • contributes
  • shares the work evenly
  • and so on....

Prompt: What makes a good partner?

Remarks

Now you've got the skills you'll need for your project, but we'll need a minute to talk about how to use them when working in teams. Today you're mostly going to have work time, but you're going to be practicing a new skill called pair programming.

Activity (35 mins)

Using Pair Programming

Teaching Tip

Taking on the Blank Screen: This is the first time students are adding code to a blank screen. Some students may need assistance. Direct them back to their Planning Guides to help students understand the onEvent blocks they need to add to their project.

Supporting Pair Programming: Your biggest role in supporting pair programming will be encouraging students to use it early on and helping enforce the switching. Run the timer in the slides and have left and right partners switch roles. You may opt to increase the time to longer periods as time goes on.

Debugging Practices: Students learned a lot of debugging practices in the previous lesson. Encourage students to use these and record bugs they find as they program today. Continue to normalize and celebrate debugging as a normal and fun part of programming.

Group: Place students in pairs with their project partner

Distribute: Direct students back to the App Development Planning Guide - Activity Guide

Step 5: Students fill out the chart on page 4, listing all of the Event Handlers in their programs. They should be able to determine these based on the Program Specification they designed.

Display: Play the Pair Programming video found either in CSP Unit 3 - Intro to App Design - Presentation or on Code Studio. Afterwards review the pair programming steps found in Code Studio.

Remarks

Today we're going to use the pair programming as you work on your app with your partner. To begin we'll make the partner sitting on the left the driver and the one on the right the navigator. Every few minutes I'll ask you to switch roles.

Circulate: Give students time to work on their project. As they do so circulate the room encouraging them to use debugging practices they've learned in previous lessons. Every few minutes ask left and right partners to switch being drivers and navigators.

Wrap Up (5 mins)

Reflecting on Pair Programming

Discussion Goal

Goal: Use this prompt to reinforce not only the value of pair programming and collaboration while programming, but also to remind students of debugging practices they learned in the previous lesson. Possible answers include

  • Talking through my code with another person helps me figure out what to do
  • When I get stuck, there's someone there to help brainstorm a solution
  • There's more than one set of eyes to find bugs
  • Different partners bring different perspectives to a project

Prompt: How does Pair Programming help when working on a project? How does it help with the debugging process in particular?

Journal: Have students add "Pair Programming" to their journals.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3A-AP-19 - Systematically design and develop programs for broad audiences by incorporating feedback from users.
  • 3A-AP-21 - Evaluate and refine computational artifacts to make them more usable and accessible.
  • 3A-AP-22 - Design and develop computational artifacts working in team roles using collaborative tools.
  • 3A-AP-23 - Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.

CSP2021

CRD-1 - Incorporating multiple perspectives
CRD-1.B - Explain how computing innovations are developed by groups of people.
  • CRD-1.B.2 - Common models such as pair programming exist to facilitate collaboration.