CSE512 Data Visualization (Spring 2019)

Final Project

The purpose of the final project is to provide hands-on experience designing, implementing, and evaluating a visualization method, algorithm, or tool. Projects will be carried out by a teams of 1-5 people. Your project should address a concrete visualization problem and propose a novel, creative solution. The final deliverable will be an implementation of the proposed solution and a paper written in the format of a conference paper submission. Though the majority of projects concern the development of a software artifact, design studies or evaluations of visualization techniques may also be acceptable projects — please talk to the course staff if you have questions.

In collaboration with partnering UW researchers, we have a number of final project suggestions for you to consider!

In addition, you will be responsible for participating in a design review and presenting your final results. At the end of the quarter we will have a public showcase for you to share your work with both your colleagues and invited guests.

Prior to starting your project, it is helpful to gain a sense of what goes into formulating a successful visualization project and to beware of common pitfalls. We encourage you to read A Nested Model for Visualization Design and Validation by Tamara Munzner. This paper is required reading later in the course, so you might as well get a head start!

Deliverables/Schedule

Team Registration & Project Proposal

The proposal should include the names of the members of your group and a short (1 to 2 paragraph) description of the visualization problem you plan to address.

Register your team in our Google Docs form. Similar to A3, we will use form responses to generate GitHub teams and repos for final submissions. Unless granted instructor permission, you should not work in groups larger than 4 people. If you are looking for project partners, please post to Canvas!

After the proposal deadline, we will acreate a repository in which you should put your code, project page, readme, and final submission.

Design Review

Develop a prototype of your project and publish your work in your GitHub repo. If applicable, publish any web-based visualizations using GitHub pages, similar to A3. Your work will be reviewed by the course staff to provide feedback on your design and progress. It is fine if your project is not yet in a fully "complete" state; however, by this point you should have made substantive progress, including working (if still rough) prototypes of your main visualizations and interactions.

Your design review materials should be pushed to GitHub by 11:59pm on Monday 6/3. Our class sessions on Tue 6/4 and Thu 6/6 will be used for design review appointments between your teams and the course staff.

Final Deliverables

Submit final deliverables in your GitHub Repo by 11:59pm on Tuesday 6/11.

The final deliverables include:

  • Poster: a PDF file of your poster from the presentation.
  • Paper: a 2-4 page paper (not counting references) written in the form of a conference paper submission. The paper should present your goals, related work, a detailed description of your system, and a discussion of your design.
  • Project Page: List title, team members, summary image, abstract, link to paper, poster, running instructions for the software and other optional materials. Host the page on Github Pages.
  • Readme File: In the repository's readme.md, include a breakdown of how the work was split among the group members and a commentary on the project process.
  • Code: an implementation of your system (source code and, if necessary, executable or build instructions).
  • Application: if feasible, publish your visualizations on GitHub pages.

Paper

The final paper should be in the style of a conference paper submission. The paper might include content that is typical of papers that appear at IEEE VIS, or ACM CHI. In particular it should contain:

  • Introduction – An explanation of the problem and the motivation for solving it.
  • Related Work - A description of prior research or work related to your project.
  • Methods – An explanation of the techniques and algorithms you used or developed.
  • Results – The visualizations your system produces and any data to help evaluate your approach. For example, you might describe a case study that illustrates how your visualization(s) to address your chosen problem.
  • Discussion – What has the audience learned from your work? What new insights or practices has your system enabled? A full blown user study is not expected, but informal observations of use that help evaluate your system are encouraged.
  • Future Work – A description of how your system could be extended or refined. We have read papers from a number of conferences throughout the course, but if you are having trouble figuring out how to write your paper, take a look at representative papers from the conferences listed above.

Your final paper should be formatted using the 2 column formatting of papers that appear at IEEE VIS or ACM CHI. Although there are some differences in format between these conferences, you are free to pick from either of these. If you need help finding a formatting template talk to us. Formatting templates for CHI are available online (use the Proceedings format, not the Extended Abstracts format). Your paper should be between 2-4 pages, not counting references.

Code

Your implementation should be able to handle typical data sets for the problem at hand, and run at speed compatible with the intended use (for example interactive visualization should run at interactive frame rates). Developing algorithms that scale to large data sets can be particularly challenging and interesting. However, the project is not a programming contest and mega-lines of code is seldom associated with a good project.

We are very flexible about the underlying implementation of your projects. However, we encourage you to use an available visualization toolkit (see Resources) that supports web-based publication. However, software projects must include some new code written by your group. You should not simply use existing software such as Excel, Tableau, Illustrator, etc. to create the visualizations for your final project.

Explain how can we run your code in the project page. If your application is web-based, include a URL and if possible publish it using GitHub Pages. Note that GitHub Pages only supports vanilla HTML/CSS/JS; it does not support server-side logic. You will likely need to use another hosting option for your application if you need server-side logic support. If your project is not web-based, provide detailed build and running instructions as needed.

Submission

  • Put your final paper pdf file and your poster in the final folder in your project repo's master branch.
  • Include a project page on Github Pages (your "docs" folder). Include title, team members, summary image, abstract, link to paper, poster, running instructions for the software and other optional materials. (Or in readme.md if you have privacy concerns.)
  • Include a breakdown of how the work was split among group members and a commentary on the research/development process in the readme.md
  • The final code (and, if not web-based, executable binary) should also be in the default branch. If your visualization is web-based, also publish it online using GitHub pages.

Final Poster & Demo Presentation

We will hold a public presentation of the final projects on Monday 6/10, 5-7:30pm in the Allen Center Atrium. The poster session will give you a chance to show off the hard work you put into your project, and to learn about the projects of your peers. Be prepared to give a short presentation (3 min or less) at your poster to both the instructors and visitors. You should include a demo of your project along with the poster. The poster will be considered a final deliverable, so don't forget to apply visualization design principles to your poster as well as your project! The final poster should convey the following information, though you are free to decide the poster layout and headings:

  • Problem: A clear statement of the problem your project addresses.
  • Motivation: An explanation of why the problem is interesting and important.
  • Approach: A description of the techniques or algorithms you used to solve the problem.
  • Results: Screenshots and a working demo, and an indication of how they effectively address your problem.

You can use CSE's poster printer to print the poster. See CSE Lab for instructions. If you are not a CSE student, please talk to the teaching assistants to arrange printing well in advance of the poster session.

Submission: Include a PDF file for your poster in your team's GitHub repo.

Grading

The final project will count for 40% of your final grade in the course. We will consider the novelty of the idea, how it addresses the problem at hand, the methodology you employ in doing the research, and your proficiency in implementing the idea. We will particularly focus on the usefulness of your results, as well as your choice of visualization and interaction design decisions.

Please do not submit late!