CS 171 Syllabus
This course is an introduction to key design principles and techniques for visualizing data. One of the major goals of this course is to understand how visual representations can help in the analysis and understanding of complex data. After taking this course, you should be able to collect and process data, create an interactive visualization, and use it to gain insight into an interesting problem or phenomenon. Moreover, you should be able to critique visualizations (good and bad), and identify the design principles that were used to create them. We hope that you will become comfortable in using visualizations in your own work, and in building interactive visualization tools and systems.
This course, when taken for a letter grade, meets the Harvard General Education requirement for Empirical and Mathematical Reasoning.
The course is also offered through the Harvard University Extension School as distance education course CSCI E-64. All lectures and labs will be recorded and the videos will be archived and streamed live during meeting times.
Time and Location
Lectures: M, W, 1-2:30 pmClassroom: Maxwell Dworkin G115
Sections: F 11-12:30, Maxwell Dworkin G125
Instructor
Hanspeter Pfister33 Oxford St. Rm 227
Cambridge, MA 02138
Staff
Samir Paul (Head TF)Michelle Borkin
Daniel Suo
Alice Chung
Joy Ding
Ilyes Kamoun
Cameron Spickert
Prerequisites
Students are expected to have some programming experience (e.g., CS 50 or QR 20). Exceptions by permission of the instructor.Required Textbook
Visual Thinking for Design, Colin Ware, Morgan Kaufman (2008)All the clanking gears are here: variable resolution image detection, eye movements, environmental information statistics, bottom-up/top-down control structures, working memory, the nexus of meaning, and specialized brain areas and pathways. By the time he’s done, Ware has reconstructed cognitive psychology, perception, information visualization, and design into an integrated modern form. This book is scary good. - Stuart Card, Senior Research Fellow, and manager of the User Interface Research group at the Palo Alto Research Center
Recommended Textbooks
Learning Processing, Daniel Shiffman, Morgan Kaufman (2008)HIGHLY HIGHLY recommended, especially for those with limited programming (and, limited graphics) experience. Written by an professor at NYU, the books steps through programming basics, using Processing as the language of choice. Along the way you learn the ins and outs of Processing, too. Nice paper-and-pen exercise throughout, and a short section on graphics-ee math. Also includes several chapters for handling data. Plus a great web site with lots of resources and tutorials that will benefit everybody in the class. The skinny: great beginner book, with many exercises to drill ideas home. Short and sweet.
Visualizing Data, Ben Fry, O'Reilly (2007)Discusses design choices for visualization, and focuses on the pipeline from acquiring data through visualization+interaction program. Very brief intro to Processing, and mostly promotes learning the environment through several extensive examples. If you need more details, visit the online Processing reference, or, get one of the other books. The skinny: written by Processing co-creator Ben Fry, who's expertise in visualization design is provided through step-by-step creations of several data visualization examples.
Course Requirements
The course has several components. There will be no exams. Final grades will be determined by a weighted average of all points using the following weights:◦ Homework (50%) Mostly programming assignments
◦ Final Project (30%) Done in pairs or groups of three
◦ Participation (20%) Reading assignments, in-class participation, and participation in the online forum
Grading
Homework, final project, and participation will be graded on a 5 point scale using the following scores:5 = Exceptional / above and beyond (we will only give out maybe 5-10 of these for each homework)
4 = Solid / no mistakes (or really minor)
3 = Good / some mistakes
2 = Fair / some major conceptual errors
1 = Poor / did not finish?
0 = Did not participate / did not hand in
A 4 constitutes a perfect grade, and getting all 4s is equivalent to an A. A combination of 4s and 3s end up being A- to B, and so on. TFs will evaluate your work holistically beyond mechanical correctness and focus on the overall quality of the work. In addition to the scores the TFs will give detailed written feedback.
