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:
- Use text to display the exact value of a datapoint when the
mouse hovers over the relevant portion of the visualization.
- Zoom in on a particular segment of the data by clicking
the mouse on a segment of the visualization.
- 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!):
- Product usage data: web browser
popularity (also see here for more
data).
- Demographic data: popularity of
various names in the U.S.
- Economic data: U.S.
GDP (consult here for more
economic time series).
- Weather data: for
Philadelphia consult the Franklin
Institute Page.
- Stock market data: data from the
book irrational exuberance (see here
for more detail).
- A bunch of datasets: https://vincentarelbundock.github.io/Rdatasets/datasets.html
- Federal Uniform Crime Reporting Statistics: You can customize the kind of dataset you want
Requirements:
- Your sketch must read in data from a file.
- The file must contain real-world data, with at least 50 data points.
- Your sketch must display this data, choosing a visualization method that makes the data easy for a human to understand.
- 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:
- Your sketch code (the .pde file)
- A
gif/jpg/png image of your finished sketch
- 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