CSE412 Intro to Data Visualization (Winter 2021)

Final Project

The final project will provide hands-on experience designing, implementing, and deploying interactive visualizations for the web. The final deliverable will take the form of an explanatory narrative, deployed as an interactive web page using GitHub Pages.

The final project theme is data visualization for social good. How might data visualization help us better understand the workings of our society or our physical world?

Your project must visualize one or more publicly accessible datasets of social or scientific importance. For example, you might select data relevant to the functioning of local, national, or global communities. You are free to choose a specific domain of interest. Example topics include health, transportation, economic development, climate, migration, humanitarian aid, legislative voting records, and communicating scientific research. You must identify a target audience, which may be general (residents, voters) or specialized (scientists, policy makers). Talk to the course staff if you have any questions regarding the project theme.

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

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!

Project Milestones

The final project consists of the following milestones:

  • Proposal (Fri 2/12, 11:59pm). Propose your chosen topic, dataset(s), and team members using this registration form (one per team). We will create GitHub repos for each project based on this sign-up form after the due date. Teams should include 3-5 students. If you are looking for team members, consider posting to the Ed team discussion thread.
  • Initial Prototype (Fri 2/26, 11:59pm). Develop an initial prototype of your project and publish it using GitHub pages. This prototype will be used by the course staff to provide feedback on your designs. It is fine if your project is not yet in a "complete" state; however, by this point you should have the structure of your project laid out, working (if rough) prototypes of your main visualizations and interactions, and at least basic descriptive text. Each team should submit the URL for their project on Canvas.
  • Demo Video (Wed 3/10, 11:59pm). You must produce a demo video (not to exceed 2 minutes in length) that introduces and explains your project. Your video should take the form of a narrated demo of your project, and may include additional content as you see fit. We will share the videos in class on 3/12, so be sure to avoid a late submission. More information about preparing the video is available below.
  • Deliverables (Mon 3/15, 11:59pm). Publish your final project web page and submit the URL on Canvas. You may make touch-ups to your page based on feedback from our video session. More information about preparing the final project deliverables is available below.

The project prototype and final deliverable will be submitted and deployed on the CSE 412 GitHub organization. You will be assigned repositories after submitting your proposal. Your video should be posted to YouTube, and a URL to your video must be submitted via Canvas.

Final Project Deliverables

To complete your final project, you must provide two primary deliverables:

  • A demonstration video (<= 2 minutes in length) that communicates your project goals and visualization designs. The YouTube URL is due Wed 3/10, 11:59pm on Canvas.
  • An interactive visualization web page that provides an explanatory narrative of your chosen topic. Your code and website are due Mon 3/15, 11:59pm on GitHub.

Interactive Visualization Webpage

Your final project visualizations must be published on GitHub pages. For your visualizations you are free to use any web-based libraries, including but not limited to: D3.js, Vega, Vega-Lite, and REGL. Be sure to properly cite any web-based libraries or third-party materials used for your project clearly on your webpage. To publish your webpage using GitHub pages, place all necessary files in the "docs" subfolder of your repository.

The goal for your final project webpage is to produce a polished explanatory narrative of a topic of interest. We will provide a basic template of a webpage in your initial GitHub repository, but feel free to make any changes to the structure of style of the page to better present the information and tell your story.

Video Presentation

In addition to your interactive web page, each team must produce a short demonstration video (no longer than 2 minutes!) introducing your project. Your video must communicate the specific topic and goals of your project along with your visualization designs. We expect most videos will use a mixture of static slides and interactive screen capture with overlaid narration. You might consider showing your web page as published on the web. Alternatively, you might create a stripped down version that removes text in favor of spoken narration, bringing more focus and screen space to your visualizations. The initial frame of your video should include your project name and your team members' names.

Be sure that your video communicates how your visualization designs enable a better understanding of your chosen data. Do not simply enumerate the various features you implemented: focus on what viewers can learn from your visualization(s).

Please carefully read the CSE412 video production guide for details on how to design and record your video. Your videos should be in MPEG4 (.mp4, .m4v) format. Use appropriate compression to ensure your video file is not unnecessarily large. You will post videos online, so we encourage you to put your best face forward to the world!

Your demo video must be published on YouTube. In addition you must submit a URL linking to your video via Canvas by Wed 3/10, 11:59pm. We will have a video showcase during our last lecture session on Fri 3/12, so be sure to avoid a late submission.

Final Submission Details

The URL for your final video must be submitted on the Final Project Video Canvas page by Wed 3/10, 11:59pm. This is a strict deadline, as we will be sharing videos in class on Friday.

All changes to your final project code and website must be submitted to your project GitHub repo by Mon 3/15, 11:59pm. To complete your submission, submit the URL for your project web page to the Final Project Deliverables Canvas page.