Data Visualization Final Project
The goal of the final project is to create an interactive, multi-view visualization for a dataset of interest. This can either be in the form of an interactive dashboard-style app or a scrollytelling-style narrative visualization.
It is recommended to implement the project using D3.js, Observable and Quarto. Higher-level tools such as Altair, Vega-Lite, Observable Plot etc., can be used, but may be subject to higher standards for engineering and innovation, as specified in the evaluation criteria.
Alternative projects (such as static infographics) are acceptable with prior permission of the instructor.
Requirements:
At least 3 different views, each containing a different visualization component (e.g. 3 bar charts only count as 1 component).
At least 1 of these views must be an “innovative view” that is either (a) a significant extension of an existing visualization component, or (b) a novel visualization component. It cannot be a simple re-use of any visualization component you used in the in-class exercises. The extension could consist of an adaptation of the visual encoding, or substantial new interactivity features.
Multiple views coordinated with linked highlighting. A click/hover/selection interaction within one view must trigger a change in a different view. At least 2 views need to be linked unidirectionally. (Ideally, linked bidirectionally.)
At least 2 UI widgets that allow users to filter the data or update certain views interactively (e.g. dropdown, radio button, range slider, calendar).
Included text and captions should well explain the context of the visualization(s). A reader with no background in the subject should be able to understand and interact with the visualization.
The visualization should be designed according to the principles of good visualization discussed throughout the class.
Points will be assigned according to the breakdown below. A total of 24 points are available for the final project (not counting any possible awards).
Team formation (Due )
The projects should be completed in teams of 2-3 students. Form a team on Canvas by March 1st. Go to People -> Project teams -> + Group to register your group. Individual submissions will only be allowed in special circumstances and require prior permission of the instructor.
Please use the #team-formation channel on the course slack page to find group members if needed!
Proposal - 4 points (Due )
The goal of the project proposal is to outline your goals and plan for the final project, in order to asses the feasibility and scope of the project. As with homework, the proposal should be submitted as either an HTML or PDF file to Canvas. Each team should submit only a single proposal.
The proposal should consist of 4 sections:
Overview: In this section, describe the goals of the visualization that you aim to create. This section should aim provide answers to the following questions (you don’t need to answer them explicitly): Is your visualization trying to solve a particular problem, educate the public or explore a given topic? Why is this problem important? What is the intended audience? What do you expect a user to take away from your visualization? There are no restrictions on the topic for this project, it could be on current affairs, politics, climate, history, sports, or anything else that interests you.
Data: In this section you should identify the data that you will use to create your visualization. Specify, cite and link any data sources that you plan to use. Data sources should be public, unless otherwise cleared by the instructor. Briefly describe each dataset: what are the observations and variables? How large is it? What format is it in? Identify any pre-processing steps that you will need to take in order to use the identified datasets (parsing, joins, imputation, etc.). Explain how you intend to accomplish this pre-processing and what tools you will use.
Visualization description: At a high-level, describe the visualization that you hope to create. Make sure to describe what views of the data you will show, what interactions will be available to a reader and how these choices will help to accomplish your goals. It can be helpful to describe how you expect a user to interact with your visualization as a narrative.
Additionally, you should include at least one visual mock-up of the proposed visualization. This can be either a hand-drawn sketch or a mock-up made with software like Powerpoint, Photoshop or wireframe editors such as Balsamiq or Figma.
Milestones: Include an outline of your proposed work schedule for the project. Break down the steps necessary to create your proposed visualization, who will work on each task, how long you expect each to take and when you expect to complete each one. You should identify which features are central to your visualization and which could be considered stretch goals. Make sure to that your plan is set-up to have a draft visualization ready for peer feedback by the draft visualization deadline.
Draft visualization - 2 points (Due )
Submit a rough draft of your visualization to Canvas as an HTML (or PDF) file. You do not need to submit any report at this stage, but it should be clear what the purpose of your visualization is. This submission will only be graded for completion, but the more fleshed out and complete your visualization is at this stage, the more helpful peer-review will be!
Peer review - 2 points (Due )
Each student will provide feedback for another team’s draft visualization. Peer reviews should have the same style as for homework, though extra care should be given as the project is an important part of the grade!
As with homeworks, project peer reviews will be graded for completion, though extra weight may be place on project peer reviews when determining reviewer awards. Final visualization - 12 points (Due )
The final visualization should be submitted to Canvas as a single page HTML (or PDF for static infographics). The visualization should comply with all of the requirements specified above.
The submission will be graded according to the standard course visualization evaluation criteria.
Technical report - 4 points (Due )
The final part of the project submission is a technical report detailing your process in creating the visualization. This report will largely take the same form as the proposal, but updated to reflect the work that you actually did for the project. This report should consist of 5 sections:
Overview: In this section, describe the goals of the visualization that you created. How does this visualization help its viewers understand the world better? Why is the problem that your approached important and relevant? Think about this section as a pitch for why your visualization is worth spending time with. You should also detail how these goals changed from your initial proposal.
Data: In this section you should identify the data that you used to create your visualization. Specify, cite and link any data sources that you used. As in the proposal, you should briefly describe each dataset: what are the observations and variables? How large is it? What format is it in? Discuss the pre-processing that was needed to use each dataset and what tools you used to accomplish this step. Discuss any important choices that you made, such as how you filtered, transformed or imputed data.
Visualization description: At a high-level, describe the visualization that you hope to create. Make sure to describe what views of the data you will show, what interactions will be available to a reader and how these choices will help to accomplish your goals. It can be helpful to describe how you expect a user to interact with your visualization as a narrative.
Additionally, you should include at least one visual mock-up of the proposed visualization. This can be either a hand-drawn sketch or a mock-up made with software like Powerpoint, Photoshop or wireframe editors such as Balsamiq or Figma.
Technical challenges: Discuss the implementation of the visualization. Briefly summarize the tools that you used, why you chose them and any challenges that these tools presented. Discuss any technical issues that arose during the implementation and how you solved them. Submit all of your code along with the report.
Reflection: Reflect on the process of working on this project. Discuss whether your final submission accomplished what you set out to do in your proposal and any updates you would have wanted to include given more time. Briefly summarize what each team member contributed to the project. Share any thoughts about what you enjoyed or did not enjoy about the process of working on the project. Grading