CS 171:
Visualization (New!)

  SEAS
tornado music gore

 

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

 
May 16  

Final project web pages are now online. Please send the remaining ones as soon as possible.

 

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).

 

May 5  

The final project website has been updated with detailed submission instructions, along with details of the webpage you will put together.

May 2  

Lecture 24 is now online. Please submit your online course evaluations! Your feedback is extremely valuable to us and will help us make CS 171 better in the future. We also opened a discussion on the bulletin board for feedback. Thank you!

 

April 29  

Instructions for your project presentations are now online.

 

April 28  

Lecture 23 is now online.

 

April 23  

Lecture 22 is now online.

 

April 23  

Lecture 21 is now online.

 

April 16  

Lecture 19 and lecture 20 are now online. Please send email to Miriah if you want to have a section this week.

 

April 10  

Lecture 18 is now online. There is no section this week.

 

April 7  

Lecture 17 is now online, as is Homework 4.

 

April 4  

Video of the section today is now online.

 

April 3  

The master solution for homework 3 is online on the Google Groups Files page.

 

April 2  

Lecture 16, the guest lecture by Jock Mackinlay about Tableau software, is not online.

 

April 1  

Lecture 15 is now online.

 

March 27  

The master solution for homework 2 is online on the Google Groups Files page.

 

March 19  

Lecture 13 and lecture 14 - final project proposal presentations - are now online. Great set of project proposals, everybody! As mentioned in class, we will show the distance education project proposals next class, Mo 3/31.

We added links for the data mining lecture by Thomas Carriero. Thanks again, Thomas!

There will be no section this Friday. Have a great and save spring break!

 

March 17  

Homework 3 is now online.

 

March 14  

The master solution for the midterm is online on the Google Groups Files page.

 

March 12  

Lecture 12 is now online.

 

March 10  

Lecture 11 is now online, including the slides on Data Mining that Thomas Carriero showed in class today and a .zip file containing the Python files he will discuss on Wednesday. In perparation for Wednesday's lecture, please follow the instructions on this page and bring your laptop to class if you can.

 

March 9  

Video of the section last Friday is now online. In perparation for Wednesday's lecture, please follow the instructions on this page and bring your laptop to class if you can.

 

March 7  

Lecture 10 (Frank Van Ham) is now online.

 

March 3  

The master solution for homework 1 is now online. The midterm is online.

 

February 29  

Video of the section this Friday is now online.

 

February 27  

Lecture 8 is now online. So is the Final Project page.

 

February 25  

Lecture 7 is online (incl. video). Reading this week: Chapter 5 in Few.

 

February 25  

Homework 2 is now online.

 

February 24  

Video of the section last Friday is now online.

 

February 21  

Lecture 6 is online. Reading this week: Chapter 4 in Few.

 

February 14  

Lecture 5 is now online. There will be a section tomorrow by NO CLASS on Monday. Happy Valentines day!

 

February 11  

Lecture 4 is online. Here is the visualization from the NY Times that we used for the in-class design critique. Please note the slightly changed syllabus & schedule.

 

February 11  

The front page of Boston Globe, Feb 6, is now online. This is the page we discussed in class during lecture 3.

 

February 9  

Video of the section last Friday is now online.

 

February 7  

Lecture 3 is online. Check out the links. And don't miss the last portion of the video that summarizes our in-class design critique of the visualization on the Boston Globe front page.

There will be a section tomorrow, Fr 2/8/08, 1 - 2:30 pm, at 1 Story St. Rm 304. Miriah will answer questions about Processing and HW 1. The section will be streamed live and the video will be available online. Check in on skype if you have questions for Miriah, or send them to the mailing list by noon tomorrow.

 

February 5  

Lecture 2 is online.

 

February 4  

Homework 1 is now online.

 

January 31  

Wow! Thanks to all of you for coming to the first lecture. We had ~50 people in the room. We'll see how things progress and will add seating as needed.

The video for the first lecture has been posted on the video page. We will place links to the videos, the PDF of the slides, and any links or movies shown in class in the Lectures section below. The reading assignments will also be posted there.

December 10   Welcome to the first ever CS 171!! This class will have complementary sections on Friday in addition to lectures. Sections are intended to give you practical experience writing visualization programs. We will work through exercises that will help you with your homeworks and help you better understand how the programming assignments relate to the lecture topics. Sections will take place on Friday, 1-2:30 pm, only when announced.

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 Decomposition of a Masterpiece
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!