Due December 1, 11pm CS 4460 - Intro. to Information Visualization Fall 2017

Programming Assignment 5

This final programming assignment of the term is a more open-ended data visualization challenge. We have identified five potential data sets for you to visualize. You should select one, then design and implement an interactive visualization of the data. This assignment will be done in pairs of students. Ideally, you and your teammate will take the knowledge and background that you are learning this semester about Information Visualization and put it to good use in a new, creative effort.

Because you do not have an extended period of time to work on the project, we recommend that you quickly select one of the data sets. Next, you should come up with a design for your visualization. To do this, think about the kinds of questions someone might have about the data and the kinds of insights they'd want to take away from your visualization. For visualizations that are more about analysis and exploration, remember the analytic tasks that we have been discussing all semester. Make sure your visualization supports many of them. If you are doing more of a storytelling visualization, then think about the aspects of the data and "messages" that you want to communicate. Don't spend too long working on your design, however, because it's important that you leave enough time for the implementation. Feel free to meet with the professor and/or TAs to run design ideas by them for early feedback and thoughts.

You must implement your visualization for the web, using D3 and Javascript. Feel free to use other libraries that may be helpful to you. Where applicable, leverage the visualization design paradigms and techiques that we have learned about this term (e.g., overview and detail, dynamic queries, brushing and linking, various visualization techniques, etc.) In terms of complexity, fidelity, and depth, we're looking for something on this assignment along the lines of the visualization from P4.

The five available data sets are stored in the Resources page of our class T-square site. Each has approximately 1000 data cases and a fairly large number of attributes as well. Important: You do not need to use every attribute included in the data set. It is up to you to select which attributes you want to include to make an effective visualization. We would prefer, however, that you do utilize all the data cases in your visualization.

Your system is due on Friday December 1 at 11 pm. You should create a zip file and turn it in via t-square. We will not accept any late turn-ins for this assignment because that is going into reading week. In the folder that you zip up, you should also include a file named description.pdf that is a short project overview document. The document should be about 3 pages and include the following items: team member names, data set chosen, lis of analytic tasks it supports, design overview (1-2 paragraphs), screen shot(s) of the user interface, and a description of any aspect of the interface/visualization that you feel needs explanation. It's OK for your document to be longer if you include a lot of figures.


The following questions will be important for our evaluation of your project.

The grade earned for the project will be a team grade, that is, both team members will earn the same score for the project. However,the professor reserves the right to adjust individual team member's scores either upward or downward to support especially strong or weak performance and contributions to the group effort, as much as he can objectively determine. It is acknowledged that not all team members will bring the same skills to the group. It is each member's responsibility, however, to make a significant contribution in whatever way that best matches his or her abilities.

Tips for a Successful Project

We highly recommend that your project be implemented in one of three potential styles, as described below.

The first style of successful project might be the "Scrollytelling" type of webpage that has a long vertical narrative with a number of interactive visualizations embedded onto the page. Here, you should feel free to follow a more narrative, storytelling style of project where your visualizations are accompanied by text and images to help communicate interesting aspects of the data set. A few examples of this style of visualization include:

The second style involves a visualization system that likely has only one view/representation (or perhaps a couple) but this representation is a new and innovative technique or visual metaphor. Here, you should focus on designing a creative new visual representation. The actual user interface may have different components or pieces, but it should be tightly integrated. The real focus here is on creativity and innovation. (Note that this is likely the most challenging design style to implement.) A few external examples of this type of project are:

The third and final type of successful project employs multiple coordinated views where each view may use some well-known visualization techniques, perhaps customized a little for this problem. There is likely nice filtering and interactive selection and focus in in the interface. The emphasis in this type of project is to create a sound, functional system implementation that clearly can be of help for data analysis and understanding. It is important in this type of project to have coordinated views that work well together and provide different perspectives on the data. This type of project does not have the same level of visualization innovation as the second one above, but it comes together in a strong system implementation. It is really more of a software engineering effort. A few external examples of this type of project are:

One way to carry out a poor project is to have each group member go off on their own and implement a different view, where the views have relatively little to do with each other. Systems like this usually have an interface where the user picks one of the views, and then that view takes over the window or screen, having very little to do with the other views. We don't consider this to be a very good example of an effective information visualization.