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.
Note: Final projects must be interactive!
You are strongly 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.
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 and Cleaning (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)
Final Project Ideas
Post your final project ideas to the Submitty Forum. Include attachments or links with images and/or references (if you have them).
Read the posts of the other students, and give constructive feedback to at least 3 other students/teams by replying to their post on the Submitty Forum. Ask a question, give a suggestion, post a link to a related paper or visualization, suggest a toolkit or additional source for data, etc. Each teammate should make their own feedback replies. You cannot give feedback to your own team. Let's try to distribute the feedback so everyone gets at least 2 replies.
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? Which ideas that we discussed in class are you employing?
- 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 3-4 traditional technical references (ideally academic papers or books) that will guide your project. 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.
- IEEE Visualization (InfoVis & SciVis)
- IEEE Transactions of Visualization and Computer Graphics,
- Ken-Sen Huang's index of graphics conference papers (and many others).
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.)
Final Project Presentation
Presentations will be during class the last two or three lectures. Individuals will have 15-25 minutes to present, followed by 3-5 minutes for questions from the audience (while we transition to the next presenter). Attendance is mandatory on all presentation days and everyone should give their full attention to their classmates presentation and ask good questions.
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?
- 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 please send the instructor an email.
- A representative 200x200 pixel image (thumbnail.png or thumbnail.jpg) for the project index page.
- All code written by you. Do not include the executable or 3rd party or open-source libraries. The instructor 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 ASCII).