data visualization;
visualization for molecular biology
Project Structure
So, you're interested in doing a project in visualization. That's great. Your project should go through four phases:
proposal, implementation, iteration, and if applicable, writeup. All four of them are important for a successful
project, but of course there is some flexibility to accommodate unusual projects. During your project you will meet
either with me directly, or with one of my senior students or postdocs. In the latter case, I will also be involved
in a couple of meetings, but I'll leave the day-to-day business to the student/postdoc.
Here is my most important guideline: Throughout a project, I expect you to work independently and be
proactive. Try to understand the goals of what we are trying to do and don't just stick to a feature list that
I've suggested. You won't be evaluated by check-marks on a feature list, but on how good your project solves a
real problem.
Project Proposal
I will ask you to prepare a project proposal. For some projects, I will suggest a topic and provide the data, but
you can also suggest a topic and a dataset. The proposal should sketch the scope of your project and establish a
plan on how to achieve your goals. You should hand in your proposal by the end of week three or four of your
project. Your proposal should contain:
Background and Motivation. Discuss your motivations and reasons for choosing this project, especially any
background or research interests that may have influenced your decision.
Project Objectives. Provide the primary questions you are trying to answer with your visualization. What
would you like to learn and accomplish? List the benefits.
Related work. This can be brief for non-thesis projects, but for thesis projects I expect you to put in a
significant amount of research into what others have done before you start your own project. Plan on
writing 1000 words, include 5-10 figures and 15-20 academic references.
Data. From where and how are you collecting your data? If appropriate, provide a link to your data
sources.
Data Processing. Do you expect to do substantial data cleanup? What quantities do you plan to derive from
your data? How will data processing be implemented?
Visualization Design. How will you display your data? Provide some general ideas that you have for the
visualization design. Develop three alternative prototype designs for your visualization. Create one final
design that incorporates the best of your three designs. Describe your designs and justify your choices of
visual encodings. We recommend you use the Five Design Sheet Methodology.
Must-Have Features. List the features without which you would consider your project to be a failure.
Optional Features. List the features which you consider to be nice to have, but not critical.
Project Schedule. Make sure that you plan your work so that you can avoid a big rush right before the final
project deadline. Write this in terms of weekly deadlines.
I suggest you use google docs for your proposal and share a folder containing the document and other
project-related things with me. For thesis and paper-oriented projects, a LaTeX PDF possibly created and shared
via ShareLaTeX is a good alternative.
In the first phase we will meet at least weekly to get your project on track. I expect you to come prepared to
these meetings and present ideas and designs, and I expect you to have read the papers we discussed.
Implementation
In this phase, which lasts about 6-7 weeks, you should complete the bulk of the implementation for the project.
I will meet with you roughly bi-weekly, but you should give me weekly progress updates via chat/e-mail. You must
be proactive in this phase: if something doesn't work out the way we planned it, reach out. If you need help
with technical aspects: reach out to me and/or the team. A lot of projects go wrong in this phase because not
enough progress is made on a weekly basis. Other things that seem more urgent, like midterms or class projects,
come up and your research project is pushed back. While it's OK if this happens occasionally, it is imperative
that you demonstrate continuous progress. A good research project can't be crammed into the last two weeks, and
you will rob us of the very important iteration phase.
Formally, You must work in a github repository and commit your code regularly. I'd like you to track your
features and components using github issues, I'll also contribute issues when I test your prototypes. If
possible, you should also host your project at a URL that I can use to easily see your progress and give
feedback.
By the end of this phase, all your features should be implemented.
Iteration
Our vision and your prototype will probably diverge initially, and some things probably won't work out the way we
though they would. To address this, the third phase of your project is the iteration phase: you have largely
completed your implementation and we spend three weeks on changing and optimizing interaction, layout, design, etc.
This phase is critical for success: typically initial prototypes are very rudimentary, and only this iteration phase
can make it into a good project. New or changed requirements for you to implement will come up. A paper project will
often go through multiple of these phases.
Writeup
For non-thesis non-paper projects, this phase can be brief: here you should submit a two page-writeup on your
project. For thesis or paper projects, this can be quite long and be interleaved with the iteration phase. In a
thesis project, you will largely write the text yourself and I will give you feedback in one informal cycle before
you hand it in. In a paper project, things are a little different: I will be much more involved, and we'll go
through many iteration cycles. Depending on your goals, a paper project can be a ton of work, far exceeding what I
would expect for a lecture grade, but here the rewards are quite different. You really should be strongly motivated
for a paper project.