Visual media in the form of diagrams, graphs, photographs, 3D renderings,
sketches, animations, and film are increasingly generated, manipulated, and
transmitted by computers. When well designed, such displays capitalize on human
facilities for processing visual information and thereby improve comprehension,
memory, inference, and decision making. Yet the digital tools for transforming
data into visualizations still require low-level interaction by skilled human
designers. As a result, producing effective visualizations can take hours or
days and consume considerable human effort.
In this course we will study techniques and algorithms for creating effective
visualizations based on principles and techniques from graphic design, visual
art, perceptual psychology and cognitive science. The course is targeted both
towards students interested in using visualization in their own work, as well as
students interested in building better visualization tools and systems.
Topics
- The Purpose of Visualization
- Data and Image Models
- Perception
-
Spatial Layout
- Trees and Graphs
- Interaction
- Animation
- Usability and Evaluation
- Conveying Shape and Structure
-
Photography and Visualization
The class will meet twice a week. In addition to participating in class
discussions, students will have to complete several short programming and data
analysis assignments as well as a final programming project. Students will be
expected to write up the results of the project in the form of a conference
paper submission.
There are no prerequisites for the class. However, a basic working knowledge of,
or willingness to learn, a graphics API (e.g. GDI+, OpenGL, Java2D) and
applications (e.g. Excel, Matlab) will be useful. Although some of the short
assignments will use Java, the final project can be developed using any suitable
language or application. While these APIs, applications and languages will not
be taught in class, many introductory tutorials at the level required for the
class are available on the web.