Final deliverable due December 8 CS 7450 - Information Visualization Fall 2019

Semester Project

A summary of some good projects from the fall 2019 class.

This document describes the semester project for the course. Students should work on a project in teams of 3-4 people. Expectations will be adjusted according to group size.

The idea of the project is to 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. A real key to the project, however, is to select a data set that people will find interesting and intriguing. Even better would be to select a data set with a clearly identified set of "users" or "analysts" who care deeply about that data. Select a topic that people want to know more about! I cannot emphasize strongly enough the importance of your topic and data set.

No matter what topic you choose, I am expecting a high-quality project. In particular, I'm seeking creative projects showcasing interesting ideas. A good project should consist of visualization designs and a software artifact that implements the designs. Interaction is key in information visualization, and it is difficult to understand the interaction issues in your project without a running system. I am explicitly not expecting user testing and evaluation. Ideally, I would like your efforts to be innovative and to result in some form of potential publication.

You are free to choose any software development toolkit and graphics/visualization support library that you want in order to help build your system. You cannot build on top of something that constructs a visualization for you, however, such as Tableau. Consider developing a system that is web-deployable so that your system can be shown to everyone in the world! An alternative is to develop a system for a special piece of display hardware such as a large multi-touch display. If you are interested in working on such a project, please contact the instructor since we do have such systems available.

You will have five main milestones or deliverables. First, you must form your team. Second, you must select a topic and data set. Third, your team will have a midterm project review and critique with the professor and TAs. Fourth, you will give a demonstration of your project to the instructor and TA during final exam week. Finally, you will produce a short video (5 minutes or less) that explains your system and shows it in action, and you will accompany the video by a short tutorial descriptive document. All teams will show their videos in our "Video Extravaganza" during the class' final exam period.

Important Milestones

  • Aug 29 - Team formation. Have the 3 or 4 members of your team set, or submit your name to Prof. Stasko to be placed on a team. We will have a Canvas page for listing teams and members.

  • Sep 5 - Initial project description. 1-2 page document listing project members and describing topic to be addressed and data sources/formats. You should address the following questions: Make sure to describe the data and its attributes in detail. I do encourage teams to run their ideas by Prof. Stasko before turning in this milestone. We will get initial feedback to teams by the following Tuesday. In some cases, we will recommend changing topic. If that occurs, we encourage the team to develop a new topic as soon as possible.

  • Week of Oct. 7-11 - Midterm Design Review & Critique. This is an opportunity for you to show what you have accomplished so far and to receive feedback about the project's progress. First, you will need to show the data you have gathered. Next, you should show a variety of design ideas for the visualization tool. We will be seeking a variety of different concepts and approaches. This is an opportunity for your group to be creative and come up with many alternatives. Be ready to answer questions about the purpose of the visualization system and who the users will be. Provide a list of analytic questions and queries that a person should be able to answer using this visualization. Finally, you should explain your plan for coding the system and how you will approach that.

  • Dec 9-10 (finals week) - Project demonstration. Each team will meet with the instructor and TAs for 30 minutes to demo their system and describe what they have done. You will need to submit through Canvas and bring three copies to the demo of a 1-page project overview document. The document should include the following items: topic, team member names, screen shot, problem description & project overview (1 paragraph), a link to the web page for running the system, and a list of the libraries and technologies you used. You should submit your code (exlcuding large data files) via Canvas by 11pm on Dec. 8.

  • Dec 12 - System video. Create a 5 minute or less video that illustrates the capabilities and example use of your system. During our final exam period, we will have a "Video Showcase" where each team presents its video and has a few minutes available to answer questions about it. You will need to provide a link to the video file to the instructor by 5 pm on Dec. 11, the day before. Do NOT email the actual large video file. Use mp4 format on the video at least 720p but not bigger than 1080p.

    Grading

    Once your topic has been chosen, each team is required to meet 1-1 with one of the TAs or the Professor at least once every two weeks. This can be a very valuable opportunity for you to get feedback about your design and implementation. Failure to follow this requirement will result in points being deducted from your project score.

    To determine your grade for the project, we will evaluate the overall quality of your project, including all milestones and components. The midway project review/critique will be worth 20% of the total grade on the project. It is important that you make progress on the project quickly. This is doubly beneficial as it allows more time for your implementation.

    The following questions will be important during that evaluation process.

    The grade earned for the project will be a team grade, that is, all 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

    It is extremely important to select an interesting problem with data that some group of people will care deeply about. I cannot stress enough how vital it is to start with interesting data. Find some topic that almost everyone cares about (e.g., baby names, feature films) or that some subset of people really care about (e.g., sports data, politics). Consider combining different data sets to produce a new composite data set of special interest. Such a fusion of data often creates a data set that people want to learn about. You may need to take a few weeks of the semester where you simply focus on data acquisition. That's OK. If you do not have your data nailed down by the poster session then you will be in deep trouble.

    Most of the really successful projects of the past from class have been in one of two styles, the single innovative visual representation or the multi-view, effective existing technique coordinated system.

    In the first style, your team will create 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. A few external examples of this type of project are:

    The second 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 first, 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 create 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. I don't consider this to be a very good example of an effective information visualization.

    Data

    Where do you get your data from? Be creative! You may have to scour the web and scrape some information. You may have to manually log and generate data tables. You may have to coalesce multiple different data sources. Part of your responsibility on the project is to come up with the data needed to drive your visualization. It is a crucial and vital initial step! Ideally, you should start with a problem or domain, find someone who knows more about it, and then look for data from there. Don't start your project simply by looking for any old dataset. Be more problem-driven than that. Below are some quick examples of places with nice data repositories. Also, consider organizations that run contests for developing visualizations. They can often serve as good sources of problems and data. Some examples are:

  • National Institute of Justice
  • Bank of England
  • Perceived vs. actual student interest, spatio-temporal analysis

    And finally, there are websites that can help you find data sets such as Awesome public datasets, Kaggle and Google's Dataset Search Tool.