Using Programming Patterns and a step-by-step approach students make their own version of a Random Forecaster app. At the beginning of the lesson students are able to explore a working version of the app. They are then given the design elements of the app but begin with a blank screen. Students use an Activity Guide to go through the high level steps they should use to develop their app but leaves it to them to decide how to write the code. At the end students submit their apps which can be assessed using a provided rubric.


Students will be able to:


This lesson is an opportunity for students to take on the "blank screen" and build the code that runs an app entirely from scratch. Guidance provided throughout the lesson helps students break down the large task of "building an app" into more incremental steps that they can use on future projects, including this unit's final project and the Create PT.


Getting Started (2 mins)


Teaching Tip

Short Intro: The Warm Up today is short and light. Students should spend the maximum amount of time working on their projects.

Activity (40 mins)

Group: Make a determination as to whether this project will be completed in pairs or individually. You may even choose to let students decide.

Open a Project: Have students explore the working Random Forecaster app in the Lesson12_ExampleApp project. Students shouldn't inspect the code of the example app at this point.

Prompt: If students are not working in pairs they should still discuss these prompts with a neighbor:

Discussion Goal

Teaching Tip

Supporting Students: While students are working on their apps, circulate the room and check in with students who need a little help. Encourage students to collaborate and discuss bugs with each other.

Debugging: Review with students steps they can use to debug if they get stuck:

Looking at Previous Code: You can choose to let students look at code from apps in previous lessons as a reference if they're stuck. You can also use the code in the example project, but it's important that students don't just copy-paste from it. Looking at related code as a reference and translating it into new code is a valuable programming skill, but it's important that students are confident enough in their understanding of the material to build code in the blank slate environment. They will need this skill for the upcoming projects.


Do This: Direct students to open the Lesson12_ProjectTemplate project where they complete the Random Forecaster app. An optional Activity Guide is provided if students would like guidance in creating the app. You may also choose to quickly review the List Filter Pattern: Filtering Multiple Lists pattern with students, if needed.

Submit: Encourage students to check the rubric on the last page of the Activity Guide before submitting.

Wrap Up (5 mins)


Teaching Tip

Maximize Work Time: The wrap up is short to allow the maximum amount of time for students to complete the activity.

Assessment: Make Project

Use the rubric provided with the project to assess student projects.

Standards Alignment