CMP 161 -- Programming Assignment 2
Due date:
Wed, 3/15/2017, 11:59 pm
Objectives:
Learn D3 by extending an existing infovis technique.
Apply and evaluate new technique.
"cyclic streamgraph"
To Do:
-
Streamgraphs
are a form of
stacked area charts or its discretized
stacked bar charts.
Streamgraphs incorporate an element of "time"
which means the domain of the different layers is not the same throughout.
Unlike stacked area and bar charts,
streamgraphs don't use a straight baseline.
Instead, the baseline is allowed to vary along the graph
typically with the goal of minimizing the slopes of the
individual layers.
A more formal description of streamgraphs is
available in the paper by
Byron and Wattenberg
-
For this programming assignment,
you will create a variant of streamgraphs aimed at depicting
data that has some periodic or cyclic behavior.
As such,
instead of arranging the streamgraph either horizontally or vertically,
you will create a circular streamgraph.
For circular streamgraphs to make sense,
the units along the domain must be periodic or cyclical
e.g. circadian, weekly, monthly, seasonal, etc.
-
In terms of implementation,
you can start with a baseline of 0
i.e. a circular stacked area graph.
However, at a minimum, you should implement a circular symmetric baseline.
-
To test and evaluate this new technique,
you will need to find some data set with periodic properties.
One possibility is tidal information.
Tides are periodic, have peak high and low tides that vary with
time of day and maximum/minimum heights.
You are welcome to find and work with other types of periodic data sets.
XXX
A possible question to be answered
-
The main outputs of this exercise are:
an implementation of cyclic streamgraphs,
visualizations of periodic data using cyclic streamgraphs,
and a technical report (in pdf)
providing details about your implementation and visualizations.
All these should be linked and accessible via an html web page.
See documentation requirements below.
Documentation
Each and every assignment should have proper documentation.
Documentation includes:
(i) code documentation,
(ii) user documentation,
(iii) technical writeup of the assignment.
The 1st two items are self-explanatory and you should have experience
with these from previous classes.
The 3rd item is a short technical paper, about 4-6 pages long,
that describes the problem, your approach, and results.
In this case, you want to talk about your implementation of cyclic streamgraphs,
limitations/constraints and/or features of your implementation,
specifications/formats of output,
how you ordered the layers and how you determined the baseline,
any combinations/customizations you used/designed, etc.
Make sure the captions for your visualizations are clear.
Add relevant discussions about visualization algorithm and results
e.g. strengths and weaknesses of this method.
The technical paper should be a pdf file. Single spaced. You can use
a single column or a double column format. Font size should be 8 or 10 points.
If using single column, you can conserve space by laying out your images in
a row (i.e. a row of images across the page).
Items To Submit:
-
A file called prog2.html
with description and images of your project.
Include your name and login id near the top of the page.
Make sure your links are all local
and relative to your submit directory.
Call the submit directory prog2.
-
Include results (your visualizations).
One of these images should be named "thumb.gif" and will be used as
a thumbnail to index into your submission.
-
Include links to:
(i) source code,
(ii) user documentation,
(iii) technical writeup.
Again, note that all these should be local e.g. relative to your
submit directory.
Grading:
This program nominally accounts for 10% of your final grade.
Programs turned in at least a full day early will earn 1% bonus credit.
Late programs will not be accepted.
Bonus credits may be accumulated up to a
total of 50% toward program and final project credits.
This program is graded 70% for functionality and correctness,
30% for experimentation, readability, documentation/writeup.
Additional points may also be earned for extra features.
Submission:
Submission must be done using
the submit utility from CATS (e.g. unix.ic.ucsc.edu).
-
submit cmps161-ap.w17 prog2 prog2.tar, or
-
submit cmps161-ap.w17 prog2 prog2.zip,
Last modified
Sunday, 02-Jun-2019 10:34:56 PDT.