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, the construction of an interactive tool
for a novel type of data exploration, or in-depth evaluation of an existing tool or 
technique.  Projects will have
a client who influences project goals and requirements.  
Students
may request a project from a 
 list of suggested projects 
Projects will be done by teams of approximately five students. 
All members of a project
team will receive the same grade on the project, except in extraordinary
circumstances. Team members will be required to complete a peer evaluation 
of their teammates. If you have any concerns about your team dynamics, though, don't
wait for the peer evaluation to express them. You are encouraged to discuss any issues
first with your team and then with the instructor (if internal discussions don't 
resolve the issues to your satisfaction).  
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.  A few projects will be best suited for implementation
directly on a graphics library such as OpenGL, rather than as part of a 
package. The  Construction assignment 
is intended to help you choose an appropriate development platform. 
Dr. desJardins' course page for 
CMSC 601: Research Skills for Computer Scientists contains many
resources useful for various phases of this project 
(look in  the Handouts/Links column). Tamara Munzner's page 
on 
writing InfoVis papers  is also a great resource.
 
Phases 
Projects will be structured as a sequence of phases. Completion of one
phase is not required for initiation of the next. In most 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. Unless otherwise indicated (by the
word "individual"), deliverables are one per team.
Proposal
Describe your plans to meet these requirements in a proposal of approximately
1-2 pages.  
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.
- 
your plan for evaluating the usefulness of your project
- 
planned extensions if time permits.  Mark these clearly as extensions and prioritize them.
- 
expected roles and primary responsibilities of each team member.
Individual reflections  are also due on the proposal.
Submit your proposal as a pdf document by email to the instructor.
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/courses/graduate/CMSC601/Spring12/bib-guidelines.pdf.
Submit your biblio and revised proposal as a pdf document by email to the instructor. 
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 a pdf document by email to the instructor 
containing an image and short description (about a
page) of what the image shows and how it was produced. 
Beta Release
By beta release, your project should be a complete prototype with 
all of the functionality that you have proposed. The design and functionality of
your system should be described in a 3-4 page pdf document which will ultimately become
part of your final paper.
Your beta release document should include 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.
Come to class ready to give a five-minute demonstration to the whole class of the functionality 
of your prototype, as well as a more detailed demonstration to your assigned project team. 
Schedule a demo and meeting with your client and the course instructor
within one week of the beta release date in order to present your beta release and discuss a revision plan. 
Submit your beta report as a pdf document by email to the instructor. 
Individual reflections  are also due on the beta release.
Beta Review
Students enrolled in 636 will complete a review of the beta release of another team, according 
to the provided rubric.
Submit your beta review as a pdf document by email to the instructor. 
Paper Draft Review 
Students enrolled in 636 will complete reviews of the draft papers of two other team, using the 
the provided form.
Submit your paper draft review as a pdf document by email to the instructor. 
Poster
Prepare a technical poster about your project. An example poster template can be found 
here .
Submit your poster as a pptx document by email to the instructor. 
Presentation 
Present a 15 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.
Be prepared to answer questions. 
Submit your presentation slides by email to the instructor. 
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
- 
all processed data sets
- 
description of how the completed project corresponds to the proposal
- 
a user's guide describing how to use your project
- 
all source materials for your paper (including figures)
Individual reflections are also due on the whole project.
Paper
Write an nine 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 annotated
bibliography 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
by the draft 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 and selected fellow students 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.
Submit your final paper as a pdf document by email to the instructor. 
 Deadlines 
Each phase of the project has a due date. In this way, as in others, this
project mimics work in the real world. For each deadline, the due time is 10am (ie, before 
the beginning of class). 
| Phase | Due Date | | Proposal | Sept. 21 | 
| Alpha Release | Oct. 3 | 
| Annotated Bibliography and Revised Proposal | Oct. 5 | 
| Beta Release | Nov. 16 | 
| Beta Review | Nov. 28 | 
| Paper Draft | Nov. 30 | 
| Poster | Dec. 5 | 
| Draft Review | Dec. 5 | 
| Presentation | Dec. 12 | 
| Final Release | Dec. 12 | 
| Paper | Dec. 12 | 
 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 | 5 | 
| Alpha Release | 5 | 
| Beta Release | 5 | 
| Beta Review | 5 (for those in 634) | 
| Poster | 5 | 
| Draft Review | 5 (for those in 634) | 
| Presentation | 5 | 
| Final Release | 10 | 
| Paper | 10 | 
| Total for Project | 50 |