< Unit 5 - Data and Society ('24-'25)

Lesson 16: Project - Make a Recommendation

225 minutes

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

CSTA K-12 Computer Science Standards (2017)
    • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
    • 2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
    • 2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
    • 2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.
    • 2-IC-23 - Describe tradeoffs between allowing information to be public and keeping information private and secure.

Agenda

Objectives

Students will be able to:
  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Links

Heads Up! Please make a copy of any documents you plan to share with students.

For the teachers
For the students

Teaching Guide

Warm Up (5 minutes)

Journal

Prompt: Thinking back over the last several lessons, list all of the times we’ve seen data that is used to make a recommendation. Here’s an example: we used survey data to make a recommendation about what pizza to order.

Discuss: Have students write independently first, then have students share with a partner and add any new examples to their list. Then ask students to share with the whole class.

Discussion Goal: This quick review serves to remind students of the types of problems that they can solve with data before they move on to defining their own data problem. Some examples that students may come up with include:

  • Which pizza should we order?
  • Which ice cream should we choose?
  • What video should WebPix recommend?
  • Which route should a driver take?
  • Which product should Nyle recommend?

Remarks

We've looked at many different types of data problems, but they all have to do with making recommendations (such as the Top Video) or predictions (such as the shortest route). Today, we’re going to start a project where you're going to use data to make your own recommendation, based on something that you are interested in.

Question of the Day: How can I use data to make my own recommendations?

Activity (215 minutes)

Group: Group students into pairs. If there is an odd number of students, a group of 3 can be made or a student can complete this project individually.

Teaching Tip

Facilitating Group Projects: If students are working in pairs or small teams to complete projects, consider showing these two videos to the class:

Depending on your goals with this project, consider having teams complete a Student Guide to Team Planning, which reinforces the message in the video

Day 1 Activity (40 mins)

Distribute: Give students copies of the project guide. Also give students either a copy of the rubric or the student checklist.

Teaching Tip

Rubric and Checklist: Students have two resources they can use for self-reflection and making sure they are on the right track: the rubric and the student checklist. We recommend having students use the checklist for their own self-assessment and reflection, since it may be easier to digest and understand when reviewing their own project. However, we recommend teachers use the full rubric for evaluating projects to give more accurate feedback to students. You can see examples of this with the Sample Marked Rubrics resource at the top of the lesson plan (only visible to verified teachers)

Project Guide - Make a Recommendation

Overview: Read through the Overview of the project with students and answer any questions.

Sample App: Display the Sample App. Have the class participate in the quiz multiple times.

Starting Off: Have students answer the following question on their project guide:

  • What choice does the app help the user to make?
  • What data does it use to make that recommendation?
  • How do you think the creators of the app decided on the algorithm that they use to make the choice?

Discussion Goal: The first two questions are fairly straightforward. The app helps the user to choose a vacation spot, and it uses data about the user's food, superpower, and animal preferences.

The next question asks students to think about how algorithms are chosen. In a previous lesson, students designed an algorithm for this app by looking at cross-tabulation tables for people who had expressed different preferences. Remind students that the creators can use data they have collected to create their algorithm, rather than just making up their rules from their assumptions about the world.

Remarks

In this project, we're going to use the data problem solving process to help us create our algorithm. We'll survey people to find the relationships between their preferences, then use what we've learned to create an algorithm that can recommend something to the user. You’ll be working with a partner, and your first step will be to think about the type of recommendation that you want to make, and the three questions that you will ask to help you make that recommendation.

Step 1 - Define Your Problem: Give students a few minutes to decide on their recommendation topic with their partner.

Prepare

Step 2 - Decide What Data You Need: Give students time to think of the data that they need to help them make the recommendation to the user.

Teaching Tip

The lesson plan assumes a very rigid structure for the algorithm, with four possible recommendations based on three multiple choice questions, each with four answer choices. You may want to give students more freedom in creating their survey and algorithm.

Step 3 - Create Your Survey

Once students have decided on the data, they should put it in survey form. In the initial survey, they will also need to include a question that asks about what they plan to recommend (e.g. a vacation spot). They will use this data to make connections between a user's stated preferences and what they will eventually recommend.

Teaching Tip

Scoping Student Projects: Students may ideate projects that are beyond the skills they currently have or that would take longer than the allotted time to implement. Rather than asking students to choose a different project, consider asking students to imagine a more scaled-down version of their initial idea. As an analogy, if students initial idea is the "Run" step, imagine a less intense version that represents what the "Walk" step would look like. If necessary, you can keep going back further to a "Crawl" step as well.

Digging Deeper: This is sometimes referred to as the Minimal Viable Product - you can learn more about this process and adapt it into your project strategies by reading this article: Making Sense of MVP by Henrik Kniberg

Day 1 Wrap-up

Collect: Collect Project Guides and look over them for any issues that could cause problems for students in the next portion of the lesson. Before tomorrow’s lesson, students may also use this time to collect survey data from people outside the classroom.

Day 2 Activity (45 mins)

Day 2 Warm-up

Distribute: Re-distribute the Project Guide’s from yesterday. If you have any feedback for students, make time to talk to them individually. Otherwise, students can jump straight into the next steps for their project.

Project Guide - Make a Recommendation

Step 4 - Collect Your Survey Data: Have students survey each other in the classroom. Ideally, students should give the survey to at least twenty people in order to make sure there is enough data to interpret in the next step. This will take a large portion of this class period.

Step 5 - Interpret Your Data: Guide students in using cross-tabulation to find relationships between the different user preferences. If students are having trouble with this part of the project, you may want to share the exemplar with them or complete a few tables as a class.

Step 6 - Define Your Algorithm: Students use the relationships to create rules for their recommendation algorithm.

Teaching Tip

This step is slightly different from the algorithm assignment earlier in the chapter. Make sure students understand that they should be creating rules based on the survey data that they have collected and interpreted, not what they believe to be true about the world.

Day 2 Wrap-up

Collect: Collect students' project guides and again do a quick check-in to make sure students are on track.

Day 3 Activity (45 mins)

Day 3 Warm-up

Distribute: Re-distribute the Project Guide’s from yesterday. If you have any feedback for students, make time to talk to them individually. Otherwise, students can jump straight into the next steps for their project.

Project Guide - Make a Recommendation

Step 7 - Try Out Your Algorithm: Give students time to use their algorithm to make a recommendation to three of their classmates, then reflect on whether they believe the algorithm is effective.

Step 8 - Peer Review: Read the instructions for Step 8 in the Project Guide. Clarify that the intent is to generate new ideas for how to improve your recommendation algorithm by having another team peer review it.

Distribute: Pass out the Peer Review - Make a Recommendation worksheet to each student.

Peer Review - Make a Recommendation

Peer Review: Have teams trade projects and complete a Peer Review for the other team. They should complete the chart and offer feedback to the team on their recommendation algorithm.

Creator’s Reflection: Have teams look over the feedback and complete the Creator’s Reflection section of the activity guide. Teams should make edits to their Project Guide based on the feedback provided by another team.

Day 3 Wrap-up

Collect: Collect students' project guides and again do a quick check-in to make sure students are on track.

Days 4 and 5 Activity (85 mins)

Day 4 Warm-Up

Distribute: Re-distribute the Project Guides from yesterday. If you have any feedback for students, make time to talk to them individually. Otherwise, students can jump straight into the next steps for their project.

Step 9 - Finalize and Present: Students should design some kind of presentation of their work to share with their classmates. While you may choose many different formats, suggested content for the presentation is provided. The presentation should include:

  • What choice you are helping the user to make
  • The types of data you collect to help the user make that choice
  • The relationships that you found when interpreting your survey data
  • The way you used this information to create your recommendation algorithm
  • The results of testing the algorithm on users
Teaching Tip

What kind of presentation? The presentation can take any form you think best for your class: slides, poster, paper, etc. Feel free to update the presentation rubic to fit your exact needs.

Presentations: Give teams time to present. Projects can be assessed using the rubric based on their presentation and project guide.

Assessment Opportunity

Use the project rubric attached to this lesson to assess student mastery of learning goals of this unit. You may also choose to assign the post-project test through Code Studio.

Wrap Up (5 minutes)

Send students to Code Studio to complete their reflection on their attitudes toward computer science. Although their answers are anonymous, the aggregated data will be available to you once at least five students have completed the survey.

Teacher End-Of-Unit Survey

We also have a teacher end-of-unit survey to learn more about how the unit went for you and your students. While students take their survey, please complete this end of unit survey for teachers as well. Your feedback is valued and appreciated!

After the Lesson

Post-Project Test

Post-Project tests are included at the end of every unit. These include several multiple choice and matching questions as well as open ended reflections on the final project of the unit. These tests are aligned to the learning framework of each unit and are designed to assess parts of the framework that may not have been covered by the project rubrics. To holistically assess the learning objectives of the unit, the post-project test should be paired with the end-of-unit project which is the primary student assessment in each unit.

Unlocking The Tests: This test is locked and hidden from student view by default. In order for students to see and take this test, you'll need to unlock it by clicking the "Lock Settings" button and following the instructions that appear. Click here for more information about unlocking and admistering assessments

End of Course Survey

If this is the last unit of CS Discoveries that you are teaching, also have students take the end-of-course survey. See the CSD Instructions resource for more information about the End-of-Course survey and how to assign and see the results.

Creative Commons License (CC BY-NC-SA 4.0).

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.