Pair Programming - Super Bowl Ads

Introduction

This past Sunday was a pretty big deal to a lot of people in the US - Super Bowl Sunday. Even if you aren't a big football fan it is quite possible that you were looking forward to the big day because, for many people, it's a chance to have a big party, watch the game, the half-time show, and the commercials!

The journalists at FiveThirtyEight spent time analyzing the kinds of ads run by the 10 brands that most frequently advertised at the Super Bowl between 2000 and 2020. Those companies were:

In particular, the journalists were interested in the specfic tone/content of Super Bowl ads. For each ad they recorded attributes of the commercial such as:

 

Suppose that we want to know which pair of features are most often used together? It is funny animals? Is it sexy patriots? Is it celebrities in danger?

With your partner, you should complete this paired programming assignment to answer that question.

I expect that this will take at least two small group sessions. However, this is your only activity this week. Schedule a session early in the week (Monday/Tuesday) to get started, allow yourself two or three days alone to THINK about the problem without actually writing code. And, finally, schedule a second meeting (Thursday - Saturday) to get back together and (hopefully) wrap it up. If necessary, you may need to schedule a third meeting as well.

I suggest you use Zoom or Google Meetup to talk with each other. The code itself is set up in Replit. Both partners are responsible for understanding the code that you are writing so you should frequentely be discussing why you are doing what you are doing.

 

In class materials

You will need the following data file

 

Assignment

Phase One - Small Group Meeting/Paired Programming

I suggest that you work on this for an initial 30-45 minutes to really chew apart the problem.

The last time I taught this class to undergraduates I explained the problem on Monday and then gave them the whole period to brainstorm/work with their partner. But by the end of that timeframe they were staring to hit a wall. At that point I asked them to go home and THINK about the problem for two days but not actually write any code. NO CODE can be written unless both people are working together.

 

Phase Two - On your own

Then, on Wednesday, I asked them to talk about their process so far and what was giving them trouble. Based on this (and honestly, I knew exactly what they would say) we started to talk about "incremental development" and what that might mean in this problem. Suddenly their eyes lit up as they realized what was going wrong with their first attempt.

 

Phase Three - Small Group Meeting/Paired Programming

Now get together for a second meeting and see what you can do to create some nice, clean, working code that finds out what combo of features was most common.

 

Submission

I will be grading this on purely a 1/0 basis.  You get credit for submitting something "on time" and that shows that you put time and effort/thought into crafting the code. 

Please complete in Replit in the appropriate activity/assignment.