Final Project
For the remainder of the term, you will pick an
appropriately-sized visualization challenge that involves all (or
most) of the steps in visualization. Your project should involve a
significant amount of coding, but you should leverage one or more
visualization or graphics-related software packages or toolkits. You
will present your final project through both an in class presentation
and a written document.
You are encouraged to work on the Final Project in a team of two.
Individual projects and teams with more than two people must be
discussed with the instructor and approved in advance (at least one week
before the proposal is due).
The Visualization Process
The process of visualization design and implementation can be roughly broken
down into a series of stages (with overlap! & order can be shuffled!):
-
Motivation & Problem Definition
e.g., audience, purpose, goals, interdisciplinary collaboration
Visualization Design
e.g., media, color, organization, layout, static vs. dynamic, creativity
Data Collection
e.g., data structures, file formats, parsing, performance & efficiency, databases, very large datasets, interdisciplinary collaboration
Visualization Execution
e.g., data structures, implementation details, visualization tookits/environments (VTK, OpenGL, etc.), performance & efficiency
Analysis & Validation
e.g., debugging, drawing conclusions from data, accuracy, precision, interpretation, useability
Visualization Revision
e.g., prototype & revise, iterated design, comparing before & after, solicit user feedback, formal user studies
Presentation
e.g., mixed media, descriptive titles/labels, concise and complete captions/companion text, elevator pitch, documentation
Brainstoring Ideas & Team Forming Post (Part 1)
Each student should 2 different possible projects. Even if you're
certain what you will choose for your final project, you still must
describe 2 different ideas. And even if you have confirmed your
partner for the final project, each student must make their own post
with their own individual ideas.
For each of your 2 ideas: Write a short ~200-300 word paragraph
describing the project. Be sure to answer "Who?" (your audience),
"Why?" (your research question), and "What?" (the finished
visualization). Describe the most significant and specific technical
challenge for the project. What is the potential "risk" for
completion? For example, acquiring the data, working with very large
data, implementing a new visualization design, implementing a novel
interaction scheme, or revising the visualization design to validate
your hypothesis. Include attachments or links with images and/or
references (if you have them). Make sure the scope of the project is
reasonable and can be accomplished during the final 5-6 weeks of the
semester.
At the bottom of the post indicate if you've already chosen one of
these ideas, if you already have a partner for the final project
(who?), if you're looking for a partner for one of these ideas, and/or
if you're open to working on some other topic.
Peer Feedback on Project Ideas (Part 2)
Read your classmates ideas posts. Post a response to 3 other
students' posts. Pick one of their proposed ideas and:
Ask a detailed question about the project idea,
Suggest a specific illustrative example or input dataset or data source,
Suggest a specific data structure or algorithm or library or toolkit to use for the project,
Suggest a reference (paper, book, URL, etc.), or
Suggest an extension or hybrid project related to your own idea or the idea of another student.
Let's try to distribute the responses so that everyone gets at least 2
responses of feedback.
Final Project Proposal
For the proposal document, focus on the high level motivation, purpose
and hypotheses, target audience, and data source for your project.
What are the expected challenges in creating this visualization? And
what are the key features of your visualization that you are most
interested in exploring?
The document should be a minimum of 500 words (equivalent of 2 pages
double spaced text) capturing your ideas for your final project.
Teams should work together in preparing this initial proposal and all
future documents & presentations.
In your own words, summarize the feedback you received from your
classmates. Be sure your proposal writeup answers their questions and
incorporates (as appropriate and feasible and by your choice) their
suggestions. Your proposal should also address the questions below:
-
What is your central research question? What is your hypothesis for
your data? Who is your target audience?
-
Story board your initial visualization design ideas. How will the
visualization allow you to answer your research question and confirm
(or disprove) your hypothesis? What different design choices can you
make to ensure your visualization is effective? How can you ensure
your visualization is memorable? What interaction do you envision for
your visualization? As appropriate for your project, describe a
sequence of examples (from the most trivial to moderately complex)
that you plan to test to demonstrate the features of your project.
-
What is your step-by-step list of tasks/timeline for this
homework? What are the core tasks that must be completed to
accomplish a basic visualization? What are the additional tasks that
you will tackle as time allows? If it helps, think about organizing
your tasks into the stages of the visualization process (above). If
this is a team project: What is the initial plan for division of
labor?
-
Risks & Limitations: What are the uncertainties in your proposal?
What steps are critical to the success of your project but might not
work out despite your best intentions and hard work? What's your
backup plan? Even if your plan goes perfectly, what are the
limitations of your project, what sorts of data will be remain outside
the scope of your technical implementation.
-
If this is a continuation or extension of a project you have already
worked on (in this course, in another course, for your research, or in
your spare time): What is the current status of that project?
Indicate which pieces are significantly new or large extensions to
your previous/ongoing work.
-
Find at least 2 traditional technical references (ideally academic
papers or books) that will guide your project. Teams of 2 should aim
for at least 3-4 technical references. Talk with the instructor if
you are unable to find sufficient resources. Summarize the
contributions of each reference and describe how your project relates
to this work. Use formal bibliographic format.
Note: You may need to be on RPI's VPN and/or use
the RPI Libraries RensSearch to
access many of these papers.
Final Project Progress Posts
Summarize your progress on your final project. Write up at least 200
words and note any unexpected challenges, or changes to your plans
from your proposal. Include at least one image or screenshot. (Or if
progress to this point has been on non-visual data collection, include
sufficient detail on that processing -- e.g., data statistics, etc.)
NOTE: If you're working on a team, each person should post their own
progress report focusing on their contributions as an individual to
the team project up to that point.
Final Project Presentation
Presentations will be during class the last two or three lectures.
Individuals will have 10-15 minutes to present, followed by 2 minutes
for questions from the audience (while we transition to the next
presenter). Teams of 2 will have 15-25 minutes to present followed by
3 minutes for questions. Attendance is mandatory on all presentation
days and everyone should give their full attention to their classmates
presentation and ask good questions. Students who miss class or are
late or using their laptops or phones during their classmates
presentations will receive a zero for their own presentation.
Final Project Report
Your final report should be formatted using pdf and follow a standard
technical writing format (e.g., motivation, related work,
algorithm/technique, results, conclusions, and bibliography). All
students are encouraged to format their final report for submission to
a relevant academic visualization or visualization-related conference
(e.g., IEEE Visualization or similar). The report must be a minimum
of 2000 words (equivalent of 8 pages double spaced text, excluding
figures & references).
Both the presentation and the written document should
clearly describe:
-
The motivation and audience for your visualization. What are the
goals you hope to achieve with your visualiation? What was your
research question and hypothesis?
-
Summary of related work, data sources, algorithms, and other
inspiration or background material. (Use proper bibliographic format
in the report.)
-
Visualization Design Evolution. What was your initial idea for the
visualization, what your initial plan to present, explore, or discover
with the data? How did the design change as you worked on the
visualization? Include intermediate screenshots and examples of the
visualization process.
-
What feedback did you get on the design from other people? (How well
do these people match your target audience?) How did your
visualization design or implementation change based on this feedback?
How could this visualization continue to evolve beyond this course
project?
-
Description of the core features/contributions and technical
implementation details/challenges. What visualization packages or
other pre-existing code did you leverage? What algorithms or data
structures did you implement?
For team projects: Who did what? (Note: Both presentation and
report writeup should be a joint effort).
How to Submit
Your final project submission to the
homework submission server should include:
-
The written report, suitable for archival posting on the course
webpage. All projects reports will be posted online by default. If
you do not want your project report posted online for any reason please send the
instructor an email.
-
A representative 200x200 pixel image (thumbnail.png or
thumbnail.jpg) for the project index page (for
example:
advanced graphics projects).
-
All code written by you. Do not include the executable or 3rd
party or open-source libraries. The instructor/TA will not be
compiling/running the code.
-
Samples of the input data, if it's "interesting". (Please don't
upload big data files, but include a snippet of the format you were
working with, if it's human readable).