The purpose of the final project is to provide hands-on experience designing, implementing, and evaluating a visualization method, algorithm or tool, or conducting a piece of visualization research. Projects will be carried out by a teams of 1-3 people (TQE students may work in teams as well). 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 addition, you will be responsible for participating in a design review and presenting your final results. Due to COVID-19 disruptions, the specific format for the design review and final presentation are to be determined.
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.
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 A4, we will use form responses to generate GitHub teams and repos for the final submissions. Unless granted instructor permission, you may not work in groups larger than 3 people. If you are looking for project partners, we have posted a team finder spreadsheet in Piazza.
After the proposal deadline, we will add you to a team and create a repository in which you should put your code, project page, readme and final submission.
Develop an initial prototype of your project and publish your work in your GitHub repo. If applicable, publish any web-based visualizations using GitHub pages, similar to A4. Your work will be reviewed by the course staff and critiqued by your peers (similar to A4) to provide feedback on your designs and progress. It is fine if your project is not yet in a "complete" state; however, by this point you should have made substantive progress, including working (if rough) prototypes of your main visualizations and interactions.
Your milestone materials should be pushed to GitHub by 4/26 at 11:59pm ET. Our class sessions on Mon 4/27 and Wed 4/29 will be used for design review presentations.
All final deliverables should be in your GitHub Repo. All deliverables are due 11:59pm, Wed 5/13. Please also complete the submission form.
The specific final deliverables include:
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. Templates for VIS and CHI are available online. Your paper should be between 2-4 pages, not counting references.
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.
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!