Alexander Lex - Student Mentoring

Alexander Lex - Student Project Structure

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:

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.