Lesson 16: Project - Make a Recommendation

Overview

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

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.

Purpose

This project serves as an assessment for the second chapter of the unit. Students should demonstrate that they can apply the data problem solving process to a problem or domain that they are interested in. Students complete many of the same activities, but linked together in one comprehensive project. For example, students have previously used cross tabulation to find relationships between preferences and have created recommendation algorithms, but in this project, they will use the relationships that they find in the data to create their algorithms. The last step in the activity is intentionally vague on how students will present their work so that you may choose the method that makes the most sense for your classroom.

Assessment Opportunities

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.

Agenda

Warm Up (5 mins)

Day 1 Activity (40 mins)

Day 2 Activity (45 mins)

Day 3 Activity (45 mins)

Days 4 and 5 Activity (90 mins)

Wrap Up (10 mins)

View on Code Studio

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

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 mins)

Journal

Discussion Goal

Goal: This quick review serves to remind students of the types of problems that they can solve with data before they move onto 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?

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.

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?

Day 1 Activity (40 mins)

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.

Distribute: Give students copies of the project guide

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.

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.

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?

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.

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.

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.

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.

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.

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.

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

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 on 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 (90 mins)

Day 4 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.

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 rubric to fit your exact needs.

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

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

Wrap Up (10 mins)

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.

View on Code Studio
View on Code Studio

Sample App

Here is an example of an app that uses data to help the user solve a problem. With a partner, play through the app a few times to see how it works.

Discuss the following questions with your partner:

  • 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?
  • Reflection
  • 3
  • (click tabs to see student view)
View on Code Studio

Student Instructions

This level is an assessment or survey with multiple questions. To view this level click the "View on Code Studio" link.

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-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.
DA - Data & Analysis
  • 2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.
IC - Impacts of Computing
  • 2-IC-23 - Describe tradeoffs between allowing information to be public and keeping information private and secure.