Homework #9: Visualizing Congress Data

DUE: Sunday 3/22 11:59pm

HOW TO SUBMIT: Submit the required files for all problems (see WHAT TO SUBMIT under each problem below) through WebSubmit. This homework is team work, so only one of your team members needs to submit on behalf of the team. On the WebSubmit interface, make sure you select compsci216 and the appropriate homework number. You can submit multiple times, but please resubmit files for all problems each time.

1. Visualizing Congress Data

In this exercise, we are going to revisit the congress database (source: govtrack) that we created earlier in the semester. Recall that this database contains information about all persons who have served in the U.S. Congress, as well as all votes cast in 2013 and 2014. You are expected to work with your project team for this exercise. Your job is to produce some interesting visualization about this dataset, suitable for a 5-minute presentation to a general audience.

This exercise is completely open-ended. Your team can choose to visualize any aspects of the congress database, and you can use any tool that you are comfortable with (see Lecture #9 for pointers). We don't dictate the type or purpose of your visualization either; you can use it for exploring data, understanding the results of analysis, or telling a story about data to an audience. Keep in mind that you will only have 5 minutes to present your visualization, so you need to carefully choose the most compelling visualization.

In our next lab, all teams will take turns presenting their visualizations to the class, and we will vote on who have the best visualizations. There will be three prizes:

  • Most thought-provoking
  • Best design
  • Most novel

It is okay to continue tweaking your visualization before the presentation after submitting this homework, but to earn credit for the homework, you should still submit what you have by the homework deadline.

NOTE: The congress database should still be there in your virtual machine (if not, you can recreate the database by repeating the instructions for Part 0 of Homework #2. You can use SQL to process (e.g., filter, join, aggregate) the data and generate data points to visualize. If you want to use Python, remember that you can use the psycopg2 package to pull processed data out from the database into the Python program for further processing (for example, see Homework #4 sample solution). You don't need to use a single tool or program for everything---e.g., you use Python to genereate intermediate data files that can be then fed into other visualization tools.

WHAT TO SUBMIT: Your code and result of visualization, together with a plain-text file README.txt that explains what you did and what your visualization is supposed to show. Only one of your team members needs to submit on behalf of the team.