CMSC110 (Introduction to Computing)

Fall 2016

Assignment #4

Due at 1:10pm on Monday, November 7, 2016 (RE)/ 12:55pm on Tuesday, November 8, 2016 (DK)

First, read Chapter 5 from GXK.

Task: Develop a Processing program that enables a user to visualize some data.  Your program should allow the major trends in the data to be easily visible.  Additionally, your program should allow for some form of interaction between the user and the data (some suggestions are given below).

Your program should be able to read in the data from a file, parse the data with Processing, and then use Processing to display the data in a clear manner.  You should consult Chapter 5 of GXK to get some ideas for effective methods of visualizing data (e.g. line charts, bar charts, heat maps, etc.).  However, you are by no means limited to the formats presented in the GXK chapter.  Above all, the choice of visualization format should be informed by the story that you want to tell about your particular data.

Don't be afraid to be creative!  Visual enhancements that don't necessarily convey additional information but make the presentation of the data more interesting and aesthetically pleasing are encouraged.

Here are a few suggestions for how you might add an interactive element to your sketch:
  1. Use text to display the exact value of a datapoint when the mouse hovers over the relevant portion of the visualization.
  2. Zoom in on a particular segment of the data by clicking the mouse on a segment of the visualization.
  3. Toggle the appearance of a moving average line (in a time series plot) with the click of a button.
You should select a dataset that lends itself to telling an interesting story through visualization.  You are welcome to find your own data from any source you'd like as long as it is:(1) contains a reasonable number of datapoints (a rough rule of thumb would be at least 50 or more).  You may want to obtain data from one of the following sites that serve as data clearinghouses: data.gov and datamarket.com.  In addition, we are providing following pointers to datasets that we feel are suitable for completing the project. We will keep posting more data here over the next week. Keep coming back.

Timeseries datasets (you do not have to use one of these!):
  1. Product usage data: web browser popularity (also see here for more data).
  2. Demographic data: popularity of various names in the U.S.
  3. Economic data: U.S. GDP (consult here for more economic time series).
  4. Weather data: for Philadelphia consult the Franklin Institute Page.
  5. Stock market data: data from the book irrational exuberance (see here for more detail).
  6. A bunch of datasets: https://vincentarelbundock.github.io/Rdatasets/datasets.html
  7. Federal Uniform Crime Reporting Statistics: You can customize the kind of dataset you want

Requirements:

  1. Your sketch must read in data from a file.
  2. The file must contain real-world data, with at least 50 data points.
  3. Your sketch must display this data, choosing a visualization method that makes the data easy for a human to understand.
  4. Your sketch must contain an interactive feature, allowing the user to interact with the data.

What to Hand in: Hand in the entire sketch folder in your Dropbox folder. Make sure to include:

  1. Your sketch code (the .pde file)
  2. A gif/jpg/png image of your finished sketch
  3. A write-up with your name, course and assignment number and a paragraph about the sketch, its inspiration, and how you designed and implemented it. Include a brief discussion about your experience working on this assignment.
Hand in a printout of all three in class on the due date.



Back to CMSC110 Course Materials