Lists, Loops, and Traversals - Lesson 4: Lists Make
Overview
Using Programming Patterns and a step-by-step approach students make their own version of a Reminder 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.
Goals
Students will be able to:
- Recognize the need for programming patterns with lists as part of developing a functioning app
- Implement programming patterns with lists 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
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.
Resources
For the students
Supplemental code.org material
Getting Started (5 minutes)
Prompt: Imagine you want to build an app for reminders. What information do you think would be stored in a list?
Discussion Goal
Students may struggle with this question. It's ok if they don't get it right away. The goal is to prime their thinking before they look at the sample app.
Sample Answer: The reminders could be stored in a list.
Remarks
- For the past few days, we've learned a lot about using lists to help apps keep track of information. In today's Make Project you'll be practicing using lists and programming patterns with lists to create a functioning Reminders app.
Activity (35 minutes)
Build the Reminder App
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.
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: Direct students to open the Lesson4_ExampleApp project in Unit 5 of the CSP Widgets repository.
Do This: Have students explore the working Reminder App. Add several reminders to the app. Scroll through your reminders.
Prompt: If students are not working in pairs they should still discuss the prompts with a neighbor.
Discussion Goal
- How many lists do you think are needed to make this app work?
- Only one list is needed. It stores all of the reminders.
- What programming patterns with lists do you think you'll need to use?
- This app uses the List Scrolling pattern.
Remarks
- Now let's build this app. The screen has been set up for you - it's your job to add the code!
Open a Project: Direct students to open the Lesson4_ProjectTemplate project in Unit 5 of the CSP Widgets repository.
Do This: Students should complete the Reminder App. An optional Activity Guide is provided if students would like guidance in creating the app. You may optionally choose to review the List Scrolling pattern quickly with students, if needed.
Submit: Encourage students to check the rubric on the last page of the Activity Guide before submitting.
Wrap Up (10 minutes)
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 on the last page of the Activity Guide to assess student projects.
Standards Alignment
- CSTA K-12 Computer Science Standards (2017): 3A-AP-14
Next Tutorial
In the next tutorial, we will discuss Code.Org Unit 5 Lesson 5, which describes Learn about loops.