You will form four-person project teams (three people in a few cases and by instructor approval only). 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. You will need written approval from the instructor to use any language other than d3. Approval is usually only given when projects plan to use devices that require specific languages and toolkits (e.g., tablets, watches, VR, etc.).

If you slack off in sharing the workload of the project, you will receive a lower grade than your partners. 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 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.

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 1 – Team Information. Team name, member names, one or two sentence topic/data, URL to the GitHub repo. Start a GitHub repo with this information (you can pick one team member to host the repo). Each team member should submit a pdf with this information on t-square to complete milestone 1.
    • 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.
    • Milestone 3 – Initial Project Description. One-page pdf listing project members, project topic, and data to be addressed. Your team needs to meet with one of the TAs to discuss scope and idea before this submission is due. State which TA you met with. It does not have to be a long meeting, but you should discuss what you plan to do, how you plan to do it, etc. 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.
    • Milestone 4 – Extended Project Description. A max two-page elaboration on your initial project description, to 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 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. Remember that there will be a in-class peer review session of these project descriptions, so bring a hard copy on the day listed on the syllabus.
    • Milestone 5 – Progress report. Revisit your two-page milestone 3 report, updated if anything has changed.  If things have changed, make it clear what has changed and why. Your Milestone 4 report should include: 1) paper sketches of the information visualizations you expect to provide and listing of the interaction methods you expect to implement; 2) What software/libraries you will be using; 3) discussion of how the data will be organized and accessed, and a description of how your team is dividing up programming, report writing, and video creation responsibilities for carrying out the project. The new material should be about 5 pages, and MUST include at least two annotated screen sketches (paper/pencil OK, photoshop mockups are also fine). Have one of your team members submit this on t-square.
    • 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.
    • Milestone 7 – Final Software Deliverable. 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.
    • Milestone 8 – Video Presentation. 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.

The Milestone 7 final report should include:

  1. Goals of project, as in milestone 3 but possibly revised (if so, indicate revisions).
  2. Examples of questions your users should be able to answer by using your project.
  3. Source of data.
  4. Four screen shots; also explain what is going on in them.
  5. InfoVis toolkit/libraries you used, and your evaluation of how useful it is. This will mostly be about d3, but you might have pulled in some other libraries to help with mapping, text parsing, etc.
  6. Who did what, and what you learned as a group about project teamwork.
  7. The entire report should be no more than 10 pages if you use lots of figures, but no less than 5 (5-7 is a good guideline).


Grading: We will evaluate the overall quality of your project, including all milestones and components. A grading sheet is at the end of this syllabus.

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

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

Team Project Grading Criteria
CS4460 Information Visualization

Project is 35% of your course grade
Grading on a 35-point scale

Project Name:                                                Grade ___/35

Project Team:

___/1 Point: Was the mid-way progress report submitted and provide the requested information?
___/5 Points: Is the visualization an effective representation of the data such that it can support answering your analytical questions about the data?
___/3 Points: Aesthetics of the InfoVis – colors, layout, fonts, etc.
___/9 Points: Overall scope/ambition of the working project:

  • Multiple simultaneous views of data (on screen at same time).
  • Quality and number of interactions (such as details on demand, linking/brushing, animation, semantic zoom, fish-eye views, dynamic queries, etc.). I don’t expect you to do all of these, but would expect DoD plus at least two others.
  • Complexity of the data set (a 5 variable, 20 case data set is not nearly as challenging as 10 variables with 1000 or more cases).

___/9 Points: Did your team do more than copy and paste imported code to complete the project? You are encouraged to copy and paste some code and to use libraries, but I expect your team to be “adding value” by writing and substantially modifying a non-trivial amount of code on your own. Projects that have an appropriate scope/ambition typically involve well over a thousand lines of code.
___/4 Points: Was your video presentation an effective discussion and portrayal of the project?

  • ___/1 Start with big picture overview of what your data is about
  • ___/3 Shows how at least three questions can be answered

___/4 Points: Does your written report follow the guidelines and help the reader understand your overall goals and how your system achieves those goals?

  • ___/0.1 Goals of project, as in the midterm progress report but possibly revised (if so, indicate revisions in italics).
  • ___/0.7 Examples of questions your users should be able to answer by using your project, as in the midterm progress report but possibly revised (if so, indicate revisions with italics).
  • ___/0.1 Source of the data.
  • ___/0.5 Four screen shots with captions explaining what is going on.
  • ___/0.4 InfoVis toolkit you used, and your evaluation of how useful it is.
  • ___/0.2 Who did what, and what you learned as a group about project team work.
  • ___/2.0 Commented source code, including highlighting that indicate what code was imported and used as is, what code was imported and modified, what code was written mostly or completely from scratch.

CS 4460 Project Team Self and Group Evaluation

Each project member answers these questions via an on-line survey – not on this form – you will receive the URL to use through a t-square announcement

Your name:                                                Project name:

The goal is to understand your role in the group project, and the role of others.  For each question, your self-evaluation is first, then your evaluation of each of your partners.  Enter your partners’ names in the places provided.

For each question, after each name circle whichever number applies, using this scale:

1 – way below average
2 – below average
3- average
4 – above average
5- way above average

Effort:  How would you rate the relative effort (that is, time commitment) of each team member:

My effort          1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5

Communications:  How would you rate the communications of each team member (responding/initiating email, coming to meetings, contributing to meetings)?

My effort          1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5

Flexibility/teamwork:  How would you rate each team member on their willingness to pitch in and do whatever needed to be done (as opposed to “I can only do this”)?

My effort          1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5
<>  1    2    3    4    5

Specific tasks you carried out on the project:

Other comments: