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.
Instructor
Hanspeter Pfister33 Oxford St. Rm 227
Cambridge, MA 02138
Staff & Office Hours
SC = basement of science centerMD = ground floor of MD
AD = Adams dining hall
R.J. Aquino, grader
Bo Han, M 7-9 pm, SC
Byron Hood, Th 9-11 pm, SC
Christopher Lee, Sun 9-11 pm, AD
Jonathan Levin, Skype (DCE)
Calvin McEachron, W 3-5 pm, SC
Jacob Pritt, Th 9-11 pm, SC
Megan Quintero, Th 4-6 pm, MD
Mike Roberts, TH 4-6 pm, MD
Azalea Vo, Tu 8-10 pm, SC
Course Requirements
Prerequisites
Students are expected to have programming experience (e.g., CS 50). Exceptions by permission of the instructor.Required Textbooks
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
Information Visualization: Principles, Methods, and Practice (pre-publication draft), Tamara Munzner, AK Peters, (to appear 2012) Note from Tamara: these book chapters are an early draft and are far from finished. Do not quote. Many things will change!
Recommended Textbooks
Learning Processing, Daniel Shiffman, Morgan Kaufman (2008) [Available online in Hollis]HIGHLY recommended, especially for those with limited programming (and, limited graphics) experience. Written by a 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-related 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) [Available online in Hollis]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 Format
Lectures
For distance students, 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 24 hours after meeting time. Links to all these videos feed can be found in the sidebar on the homepage.Labs
Lectures are supplemented by weekly 60- to 90-minute labs led by the teaching fellows or guest lecturers. Labs are an important aspect of the course, as we will supplement material from lecture with examples, discuss programming environments (e.g., Python and Processing) and implementation details, in addition to teach you important skills (e.g., design sketching). Lab topics are announced in the schedule. Labs are an integral part of the class, and we expect you to attend them.Homework
There is no question that the best way to learn how to create interactive visualizations is by creating them, and homework assignments are an essential part of this course. In order for us to post solutions as soon as possible, homework must be turned in on time. Homework submissions will not be accepted after two days following the due date. If medical or other emergencies interfere with your work please contact the head TF immediately.Homework Late Days
Each student is given six late days for homework at the beginning of the semester. A late day extends the homework due date by 24 hours without penalty. No more than two late days may be used on any one assignment. After using up your late days we will deduct one point for each day (including weekends) an assignment is late. Late days are intended to give you flexibility: you can use them for any reason - no questions asked. You don't get any bonus points for not using your late days. Also, you can only use late days for your homework - all other deadlines (e.g., for the final project) are hard.Piazza
We'll be using Piazza (www.piazza.com) for our class discussion platform this term. Piazza is your main venue to ask questions, discuss problems, and help each other out. Piazza is a question-and-answer system designed to streamline class discussion outside of the classroom. It should always be your first recourse for seeking answers to your questions about the course, lecture or reading material, or the assignments. Piazza is being used in over 1000 schools, and a number of Harvard courses have been using it successfully. They support LaTeX, code formatting, embedding of images, and attaching of files. We will also use Piazza for all announcements, so it is important that you are signed up. Signup will be done based on the information collected in the HW0 survey.Reading Assignments
You should do the required readings before the lectures and post a comment or question pertaining to each reading assignment in Piazza. Comments or questions for the readings must be posted before Monday of the week the reading is listed in the schedule. Post your comments or questions using the appropriate hashtags in Piazza, e.g., #readings and #ware.Examples of good comments:
◦ Clarification of some point or detail in the readings
◦ Critiques of arguments made in the readings
◦ Analysis of implications or future directions for work discussed
◦ Questions about the readings or answers to other people's questions
◦ Links to web resources or examples that pertain to a reading
Even though I do not expect you to fully understand everything before coming to class, you will often have to read some passages several times to build your understanding. The goal of the reading assignments is to prepare for class, to familiarize yourself with new terminology and definitions, and to determine which part of the subject needs more attention (you’ll convey that to me with questions about the readings you are posting).
Office Hours
The Teaching Fellows will hold weekly office hours, either in person or via Skype for distance education students. You need to schedule your office hours by sending email to the staff mailing list atExpectations
Lecture Attendance
Attendance in class and labs is expected. Lecture attendance and quality (not quantity) of participation will factor into the participation grade. We are also lucky to have some of the world’s best visualization researchers take time out of their busy schedules to give guest lectures. I expect all non-distance students to attend these lectures and engage the speakers with questions and comments. Attendance of guest lectures will be taken by passing around sign up sheets. You must send an email to the staff at least a day before a guest lecture to be excused.Participation
Helping each other out and discussing the reading assignments and lectures is a key aspect of this course. All students are expected to contribute online and during lectures, and participation in the online forum and lecture attendance will contribute to the final grade.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 discuss programming assignments with classmates, but you may not share or post code, including on the course forum. In other words, you may communicate with classmates in English, but you may not communicate in, say, Python. If in doubt as to the appropriateness of some discussion, contact the course’s instructor.You may not submit the same or similar work to this course that you have submitted or will submit to another. Nor may you provide or make available solutions to problem sets to individuals who take or may take this course in the future. 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.
Grading
Students will be graded on homework assignments, in-class participation, and a final project. There will be no exams. The final grade will be composed as follows (click on the links to get more information):◦ 50% Homework
◦ 40% Final Project
- 5% Proposal
- 10% Project review
- 50% Content and visualization application
- 30% Project process book and web site
- 5% Project presentation video
Grading Scale
Homework, final project, and participation will be graded on a 5 point scale in 0.5 increments using the following scale:5 = Exceptional / above and beyond (we will only give out a couple 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. Teaching Fellows will evaluate your work holistically beyond mechanical correctness and focus on the overall quality of the work. In addition to the scores the Teaching Fellows will give detailed written feedback.
Regrading Policy
It is very important to us that all assignments are properly graded. If you believe there is an error in your assignment grading, please submit an explanation via email to us within 7 days of receiving the grade. No regrade requests will be accepted orally, and no regrade requests will be accepted more than 7 days after you receive the grade for the assignment.Credits
Some of the material in this course is based on the classes taught by Miriah Meyer at the University of Utah, Tamara Munzner at the University of British Columbia, Canada, Prof. Pat Hanrahan and Prof. Jeff Heer at Stanford, and Prof. Maneesh Agrawala and UC Berkeley. I have heavily drawn on materials and examples found online and tried my best to give credit by linking to the original source. Please contact me if you find materials where the credit is missing or that you would rather have removed.User Notice for Copyrighted Materials on Course Websites
This course website, and much of the text, images, graphics, audio and video clips, and other content of the site (collectively, the “Content”), are protected by copyright law. In some cases, the copyright is owned by third parties, and Harvard is making the third-party Content available to you under the fair use doctrine. Fair use permits only certain limited uses of the Content.You may use the website and its Content only for your personal, noncommercial educational and scholarly use. Some Content may be provided via streaming or other means that restrict copying; you may not circumvent those restrictions. If you wish to distribute or make any of the Content available to others, or to use any Content commercially, or to use any Content for any purpose other than your personal, noncommercial educational and scholarly use, you must obtain any required permission from the copyright holder.
User notice courtesy of the Harvard University Office of General Counsel.
