Visualization Project
A major component of this course will be the execution of a term
project. Potential project types include the design and demonstration
of a new visualization, a case study involving the visualization of actual
data for a specific purpose, or the construction of an interactive tool
for a novel type of data exploration. In some cases, projects will have
a client who influences project goals and requirements. In other cases,
the course instructor will serve as the project client. Students
may choose a project from a
list of suggested projects
or propose one of their own ideas.
Projects will generally be done by teams of a few students. Projects
will naturally be expected to require an
effort proportional to the number of team members. All members of a project
team will receive the same grade on the project, except in extraordinary
circumstances. It is also possible to do an independent project, but team
projects allow for a grander scope.
There are a variety of visualization packages and tools available for use
on your projects. In general, packages have different strengths and
weaknesses, as well as special purpose functionality in some. Selection
of a package (or the decision to use none) is at the discretion of the
team, though the course instructor is available for consultation on
package selection. We have one such package currently installed locally:
-
VTK -- general purpose visualization toolkit with interface bindings to
Tcl, java, and c++;
all source code is available and new modules can be added
Other packages are available on the WWW, often for free. Teams are encouraged
to investigate these options if they are not satisfied with the currently
available package. A few projects will be best suited for implementation
directly on a graphics library such as OpenGL, rather than as part of a
package.
Dr. desJardins' course page for
CMSC 691B: Research Methods contains many
resources useful for various phases of this project.
Phases
Projects will be structured as a sequence of phases. Completion of one
phase is not required for initiation of the next. In many cases, it will
benefit you to be working on multiple phases at the same time. For instance,
you might be working on the implementation of an initial prototype concurrently
with searching and reviewing the relevant literature.
Proposal
Describe your plans to meet these requirements in a proposal of approximately
1-2 pages. Give a five to ten minute summary of your proposal to the class.
Your proposal should describe:
-
the application, in order to motivate your project (a paragraph or so)
-
your approach to the problem. Include as much information about specific representations, user interface design, and code design as you can.
-
exactly what you will produce (ie, your deliverables). Describe the
capabilities of your project at each code release (alpha, beta, and final)
and at whatever intermediate points you choose.
-
planned extensions if time permits. Mark these clearly as extensions and prioritize them.
Annotated Bibliography and Revised Proposal
Revise your proposal in response to instructor suggestions.
Review the literature describing other approaches to problems similar to
yours, as well as research on which you will base your approach.
Describe how the approach taken in related work is similar to and
different from yours. Include complete references for all papers cited.
Your annotated bibliography will become the basis for part of your
final paper.
Correct spelling and grammar count, so check them before you hand anything
in. Additional information about writing annotated bibliographies can be
found at
http://www.cs.umbc.edu/~mariedj/691b/bib-guidelines.ps.
Alpha Release
Your initial implementation goal is to produce any visualization of your
data. Your representation and interaction techniques will not be nearly
as refined as you plan to make them, but you should be able to read in
a data set and produce an image showing some representation of the quantities
of interest. Submit an image (URL is fine) and short description (about a
page) of what the image shows and how it was produced. Give a five minute
presentation to class about your image and progress so far.
Beta Release
By beta release, your project should be a complete prototype with
all of the functionality that you have proposed.
Your beta release should be accompanied by a short description of bugs
you plan to fix and enhancements you plan to make. The third phase of
the development effort will center on refinements of your prototype.
Schedule a demo and meeting with your client and the course instructor in
order to present your beta release and discuss a revision plan.
Presentation
Prepare and present a 20-25 minute presentation of your project. Your
presentation should be professional enough to give at a technical
conference (e.g. organized approach, prepared slides, a short demo or
video if appropriate). Invite your client to your presentation and/or
schedule a private demo. Dress appropriately for a technical conference.
Final Release
Refine and enhance your prototype into a final release. You should attempt
to respond to all requests of your client and the course instructor. Your
final release should include:
-
all code produced
-
description of how the completed project corresponds to the proposal
-
a user's guide describing how to use your project
-
client evaluation form
Paper
Write an eight page technical paper describing your project in the
style of an IEEE Visualization Technical Paper (other
formats may be acceptable with pre-approval). Sections you should plan
to include are: abstract, introduction, related work (adapt your literature
review for this), implementation, results, future directions, and references.
Your paper should include figures and images as appropriate. A complete
draft of your paper, including figures and images, must be submitted
in advance of the final paper deadline. Your draft should be a complete
paper that is as strong and polished as you can make it. Aim for something
that you believe is ready for submission to a conference or journal. The
course instructor will serve as reviewer for these papers and make
suggestions as to how they might be improved. You may submit earlier, not
necessarily complete, drafts of your paper if you would like feedback earlier
in the writing process.
Correct spelling and grammar count in all submitted work, so
check them before you hand anything in.
Deadlines
Each phase of the project has a due date. In this way, as in others, this
project mimics work in the real world. Phases may be turned in
up to one week after the due date with a 20% grade penalty. Phases
will not be accepted more than a week late.
| Phase | Due Date
| | Proposal | Sept. 11
|
| Annotated Bibliography | Oct. 2
|
| Alpha Release | Oct. 9
|
| Beta Release | Nov. 13
|
| Paper Draft | Nov. 25
|
| Presentation | Dec. 9,11
|
| Final Release | Dec. 9
|
| Paper | Dec. 9
|
Contributions to Grade
Each phase of the project will make an individual contribution to your
grade. If a phase is missed, that portion of the grade will be a zero.
You should consider this a compelling reason to start your project early
and work steadily throughout the semester, rather than making a grand
push at the end of the semester.
| Phase | Percent of Final Grade
| | Proposal | 5
|
| Annotated Bibliography | 10
|
| Alpha Release | 5
|
| Beta Release | 10
|
| Presentation | 10
|
| Final Release | 10
|
| Paper | 10
|
| Total for Project | 60
|