Project 2

by Mike Gleicher on April 6, 2012

  • Request for comments and ideas – IMMEDIATELY
  • April 10 – Phase 0 – Initial Email
  • April 13 – Phase 1 – Proposal
  • April 20 – Phase 2 – Revised Proposal
  • April 27 – Phase 3 – Progress Update
  • May 4 – Phase 4 – Handin Plan
  • May 11* – Phase 5 – Final Handin

Note: this is very similar to Project 1. A few details have been changed (I will try to point out what’s different in blue).

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, we will give you additional incentive to work as a group: the expectations for individuals are the same for pairs.

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.

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.

Note for 838 students: at least one of your projects must have at least some implementation component.

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

On Tuesday, April 10th (any time, so we have it before Wednesday), you must send an email to the TA and Professor with your intention for project 2. Each person must send this (group or not). Please include:

  • Whether or not you want to continue with your project 1. If so, give a sentence or two idea of what it might be to continue. (which may be taken right from your Project 1 summary posting)
  • Whether or not you have an idea of something you want to do (if it’s not a follow on to project 1). It’s OK if you want help thinking of something – let us know and we will help you if we know early enough.
  • Whether or not you have a project partner in mind. If you do not have a project partner, we can help you find one. We will encourage people to form groups. You are not required to work with the same partner.
  • If you have any extenuating circumstances. For example:  If you really do want to work alone, let us know. If there is something about your project that precludes someone else helping out with it, let us know.
  • If you have any thoughts on the mechanics of the last project that we might use to improve this one.

If you have more detail, we are happy to hear about it.

You must have an “accepted” project plan by Friday, April 13th. Unlike Project 1, we don’t need to have the proposal “accepted”, but we need to get it from you before Friday, so we can get you feedback on Friday. If you get us a proposal late on Friday, we may not get you feedback until Monday, which will delay you starting the project.

The format for the project proposal is the same as project 1. 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 – Finalized Project Proposals/Plans

Unlike project 1, we are putting together the “revised plan” and the “accepted proposal”. By Friday, April 20th, we need to have “accepted” a detailed proposal than mixes the project plan from project 1 (as described below) and the acceptance process. Make sure to send us something early enough in the week so that we can iterate if necessary.

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 April 27th, 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

For project 2, we will handle the “handin plan” a little differently than project 1. It will be more of an arrangement to see how we will handle grading and archiving, since the end of the semester may be a little hectic. Details will be announced when it is due.

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

University policy says that projects must be due before reading period begins. So the project is Due on May 11th. University rules do not preclude me from giving a no-cost extension to the project deadline, so you may consider May 14th the real due date. Extensions beyond this are very difficult: we need to grade projects before the 17th so that people have their grades in time for graduation.

We will be a little bit more organized about project handin requirements this time, so it’s hopefully less confusing.

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.

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

Previous post:

Next post: