Lesson 8: Conditionals Make
App Lab
Overview
Using Programming Patterns and a step-by-step approach students make their own version of a Museum Ticket Generator 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. A progression of levels guides students on 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.
Purpose
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.
Agenda
Lesson Modifications
Warm Up (2 mins)
Activity (38 mins)
Wrap Up (5 mins)
View on Code Studio
Objectives
Students will be able to:
- Recognize the need for programming patterns with Boolean expressions and conditional statements as part of developing a functioning app
- Implement programming patterns with boolean expressions and conditionals statements to develop a functioning app
- Write comments to clearly explain both the purpose and function of different segments of code within an app
- Use debugging skills as part of developing an app
Preparation
- Review the different steps students will be asked to complete as they build the app
- Review the information covered in the slides
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the Teachers
- CSP Unit 4 - Variables, Conditionals, and Functions - Presentation
For the Students
- CSP Conditionals Make - Museum Ticket Generator App - Activity Guide
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 (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.
Intro the Project
Remarks
For the past few days, we've learned a lot about using conditional statements to help apps make decisions. In today's Make Project you'll be practicing both making flow charts and writing complex conditionals statements as you build a Museum Ticket Generator app.
Activity (38 mins)
Build the Museum Ticket Generator
Group: Make a determination as to whether this project will be completed in pairs or individually. You may even choose to let students decide.
Distribute: Make sure students have access to scrap paper and pencils / paper for drawing flow charts.
Level 2 - Explore: Have students explore the working Museum Ticket Generator App in Level 2. If students are not working in pairs they should still discuss the prompts with a neighbor.
Discussion Goal
- What does this app do?
- Generates a ticket to a museum based on input data from the user.
- What are the inputs?
- The dropdowns for age and day of the week
- The discount code text field
- The button to generate the ticket
- What are the outputs?
- The ticket generated at the bottom of the screen
- What variables do you think would be necessary for this app to work?
- The input information listed above will all need variables (age, day, discountCode), but they may want variables for other information calculated during the app.
- What kinds of conditional logic do you think are necessary to make it work?
- The pricing rules help you know what to write. They'll definitely need to use if-else-if statements and AND / OR operators in order to implement these rules since they include multiple conditions to check.
Prompt:
- 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?
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:
- Run the code on turtle mode
- Add the variables to the watcher
- Explain the code to a friend
Remarks
Now let's build the this app. The screen has been set up for you - it's your job to add the code!
Distribute: Give students copies of CSP Conditionals Make - Museum Ticket Generator App - Activity Guide if you will be using it during the class.
Do This: Direct students to level three where they complete the Museum Ticket Generator App. Based on the needs of your classroom decide whether you will collectively go through the activity guide or have students complete it individually. Afterwards give them time to work on their projects and circulate the room to offer support. Students who finish early can work on the extensions suggested in the activity guide.
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.
Remarks
Awesome work today! Make sure to submit your project when you're done with it!
Assessment: Make Project
Use the rubric provided with the project to assess student projects.
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-12 - Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
- 2-AP-19 - Document programs in order to make them easier to follow, test, and debug.
- 3B-AP-21 - Develop and use a series of test cases to verify that a program performs according to its design specifications.