This is a semester-long group project. I will facilitate some in-class discussions about project groupings, but you should explore ideas amongst yourselves as well. Students should work on project teams of 3-4 people. Project expectations will be adjusted according to group size (and all group members are expected to participate).

The idea of the project is to take the InfoVis knowledge that you are acquiring this semester and use in a new, creative effort. A real key to a successful project is to select a topic/data that people want to know more about, and that is of interest to your team. Interesting data and questions make for interesting visualizations (boring data is, well, boring even if visualized). Spend some time thinking about questions, topics, datasets so that you maximize your chances of having a good project at the end. I cannot emphasize this enough!

There are many sources of data on the web – financial, social/demographic, economic.  Census Bureau, CDC, CIA, WHO, UN, NBA, FAA, Many Eyes.  It is important that you choose data that is already in a usable form, such as CSV, that is easily imported into your visualization.  Otherwise you will spend time on data formatting etc. rather than on information visualization!!!

No matter what topic/data you choose, I expect a high-quality project. In particular, I’m seeking creative projects showcasing interesting ideas. A stellar project consists of an implementation of a (potentially new)  visualization/interaction design, or a collection of multiple views of the data and good interaction, designed to allow users to answer interesting questions and gain insights. But note that I am explicitly NOT expecting user testing, evaluation, or performance optimization. This is about visualization and interaction.

D3 is the preferred software development “tool” – we cover it in class, we have programming labs that use it explicitly, and it is becoming the de facto standard for InfoVis programming for the web. However, there are many other development environments and libraries that you’re welcome to use. You are not allowed to use software packages that build visualizations for you, such as the commercially-available applications that we cover in this class (e.g., Tableau). If you have questions about libraries that you want to use, please send an email to the instructor and TAs to check. As you’ll find out, there are numerous javascript libraries out there!

Below are the milestones (M) for the project. Each milestone counts towards your overall project grade (shown below).


There are 5 project milestones. Not all milestones require the same amount of effort and are worth different percentages of your overall project grade.

All deliverables need to be submitted on Canvas unless otherwise indicated. (see schedule for due dates – due before the start of class according to the schedule):

    • Milestone 0 – Team Information. Team name, team member (student) names, one or two sentence description of your topic/data. Each team member should submit this pdf to Canvas to complete milestone 1.
      Grading: 5% of total project grade
    • Milestone 1 – Initial Project Description. One-page pdf listing project members, project topic, data, and user questions to be addressed. The report should address:
      • What is the problem being addressed?
      • Where is the data coming from and what are its characteristics?
      • Who would be interested in understanding more about this data?
      • What questions would these people want to ask, and how would you vis help them answer those questions?
      • For each team member, give a short description of what the team expects that person to do. For example, roles might include: program/develop visualization (or specific visualizations or parts of the interface if you have thought about it at that depth), design sketches of the interface, create video, etc. Team members can have multiple roles.
        Make a pdf and submit it to Canvas. Only one team member needs to submit the pdf.
        Grading: 10% of total project grade
    • Milestone 2 – Midterm Design Review & Critique. This is an opportunity for you to receive feedback about different design ideas that you are considering. This milestone consists of finding a 15-minute timeslot the week this milestone is due (not the day it is due) to meet with the instructor/TAs. Signup instructions will be posted here. During this meeting, please prepare a presentation (slides or just showing what’s on your screen, either one is fine) to show us the following information:
      • Show us your data
      • Mention the tasks or questions your users should be able to answer
      • Show a variety of design ideas for the tool. These can be hand-drawn sketches. We are looking for a variety of ideas and options. This is an opportunity for your group to be creative and come up with alternatives that we can comment on to help guide your project. The less you show us here, the higher the chance of a poor outcome later.
      • Be ready to answer questions we may have.
    • Grading: 15% of total project grade
    • Milestone 3 – System Demo.  Each team will meet with the instructor/TAs for 15 minutes to demo your system. You will also submit (to Canvas) an updated 1-page overview document wit the following information:
      • Topic
      • Team member names
      • Screenshot of your visualization
      • Description of your problem and project overview (~1 paragraph)
      • A link to the running system (if publicly hosted)
      • A .zip of your root folder for your system. We should be able to host this locally and run your system if needed.
    • Grading: 50% of total project grade
    • Milestone 4 – Visualization Demo 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. Upload either a link to Canvas, or the video itself. Do NOT email the actual large video file. Use mp4 format on the video at least 720p but not bigger than 1080p.
      Grading: 20% of total project grade

Grading and Tips

Grading: We will evaluate the overall quality of your project, including all milestones and components as described above. By default, all team members receive the same grade for all milestones (and the overall project). However, if you slack off in sharing the workload of the project, you will receive a lower grade than your teammates. Because the project counts for a significant amount of your grade, slacking off is not a good idea. There is a group evaluation form that all team members will need to fill out at the end of the semester for this reason. If you have the impression that a team member is slacking off at any time during your project, you should first speak with them to address your concern. If that does not help, please notify the instructor and TA.

Great projects will typically require a significant amount of original work (coding, designing, reporting, video creation, bug fixing, …).  Some of the code will be new, some heavily-modified, some from libraries on the web.  I expect that each project have a combination of these. Functionality of great projects typically includes two or more simultaneous views of data with linking between the views, details on demand, and some means of selecting which aspects of the data set are displayed (maybe dynamic queries). Whatever interactions you provide should support users in answering questions about the data!

Poor projects will typically consist of existing code found on the web, yet simply applied to your data. The reports will be brief, and without the necessary detail to address the questions for the milestones above. The visualization design will consist of existing visualizations, where the data is simply applied to the known technique. The teams often will not form clear expectation of what team team member should do, and much of the work is put on 1 team member who is unable to complete the entire project by his or herself. The prototype will have limited to not interaction, and it is often unclear what questions a user is supposed to answer using the vis. Teams who create poor projects often do not meet with the TAs to discuss their progress, ideas, and status – thus lack guidance along the way and are surprised when major flaws are found late, resulting in a poor grade.

Additional tips can be found on Prof. Stasko’s course webpage.

I want each of you to succeed in your project, so make sure you and your team do the things that “great projects” do!

Examples of previous projects can be found here. Also, simply searching YouTube for 7450 projects usually turns up a good list of videos. You are welcome to use similar datasets as these projects, but don’t simply copy the design/implementation.