CMSC110 (Introduction to Computing)
    Spring 2013
    Assignment#5
    Due before start of class on Tuesday,
        April 2, 2013
    First, read Chapter 5 from GXK and Chapter 9 from Shiffman. 
    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
      suggestions are given below).
    
    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.
      
    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 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.
       
    
    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)
    a time series and (2) contains a reasonable number of datapoints (a
    rough rule of thumb would be at least 50).  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 five dataset that we feel are suitable
    for completing the project.  
    
    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: Philadelphia
          snowfall by year (for more weather datasets for
        Philadelphia consult the Franklin
          Institute Page).
 
      - Stock market data: data from the
        book irrational exuberance (see here
        for more detail).
       
    
    
      Remember to pay special attention to the aesthetic aspects of your
      design as well as interactivity. Be sure to use the programming
      features you have learned in the last week or two.
      
    Extra Credit:  Extra points (in an amount to
    be determined) 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 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: Hand in the entire sketch
      folder in your Dropbox folder. In addition to the sketch/programs
      also include; (1) a gif/jpg/png image of your finished sketch. (2)
      A formatted write-up with Page#1 showing your sketch, followed by
      a title, your name, a short 1-2 line description (as discussed in
      class) on page#1, and a short 1-2 paragraph more detailed
      description of the sketch and your personal experiences working on
      this sketch. 
    Back to CMSC110 Course Web Page