Lesson 12: Project - Decision Maker App Part 1

Overview

Using a Project Planning Guide, students work through the stages of creating an app from scratch. This is the first day of a three-day project. This lesson is devoted to the planning phase.

Purpose

The Practice PT gives students the opportunity to design and program an app from scratch. Welcome to The Decision Maker App! Students demonstrate mastery of variables, conditionals, and functions by combining these elements into a useful program designed to solve the problem of making a decision.

Agenda

Lesson Modifications

Warm Up (5 mins)

Activity (40 mins)

Wrap Up (0 mins)

View on Code Studio

Objectives

Students will be able to:

  • See rubric for guidance in measuring student learning

Preparation

  • Review the project guide and make sure students have access to copies

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)

Teaching Tip

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

Intro the Project

Remarks

Have you ever been stuck trying to make a decision? What movie should we watch? Where should we go for lunch? How many chocolate bars can I buy? For the next three days you will build an app to help people make a decision.

Activity (40 mins)

Plan the Decision Maker App

Level 1-2 - Explore: Have students explore the two sample apps in levels 1 and 2. These apps should spark ideas in what the students can create for this project.

Discussion Goal

Sample App #1: Where Should I Eat?

  • Recommends a restaurant to the user.
  • Inputs: text box for user name, drop down menu for restaurant type, up and down buttons to control the amount of dollars the user wants to spend.
  • Outputs: Text box at the bottom of the screen which displays the recommendation and sound that plays when the user interacts with the app.
  • Variables: username, type of restaurant, dollar amount, output text
  • Conditional Logic: If the dollar amount within certain amounts, recommend different restaurants
  • Function: Update the screen every time the user changes an input.

Sample App #2: Activity Finder

  • Recommends an activity to the user.
  • Inputs: text box for user name, drop down menu for time of day, drop down menu for activity level.
  • Outputs: Text box at the bottom of the screen which displays the recommendation and sound that plays when the user interacts with the app.
  • Variables: username, time of day, activity level, output text
  • Conditional Logic: If the user selects certain times of day and activity levels, make targeted recommendations.
  • Function: Update the screen every time the user changes an input.

Prompt: For each app, discuss the following:

  • What does this app do?
  • What are the inputs?
  • What are the outputs?
  • What variables do you think would be necessary for this app to work?
  • What kinds of conditional logic do you think are necessary to make it work?
  • How could a function be used in this app?

Distribute: Each student should have a copy of the Practice PT Decision Maker App Planning Guide.

Remarks

For this project you will create an app that helps a user make a decision. Your app must take in at least one number and one string from the user that will help to make the decision. All of this information will be used as part of the decision making process. In addition, your code must include at least one function used to update the screen.

Discuss: Review the app requirements in the Planning Guide.

Display: Show the steps students will complete today in the Planning Guide.

Teaching Tip

Supporting students in Practice PT Lessons

The teacher plays the role of a guide throughout the Practice PT lessons. In preparation, you may want to set aside some time to complete the project yourself to identify potential points of confusion for your classroom.

In this first lesson, the classroom progresses together through steps 1-3, and then students work at the own pace for steps 4-6. Circulate the room and check in with students as needed to make sure instructions are clear and students understand expectations.

What should you expect?

  • Students writing and sketching in the Planning Guide
  • Active discussion around project ideas
  • Students should only be on Code Studio if they have finished Steps 1-6 early and are ready to work in Design Mode in App Lab. If this is true, they can move on to the first level in Lesson 13.

Step 1: Brainstorm App Ideas

  • Students come up with three distinct ideas

Step 2: Choose one Idea

Step 3: Survey Your Classmates

  • Students discuss with two classmates the decision their app will help the user make and decide what information is needed to make this decision.

Step 4: Storing Information

  • Variables needed for storing information are listed in this section.

Step 5: Flowchart

  • Students create a flowchart, following the "Can I adopt a cat?" sample flowchart from the Conditionals Explore lesson.

Step 6: Design User Interface

  • There is space for students to design up to three screens. There are no screen requirements for the app, so students may use only one screen.

Wrap Up (0 mins)

No wrap up today. All time should be spent on the project.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
  • 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.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.