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. I want the teams to be balanced in terms of background and experience. Some of your HW assignments will also help in the formation of teams.

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).

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 program.  Else 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 design with 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.

D3 is the preferred software development tool – we cover it in class, we have programming assignments that use it explicitly, and it is becoming the de facto standard for InfoVis programming. However, there are many other development environments 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). Approval from the instructor is required when projects plan to use devices that require specific languages and toolkits (e.g., tablets, watches, VR, etc.). However, that doesn’t mean you shouldn’t try it. These devices offer interesting interaction and display options that can make for really nice projects!

Teams sizes are set to 4. Exceptions are made to allow 5 or 3, but you’ll need instructor approval before doing so. 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.



There are 8 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 T-Square unless otherwise indicated. (see schedule for due dates – due before the start of class on the day listed):

    • Milestone 0 – Project Idea or Response to Idea on Piazza.  You will need to use Piazza to post either a) a new idea for a project, or b) respond to an existing idea of a project saying you’re interested in joining the team, as well as give input (feedback, improvement, “have you thought of x?”). If you decide to start a new project idea, make sure you include what data you would use, what the topic is, what the questions are that you would expect someone to be able to answer from your vis, and what skills you might want in your team members. For example, are you really good at design and would like someone who is a strong programmer? Are you a strong programmer but would like someone who knows a bit about HCI? While most people have multiple skills, diversity in teams typically lead to the strongest projects. To submit this milestone, post on piazza (either a new project idea or a reply), take a screenshot of it, save it to a pdf, and upload it to Milestone 0 on t-square. This milestone is mandatory of all team members, even if you already have a project idea in mind. It does not count towards your project grade, as it is an individual assignment.
    • Milestone 1 – Team Information. Team name, member names, one or two sentence topic/data, URL to the GitHub repo (if you plan to use GitHub — probably a good idea). Each team member should submit a pdf with this information on t-square to complete milestone 1.
      Grading: 2% of total project grade
    • Milestone 2 – Get your data. Submit a screenshot showing the data on your computer. Simply take a fullscreen screenshot showing the data open (in an editor of your choice). Make sure that your taskbar with the time and date is visible. Paste the screenshot into a pdf. Include your team name and all team members on the pdf. Have one of your team members submit it on t-square.
      Grading: 3% of total project grade
    • Milestone 3 – Initial Project Description. One-page pdf listing project members, project topic, and data 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, present in class, make poster, etc. Team members can have multiple roles.
        Make a pdf and submit it to t-square. Only one team member needs to submit the pdf.
        Grading: 15% of total project grade
    • Milestone 4 – Poster session. This is an opportunity for you to receive feedback about different design ideas that you are considering. Each team will create a poster showcasing different ideas, and will receive feedback from a variety of people. The goal here is not to produce glossy, glitzy posters. Instead, you should illustrate a variety of design ideas sketched out well enough so that other people can understand them and provide feedback and comments. Your poster is required to have at least two “innovative views” or two “multi-coordinated views” styles of visualization designs. Sketches (by hand), Photoshop renderings, or prototypes are ok at this point. It should explain the tasks, dataset, and questions users can answer. Explain the visual representations and the interaction (both are important to InfoVis). This explained through the lectures in class. This is an opportunity for your group to be creative and come up with many alternatives. All team members must be present to present your physical poster to the TAs, instructor, and other vis experts.
      Grading: 10% of total project grade
    • Milestone 5 – Project Design Document. You should produce a multi-page document that provides more detail (than the initial project description) about the purpose of the visualization system, who the users will be, and what data will drive the visualization. Describe the data attributes in detail. Provide a list of analytic questions and queries that a person should be able to answer using this visualization. Next, show different design ideas for your problem, leveraging the work that you did for the poster session. Briefly explain the ideas behind each design. Finally, based on your work-to-date and feedback from the poster session and other sources, describe the design (or combination of design ideas) that you are leaning toward at this point in the process. (After this point you will settle on a design, and we will provide feedback to help with that.) Topics of this document should include: characterization of your target user (lay person, political analyst, sports junkie, movie executive, etc.); 3 or 4 questions that users of your system should be able to investigate/answer; your data source and format of the data (spread sheet, SQL data base, etc.); list of data attributes and items in your data (e.g., MPG, price, country of origin, calories, etc.); text description of the at least two different views/visualizations you plan to include; and a listing of interaction methods you expect to implement. Have one member of your team submit this in pdf format to t-square. The report should include your team name and all team member.
      Grading: 15% of total project grade
    • Milestone 6 – Live Demo. Demonstrate (partially) working system to a TA.  We’ll provide feedback to help you improve your system prior to your project presentation and final report.
      Grading: 15% of total project grade
    • Milestone 7 – Final Software Deliverable and Video. Final executable software is due along with a final report describing the system.  Upload the software package and final PDF report to T-Square. See below for additional details. The report should be 5-7 pages (longer if you want to include lots of images, but a max of 10 pages), and can include material from previous reports. Your software should be a link to your GitHub repo.Create a 3-5 minute YouTube narrated video demonstrating your project. Optionally, include your names at the video’s start. In the video, first give a general introduction to your system and then work through answering the user questions/tasks that you posed in your project plan. Make sure to include who your audience is, what the goals are, and how your project addresses those goals.  On the day of the presentation, you’ll show the video to everyone and answer questions about the project and your design decisions.
      Grading: 40% 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.

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.