CMSC110 (Introduction to Computing)
Fall 2015
Assignment#5
Select Data Set by Fri, Oct 30, 2015
Due before start of class on Mon, Nov 9, 2015
First, read Chapter 5 from GXK.
Task: Develop a processing program that enables
a user to visualize some time series data. Your program
should allow the major trends in the time series to be easily
visible. Additionally, your program should allow for some
form of interaction between the user and the data (some
ideas are given below in step 7).
Your program should be able to read in the time series data from a
file, parse the data with Processing, and then use Processing to
display the data in a clear and aesthetically pleasing manner.
You should consult Chapter 5 of GXK to get some ideas for effective
methods of visualizing time series (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 time series 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.
Steps for developing interactive data visualization:
- Acquire the data set as one or more files
(Email me a description of your data set and the source by Friday,
Oct 30, 2015).
You should select a dataset that lends itself to telling an
interesting story through visualization. Data sources are plentiful:
web sites, technical articles, or collect your own
data. Find something that interests you.
Make sure the data set is not too small, i.e., make sure the data
has some statistical significance. Your data set
should have at least 100 data points.
-
You may want to
obtain data from one of the following sites that serve as data
clearinghouses:
-
Alternatively, here are some timeseries datasets that you
may want to use (you do not have to use one of these!):
- Clean up the data file so that it is readable by a computer program.
- This can usually be done in a text editor
- This may mean replacing comments with special numeric codes, inserting/removing data
value delimiters, etc.
- Filter the data down to the portion that interests you.
- Remove unwanted columns, headers, footers, etc.
- Explore the data set for interesting properties.
- Use Processing, the web site, or a spreadsheet to view different
parts of the data with plots
- Find the aspect(s) of your data set that you want to highlight using your
visualization.
- Apply any statistical methods or numerical analysis that are appropriate.
- Select a visual representation that best illustrates your data set and
implement it.
- Plan your representation before trying to code it.
- Draw from all the graphical techniques that you have learned so far.
- Make sure to try out all of the examples from the book and think
about a variation that would work for the way you would like tell
your data story.
- Refine your visualization.
- Modify your program until it communicates your message at a glance.
- Make your visualization interactive and/or animated.
Here are a few ideas 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 time series by clicking
the mouse on a segment of a line graph.
- Toggle the appearance of a moving average line with the click
of a button.
- Pop up a textbox that shows extra information when clicking or hovering over an
object
- animate objects to change shape, size or color to highlight a
portion of the data based on typing a letter
Remember to pay special attention to the aesthetic aspects of your
design as well as interactivity.
Extra Credit: Up to 20 extra points will be
awarded based on students who create projects that significantly
expand upon the requirements of the assignment. This part of the
assignment is totally open-ended, and you are welcome to discuss ideas
with us. One example of an extension that would merit up to 10 points
of extra credit would be to collect a second time series and overlay it on the first. The second time series should help the user better understand the causes of the trends in the first time seres (for instance when graphing first class mail volume, one might include a graph of e-mail volume overlayed on the same plot).
What to Hand in:
- In a folder named "A5", put an electronic copy of
- a short description/reflection of your experience and
your intent.
- the source code (your entire sketch folder)
- a gif,jpg, or png image of your finished sketch.
- Zip the A5 folder and submit it to Moodle.