CS 171
Visualization (2008)

  SEAS
tornado music gore

This is the site for the 2008 edition of CS 171. The new course web site is at www.cs171.org

Spring 2008 (January 30, 2008 through May 16, 2008)
Undergraduates and Graduates

Lectures: M and W, 1:00-2:30 PM, 1 Story St., Room 304
Sections: F, 1:00-2:30 PM, 1 Story St., Room 304 (not mandatory, only when announced)

Instructor: Hanspeter Pfister (pfister@seas.harvard.edu)
TF: Miriah Meyer (miriah@seas.harvard.edu) Office hours by appointment only

This class is also offered as through the Harvard Extension School as distance education course CSCI E-64. All lectures will be recorded on video and put online.

Quick links:   Course Info   Requirements  Schedule & Lectures   Videos   Homeworks   Projects  Resources  


Announcements

 
March 2009  

The CS 171 2008 lecture videos are now available for free on iTunes U

 

May 16  

Final project web pages are now online.

 

May 14  

The final project presentations are now online (lecture 25 and lecture 26). The videos are freely accessible to anybody so you can share them with friends and family.

Great job, everybody! The projects came out great. Please don't forget to fill out the online course evaluations and send us your final project web page by Friday, May 16 (instructions are here).

 


Course Info

Description: The amount and complexity of information produced in science, engineering, business, and everyday human activity is increasing at staggering rates. We must increasingly rely on computational approaches to generate abstractions that help us to gain insights into large collections of data. The field of visualization seeks to answer questions about science and humanity by developing methods that transform data into meaningful, perceptually intuitive representations. Good visualizations not only present a visual interpretation of data, but do so by improving comprehension, communication, and decision making.

The goal of this course is to expose students to visualization methods and techniques that increase the understanding of complex data. The course will cover how the human visual system processes and perceives images, good design practices for visualization, tools for visualization of data from a variety of fields, and programming of interactive visualization systems. The course is targeted both towards students interested in using visualization in their own work, and students interested in building better visualization tools and systems.

Topics: (subject to change)

  • Data and Image Models
  • Visual Perception & Cognitive Principles
  • Color Encoding
  • Visualization Software Design
  • Designing 2D Graphs
  • Maps & Google Earth
  • Higher-dimensional Data
  • Unstructured Text and Document Collections
  • Trees and Networks
  • Scientific Visualization
  • Medical Visualization
  • Scientific Photography
  • Animation
  • Interaction Techniques
  • Social Visualization
  • Visualization & The Arts

Grading: Students will be graded on participation (in-class and/or online), four homework assignments, a mid-term examination, and a final team project and presentation. The final grade will be composed as follows:

Class Participation................................................................ 10%
Homeworks......................................................................... 40%
Mid-Term Exam................................................................... 20%
Final Project........................................................................ 30%

Mailing List and Message Board: Students need to subscribe to the class message board on Google groups. This is mainly your forum: use it to ask questions, discuss problems, and help each other out.
To subscribe: http://groups.google.com/group/cs171 We will send an invitation to join the group by email. If you already have a Google account we recommend that you ignore this invitation and use your Google account to apply for a membership.
To post a message: cs171@googlegroups.com
For help go here.

Live & Archived Video Feeds: The class will be recorded and broadcast with live video feeds to better support our distance education students. Here is the link to the live video feed - it will work only while the lecture is being recorded. One of the instructors will be online in a Skype chat room with the account name cs-171 so that distance students can ask questions during class (see below for more details). The archived videos of the lectures are available about two days later.

Skype Chat Room: If you are a distance ed student, you can participate in class via the Skype chat room. Download and install the Skype software on your computer. When you first launch Skype, it will prompt you to create a new Skype account if you don't already have one. Skype accounts are free. Once you're logged in, add the user cs-171 to your contact list. During class hours, we will add you to a public chat room where you can type your questions and comments.

Homework Late Day Policy: Each student is given two "late days" at the beginning of the semester. You can use a late day to submit any regular homework assignment up to 24 hours after the due date without penalty. Late days are intended to give you flexibility: you can use them for any reason (e.g., if you are sick, out of town, or have a particularly busy week). You can either choose to use two late days on a single homework (allowing you to submit up to 48 hours after the original due date without penalty), or one late day each on two different homeworks. However, you only get two late days for the whole semester, so please use them wisely! You don't get any bonus points for not using your late days. Also, you can't use late days for your final project (i.e., the final project deadline is absolute). Homework submissions will not be accepted after Noon EST on the Wednesday following the deadline.

Academic Honesty: You absolutely must acknowledge any source code that was not written by you by mentioning the original author(s) directly in your source code (comment or header). You can also acknowledge sources in a README.txt file if you used whole classes or libraries. Do not remove any original copyright notices and headers. Without prior written approval by the instructor you may not submit the same material to two courses. Plagiarism, cheating, and other forms of academic dishonesty will be reported to the office of the Dean and can have very serious consequences. For more information see the SEAS and Harvard Extension School academic guidelines.
 


Requirements

Prerequisites: You will get the most out of this course if you:

  • have some programming experience (e.g., CS 50 or QR 20)
  • have taken an introductory math course (e.g., Math 1a or Math 1b)

Exceptions by permission of the instructor.

Books: The required textbooks for the course are:

FewBook Show Me the Numbers, by Stephen Few, Analytics Press, ISBN: 0970601999

Few does a great job of explaining the design concepts of good graphs and charts. The book is easy to read and full of examples.

Visualizing Data by Ben Fry, O'Reilly (2007), ISBN: 0596514557

Using Processing, a free programming environment developed by the author, Visualizing Data demonstrates visualization methods for the Web and elsewhere, complete with user interaction and animation.

We recommend (but do not require) the following books:

  • Processing: A Programming Handbook for Visual Designers and Artists,
    by Casey Reas and Ben Fry (The MIT Press, ISBN 0262182629)
  • The Visual Display of Quantitative Information, 2nd ed., by Edward Tufte (Graphics Press, ISBN 0961392142)
  • Envisioning Information, by Edward Tufte (Graphics Press, ISBN 0961392118)

Required Software: Registered students will be provided with all the required software in the course, including educational licenses for some commercial visualization tools.


Schedule

Note that the following schedule is subject to change.

Week
Dates
Monday
Wednesday
HW
1
Jan 28 / 30
No class
2
Feb 4 / 6
3
Feb 11 / 13
4
Feb 18 / 20
Presidents Day
5
Feb 25 / 27
6
Mar 3 / 5
7
Mar 10 / 12
8
Mar 17 / 19
Mar 24 / 26
Spring Break
Spring Break
9
Mar 31 / Apr 2
10
Apr 7 / 9
11
Apr 14 / 16
12
Apr 21 / 23
13
Apr 28 / 30
14
May 5 / 7
No class
No class
15
May 12 / 14

Lectures

1. W, January 30 Introduction. What is visualization? Course overview.

Reading: Chapters 1 & 2 in the Fry book.

Lecture and section material:

2. M, February 4 Data & Image Models. Data Types. Linear Filters & Convolution. Image Models.

Reading: Chapter 4 in Fry.

Lecture and section material:

3. W, February 6 Design Principles. Data-Ink Ratio. Chartjunk. Distrotions. Context.

Lecture and section material:

4. M, February 11 The Human Visual System. Light. The Eye & Color Vision. Visual Processes.

Reading: Chapters 1 and 6 in Few

Lecture and section material:

5. W, February 13 Visual Perception. Luminance Processing. Color Processing.

Reading:Chapters 1 and 6 in Few

Lecture and section material:

  M, February 18 Presidents Day: No Class
6. W, February 20 Visual Cognition. Where / What System. Pre-Attentive Processing. Gestalt Principles. Change Blindness.

Reading: Chapter 4 in Few.

Lecture and section material:

7. M, February 25 Color Encoding. Color Models. Color Matching. Color Spaces. Color Design.

Reading: Chapter 5 in Few.

Lecture and section material:

8. W, February 27 2D Graphs. Data Encoding Objects. Visual Attributes. Relationships in Graphs.

Reading: Chapter 5 in Few.

Lecture and section material:

9. M, March 3 Midterm Exam (No class!)
10. W, March 5 Trees & Networks. Definitions. Visualizing Trees. Visualizing Graphs.
Guest Lecture: Frank Van Ham

Lecture and section material:

11. M, March 10 Maps. Historical Maps. Map Projections. Cartograms. Choropleth Maps. Isopleth Maps. Proportional Symbol Maps. Flow Maps. Route Maps. Points of View.

Reading: In perparation for Wednesday's lecture, please follow the instructions on this page.

Lecture and section material:

12. W, March 12

Google Earth & GIS

Reading: Visualization with Google Earth and GIS

Lecture and section material:

13. M, March 17 Interaction Principles
Guest Lecture: Daniel Wigdor

Lecture and section material:

14. W, March 19 Project Proposal Presentations Part I

  M, March 24 & W, March 26 Spring Break: No classes
15. M, March 31

Project Proposal Presentations Part II & Multi-Dimensional Data

Lecture and section material:

16. W, April 2

Introduction to Tableau
Guest lecture: Jock Mackinlay

Lecture and section material:

17. M, April 7 Scientific Visualization
Guest lecture: Miriah Meyer

Lecture and section material:

18. W, April 9 Medical Visualization
Guest lecture: Gordon Kindlmann

Lecture and section material:

19. M, April 14

Life Science Visualization
Guest lecture: Bang Wong and Janet Iwasa

Lecture and section material:

20. W, April 16 Dimensionality Reduction

Reading: A tutorial on Principal Components Analysis, Lindsay I Smith (PDF)

Lecture and section material:

21. M, April 21 Images & Video

Reading: A Data Driven Reflectance Model [PDF]
Factored Time-Lapse Video [PDF]

Lecture and section material:

22. W, April 23 Social Visualization
Guest Lecture: Martin Wattenberg

Lecture and section material:

23. M, April 28 Visualization & The Arts
Guest Lecture: Ben Fry

Lecture and section material:

24. W, April 30 Wrap Up & Outlook

Lecture and section material:

  M, May 5 & W, May 7 Reading Period, No Classes
25. M, May 12 Final Project Presentations (1 of 2)

26. W, May 14 Final Project Presentations (2 of 2)


Homeworks

Homework 1 (due Wednesday, February 20 at noon EST)

Homework 2 (due Wednesday, March 12 at noon EST)

Homework 3 (due Wednesday, April 2 at noon EST)

Homework 4 (due Wednesday, April 23 at noon EST)


Final Projects

Final Projects (due Friday, May 9 at noon EST)

Final Project Presentations (due Sunday, May 11 at noon EST)

Final Project Presentation schedule (with screencasts)

Project Web Pages

Abraham Passaglia Baseball Player Value Indicators
Alex Chou Visualization of Piano Music
Andrew Granoff Hasty Pudding Ticket Sales Visualizer
Wen Huang Wang Visualization of US Metropolitan House Market
Andrei Munteanu, Anjuli Kannan Visualizing Synonym Chains
Bill Wright 2D Color Load Meter for Visualizing Annual HVAC Loads
Brett Thomas, Clara Blattler Energy Success Rate: Re-evaluating Energy Efficiency
Wendy Bossons, Melanie Howell, and Tawa Taylor Hurricane Katrina After Effects
Cindy Cheng Visualizing Vocabulary
Daniel Carroll, Tyler Bosmeny Visualizing Trends in Search Data Subsets
Daniel J. Hilferty Visualizing the National Budget
Daniel Suo Emily Dickinson Revisited
David Kosslyn, Rajaraman Sundaram Visually Del.icio.us
David Reshef Vibrio Cholera Computational and Graphical Database
David Ng NBA Player and Team Performance Trends
Derek Horton HyperVisualizer: Visualizing Virtual Machines
Diana MacLean Crime and Perceptions of Crime in Boston
Katie Fifer, Doug Lloyd Visualizing the US's Subprime Mortgage Crisis and its Effects on the Economy
Douglas Alan An Interactive Tool for Exploring Dendrogram Representations of Spectral Line Data Cubes
Eric Gieseke Where and what are the current hazardous threats?
Gregory Gimler, Trung Tran Natural Disasters Around The World
Peter V. Henstock Understanding the Sequence of Learning Japanese Kanji
J.R. Hass Visualizing Related Images Using The Image Gist Algorithm
Jesse Fish A Visual Analysis of Movies, Actors and Actresses Using IMDB
Jesse Rader, Samir Paul Harvard by the Numbers
Jonathan Tsao Wikivisia: A Graph Visualization of Articles in Wikipedia
Jue Wang, Giancarlo Garcia Where's the Music? (Concert Locations Visualization)
Karen Feng LinkTracr: tracing links through the blogosphere
Katie Grosteffon Nursing Home Care
Elizabeth Lemon Book sharing patterns among users of BookCrossing.com
Nick Chammas, Mark Garro Visualizing a Machine's Thought-Process (Game Analysis with a Min-Max/Alpha-Beta Search Engine)
Mark Yetter South Korea's Age Income Landscape in a World of Change
Matthew Huchu, Lilli Gilligan Thermal Engineering plc: Departmental Performance Noticeboard
Hao-Yuh Su Music Trend Visualization
Penelope Cuevas Healthcare Costs
Qing Gao Mining Audioscrobbler
Roanna Ruiz Visualizing the Normal and Post-Stroke Brain
Savita Sahgal Visualizing SUV attributes to make a better buying decision
Silpa Kovvali, Teddy Sherrill Economics and Performance in the National Basketball Association
Steven Vasilakos Effective Dashboard Design
Tara Murphy-Volz State Relocation Assistant
Thomas Carriero, Jie Tang Visualizing My Inbox
Thomas Wionzek 50 Years of the Dollar: Currency Strength Animated Timeline
Tina Tang Visualizing Academic Networks
Timothy Knell Visualizing Sarah Jane Studios
Victor Lan Top news stories for the day?
William Cheng Visualization of Extrasolar Planetary Systems

Resources

Here are some good online references:

Useful software:

Acknowledgments

We borrowed class material (topics, slides, inspiration, etc.) from the following individuals:

  • Maneesh Agrawala, UC Berkeley
  • Pat Hanrahan, Stanford
  • Tamara Munzner, University of British Columbia, Canada
  • Penny Rheingans, University of Maryland Baltimore County
  • Ben Shneiderman, University of Maryland
  • John Stasko, Georgia Tech
  • Lynn Stein, Olin College of Engineering
  • Maureen Stone & Polle Zellweger, University of Washington
  • Roger Crawfis, Ohio State University
Thanks!