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 pm
Classroom: Maxwell Dworkin G115
Sections: F 11-12:30, Maxwell Dworkin G125

Instructor

Hanspeter Pfister
33 Oxford St. Rm 227
Cambridge, MA 02138
Pasted Graphic 3

Staff

Samir Paul (Head TF)
Michelle Borkin
Daniel Suo
Alice Chung
Joy Ding
Ilyes Kamoun
Cameron Spickert
Pasted Graphic 2

Prerequisites

Students are expected to have some programming experience (e.g., CS 50 or QR 20). Exceptions by permission of the instructor.

Required Textbook

ware-bookVisual 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-processingLearning 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.

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

Sections

Lectures are supplemented by occasional weekly 60- to 90-minute sections led by the teaching fellows. Sections provide you with an opportunity to review and discuss course materials in a more intimate environment, with only your teaching fellow and a handful of classmates present. Moreover, the teaching fellows supplement material from lecture with additional examples and implementation details as well as provide further guidance for homeworks and the exam. Section dates and topics will be announced on the course news blog.

Online Forum

You need to subscribe to the online course forum. The forum is your main venue to ask questions, discuss problems, and help each other out. The forum will open during first week of classes. The forum should always be your first recourse for seeking answers to your questions about the course, lecture or reading material, or the assignments.

News Blog

You need to obtain a newsreader (also called a feedreader, or RSS aggregator) and subscribe to the course News blog. This will enable you to get instant updates instead of visiting this site each time a new assignment is due. Two free services available online we recommend are Google Reader and Bloglines. There are also stand-alone applications you can install on your computer, and a few Firefox add-ons.

Live Classroom & Video Archive

The class will be broadcast live via Adobe Connect, including live video from the classroom, a synchronized view of the projected slides, and a chat window to ask questions and to contact fellow online students. In case the Adobe Connect server fails, you can also connect to an alternate live video feed. Both features will only work during lecture time. The archived videos of the lectures and labs are available about two days after meeting time.

ResponseWare In-Class Polling

We are taking part in a pilot program to use the Turning Technologies Personal Response System for in-class polling. You have to purchase a ResponseWare license on the Turning Technologies web site. The school code for Harvard is: 4yQj The cost of the license is $16 for a year. More information about the pilot program and the use of the system can be found here.

Academic Honesty

You are welcome to discuss the course's material and homework with others in order to better understand it, but the work you turn in must be your own unless collaboration is explicitly allowed (e.g., for the final project). You may not submit the same or similar work to this course that you have submitted or will submit to another. You 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. For more information see the Harvard Extension School academic guidelines. All forms of academic dishonesty will be forwarded to the Harvard College or Extension School Administrative Board.