current page



The world is awash with increasing amounts of data, and we must keep afloat with our relatively constant perceptual and cognitive abilities. Visualization provides one means of combating information overload, as a well-designed visual encoding can supplant cognitive calculations with simpler perceptual inferences and improve comprehension, memory, and decision making. Furthermore, visual representations may help engage more diverse audiences in the process of analytic thinking.

In this course we will study techniques and algorithms for creating effective visualizations based on principles from graphic design, visual art, perceptual psychology, and cognitive science. The course is targeted both towards students interested in using visualization in their own work, as well as students interested in building better visualization tools and systems.

In addition to participating in class discussions, students will have to complete several short programming and data analysis assignments as well as a final project. Students will be expected to write up the results of the project in the form of a conference paper submission.

There are no prerequisites for the class and the class is open to graduate students as well as advanced undergraduates. However, a basic working knowledge of, or willingness to learn, a graphics API (e.g., OpenGL, Java2D, Flash/Flex) and data analysis tools (e.g., R, Excel, Matlab) will be useful.

Final Poster Session: Tuesday Dec 13, 5-7pm, Packard Lobby

Lectures: Tuesday & Thursday, 1:35-3:05pm, Mudd Chemistry Building, Braun Lecture Hall

Note that lectures start slightly later than is posted in the course catalog.


Tu Sep 27: The Value of Visualization (Slides)

  Assigned: Assignment 1: Visualization Design (Due Tu 10/4, by 7am)

Th Sep 29: Data and Image Models (Slides)


Tu Oct 4: Visualization Design (Slides)

  Due: Assignment 1: Visualization Design (by 7am)

Th Oct 6: Exploratory Data Analysis (Slides)

  Assigned: Assignment 2: Exploratory Data Analysis (Due Tue 10/18, end of day)


Tu Oct 11: Multidimensional Data Visualization (Slides)

Th Oct 13: Graphical Perception (Slides)


Tu Oct 18: JavaScript / D3 Tutorial

  Due: Assignment 2: Exploratory Data Analysis (by end of day)

  Assigned: Assignment 3: Interactive Visualization (Due Tu 11/1, end of day)

Th Oct 20: Interaction (Slides)


Tu Oct 25: Identifying Design Principles

Th Oct 27: Color (Slides)


Tu Nov 1: Animation (Slides)

  Due: Assignment 3: Interactive Visualization (by end of day)

Th Nov 3: Design Critiques (Slides)

  Assigned: Final Project


Tu Nov 8: Using Space Effectively (Slides)

Th Nov 10: Graph Layout and Network Analysis (Slides)


Tu Nov 15: Mapping & Cartography (Slides)

  Due: Final Project Proposal (by end of day)

Th Nov 17: Text Visualization (Slides)


Tu Nov 22: Thanksgiving Break

Th Nov 24: Thanksgiving Break


Tu Nov 29: Final Project Presentations

Th Dec 1: Visual Analysis, Collaboration & History (Slides)


Tu Dec 6: Evaluation (Slides)

Th Dec 8: Final Project Check-In


Tu Dec 13: Final Project Poster Session (5-7pm Packard Lobby)

Th Dec 15: Due: Final Project (by 5pm)


Course Information


  • Course Staff Email: cs448b [at] cs [dot] stanford [dot] edu


Late Policy: We will deduct 10% for each day (including weekends) an assignment is late.

Plagiarism Policy: Assignments should consist primarily of your original work. Building off of others' work--including 3rd party libraries, public source code examples, and design ideas--is acceptable and in most cases encouraged. However, failure to cite such sources will result in score deductions proportional to the severity of the oversight.

Useful Resources

If you have an interesting visualization tool, resource, or announcement that you would like to share, please post it to the UsefulResources page.

If you are looking for project partners then have a look at the ProjectPartners page.

Getting started with this Wiki

This is the course wiki for cs448b. You will be using the course wiki to:

  • Post questions and debate readings
  • Publish your assignments
  • Share resources and links
  • Demo your course project

To contribute to the wiki, please log in using your Stanford SUNet ID and password.

Here are some starting points to familiarize yourself with wiki:

See HelpForBeginners to get you going, HelpContents for all help pages.