Project 1

by Mike Gleicher on February 16, 2012

  • Request for comments and ideas – IMMEDIATELY
  • February 27 – Phase 0 – Initial Idea Email
  • March 2 – Phase 1 – Proposal Accepted (this means you need to have it worked out ahead of time)
  • March 9 – Phase 2 – Revised Plan
  • March 16 – Phase 3 – Progress Update
  • March 23 – Phase 4 – Handin Plan  (really 25th)
  • March 30 – Phase 5 – Final Handin

You are encouraged to work with a partner. If you would like us to help you find a partner, let us know. We’ll use these to help find people with similar interests and/or complementary skills. You are allowed to work in a group of three.

For this project, the goal is to give people enough flexibility so that they can learn the kinds of things they want to learn in the way they want to learn it. This is hard because of the wide range of backgrounds in the class.

There will be two five week projects in this class, each with similar structure (the second one may be revised based on the experience with this one). You will have the option of having the second project be a follow-on to the first project (so it turns into one big project). However, the first project will still be handed in and evaluated independently.

Note: for 638 students, the project expectations are lower, but we still require you to do something for both projects. This was a slight change from the original course announcement.

There are several different elements for projects…

  1. Literature Review – what is the literature on the visualization "science" for this problem?
  2. Practice Review – what are examples of how people have dealt with the problem?
    In #2, you are finding examples (e.g. pictures in a domain paper where someone had the problem you are addressing, or examples of tools people are really using). You should discuss how well the visualizations "work" in their context.
  3. Design Study – can you characterize the problem? Can you explore how to design a tool that really addresses it (or survey how existing tools really address it)?
  4. Implementation and Evaluation – can you build something to address a problem / demonstrate a technique? Can you assess if it’s any good?
  5. Learning about a Tool – it might be your objective to learn about a particular tool. This implies not only learning about the tool but also being able to talk about it (what its good for, …) Note that this is corrected for your level. That is, if you’ve never programmed before, learning some basic scripting to help process your data might be a big deal – if you’re an expert programmer, you need to pick something more ambitious.
  6. Something totally different (er, really creative) – I am open minded to what might make a good project.

Projects might be "Data Projects" (problem-driven) – centering around a particular data set (or type of data set) that is either particularly interesting, particularly hard, or both. You might choose a hard standard data set, a data set that you particularly care about (especially if you’re a domain scientist).

Projects might be "Visualization Topic" Driven – center around a method or problem type that you are particularly interested in. For example, you might be interested in graph layout or volume visualization or applying non-linear regression.

It’s up to you to mix and match.

Some ideas…

  • You might pick your pet data set and do a literature survey of the available methods for it, and a critique of the current practice.
  • You might take a particular data set, and create a visualization of it. Doing this involves understanding the design choices in making an effective visualization. It may require a non-trivial amount of “data scraping” to gather the necessary data and get it into the form you need to make the visualization. Note: if you choose a design focused project, you will need to provide some discussion to let us know that there is enough analysis/design process involved.
  • You might pick some interesting algorithm and try to implement it in an unfamiliar development environment. There will be some data involved, but its mainly to illustrate other things.
  • You might pick some interesting visual design and do a literature survey of it.
  • You might try to build tools for exploring a particular data set (which combines design study and implementation).
  • You might look at typography for labels and text in diagrams from both the artistic side (what makes for good typefaces for this) as well as the practical side (how do you use typefaces that show up reliably in the web browser).

Novelty is welcomed – trying to come up with a new design for an underserved problem, or a new algorithm that is particularly suited to a particular situation, or the analysis of a new dataset. But novelty isn’t necessarily required – provided that something is new to you. Saying you want to implement a classic algorithm so that you can understand it (and maybe learn a new toolkit for implementing things) is fine too.

I am very open minded to the ways these various kinds of components may be put together. There is no requirement that a project involves programming – it might be purely a survey, or analysis exercise, or even paper designs. Of course, this just moves efforts between categories – a project with a big implementation component won’t have as much of a literature review component.

Your project does not have to be unique. I am open to (in fact would encourage) different people/groups who are not working together to work on similar projects. It’s always interesting to see how different people tackle a similar problem.

Phase 1 – Project Proposals

But, with this flexibility comes a responsibility for you to work out with me ahead of time what you want the project to be. You can’t just email me something on the deadline – it will probably take some iteration and dialog.

I (or really we, since Michael the TA has lots of ideas too) am happy to give you advice. Providing partial project ideas is fine – providing you do it early enough. If you tell me "I want to write a survey" or "I want to implement some algorithm in D3" or "I want to do something with this network data that I have," I’ll try to suggest something. We are happy to do some matchmaking to help people form project teams.

We can suggest papers to read (either for topic ideas, or to seed a survey  or …). We can suggest tools you might want to learn about, algorithms you might want to implement, sources of data sets to explore, … I am willing to pick a project for you – but you have to ask. And at least give me some ideas as to what you might prefer.

By Monday, February 27th, you need to have at least initiated a dialog with me. I will hold extra office hours that week to discuss project ideas. It’s best to get me some ideas early, so I can help you develop them. If you want help identifying a partner, be sure to tell us by this deadline – we’ll try to pair people up (who want to be paired).

You must have an "accepted" project plan by Friday, March 2nd. This means we need to have iterated enough that we are both happy about it. If you send me something at 5pm, there isn’t much opportunity to do this. I might reply by assigning you to something that you may not like. Your creativity and process is part of what you’ll be evaluated on.

A project proposal should clearly identify what you are going to do – both in terms of topic as well as the actual tasks that you expect to do. It should articulate your goals – what you expect to create, the problem you intend to solve, what you hope to learn. The proposal should also have some idea of how you intend to do things, and a rough plan. Your initial plan might involve doing some literature search and design exploration in order to come up with a more detailed plan. But you should at least have some sense of where things are going.

Phase 2 – Project Plans

When you do your initial proposal, you might not know enough to really flesh out the plan. For example you might decide that you are going to do a literature survey on a topic and find that there isn’t enough literature to survey, or propose to explore some data set that you find you can’t get access to, or to do something with a tool that is shown in its example documentation (so it’s too easy).

For the March 9th deadline, you need to have at least started on the major tasks of the project. Started to find the literature you intend to review, identified some designs to critique, obtained the data that you want to explore, read some of the documentation for a tool you want to learn, …

You project plan should be a written document that includes everything in your proposal, updated, and with more detail. You should have an initial reading list, initial ideas about the design, … Please send this document by email to both the TA and the Professor. When we accept your project proposal, we will give you some more specifications on what we expect in your plan.

Note: your proposal and plan are both part of how you will be evaluated.

Phase 3 – Progress Update

By the end of the Day on March 16th, you need to send us (both the TA and the instructor) a progress update – explaining what you’ve done, and how well things are going.

Part of this is to make sure that you really are working on the project, and not just waiting for the last minute. But a more important part is for us to catch any problems and try to make  corrections to plans so everyone ends up with something good.

Phase 4 – Handin Plan

By the end of the Day on Sunday, March 25th, you need to send us (both the TA and the instructor) a "handin plan" – at this point, you should be able to tell us what you will turn in, and what you expect to have completed.  (we were going to make the deadline Friday, but realistically we’re not going to look at them until Monday morning – we’re still listing the deadline as Friday for symmetry).

Some of this is pragmatic (we need to come up with a mechanism for you to get stuff to us – which might be challenging if you’ve build software and/or requires access to a big data set). Some of this is more project related -  we want to make sure our expectations are correct (if you are doing too little or being too ambitious).

This is also a chance for us to decide how we’ll evaluate your project. Both practically (for example, if you built software we might want to arrange a live demo) and content wise.

Phase 5 – Handin

Your project is due on Friday, March 30th. The following day is Spring Break. Allowing students to work on a project over break gives an unfair advantage to people who don’t want to take a break.

I will grant extensions until Monday, April 9th. You must explicitly ask for it. Also, there will be a higher level of expectation: if you choose to do an extra week of work, you should get more done than people who don’t choose to. (you either take the whole week extension or not)

You project handin will include a written report component, as well as any "artifacts" (images, programs, …) that you create. You will also need to write a self-evaluation. All this will be described in more details closer to the deadline. Part of the idea is the right thing to turn in, and the right way for us to evaluate it, will depend a lot on what you choose to do.

For implementation projects, we might do in person demos (if they are appropriate). These will be scheduled for after break, and be for the Professor and TA. However, all materials are due before the deadline.

The deadlines are fairly strict, since we want to move on from this project to the next one.

Some Ground Rules

You must only work on data sets that you can share with the class. Things that must be kept secret should be avoided.

We would prefer if you only used tools that we have access to. If you work in a lab that has a copy of some commercial software that you want to use, ask us.

We can provide Tableau licenses.

You can write programs in any language you want. You can run things on any system that you want. With the limitation that you must be able to demo it to us. We’d prefer if you built things that we could look at over the web, or that ran on the computers in CS. But, if you want to bring a demo on your laptop, that works too.

If you want to learn/use some tool we’re not familiar with, we probably won’t be able to help you much. (But we encourage that since we’ll learn about it too).

Some resources:

Rather than start to list sources of data, papers, and ideas, I’d prefer that people start telling me what they are interested in, and I’ll steer the list towards that.

This project is evolved from the last edition of this class. The web page has a number of potential project ideas.
https://pages.graphics.cs.wisc.edu/765-10/archives/1182-visualization-projects.

This project was inspired by the class project format in Tamara Munzner’s class. That project description page has lots of good sources of project ideas:

UBC class project http://www.cs.ubc.ca/~tmm/courses/533-11/projectdesc.html

Previous post:

Next post: