Course Announcement

by Mike Gleicher on July 16, 2018

CS765 Data Visualization

This class was last taught in Fall 2017. This year should be a minor refinement – most things will stay the same.

Caveat: this is not your usual CS class. You may want to understand what this class is about before you take it. The class emphasizes design and analysis, not programming. The class involves lots of reading, thinking, and discussing.

Unofficial Title: Visualization: getting from data to understanding

image image image image

This course will explore the foundations of visualization: how we turn data into pictures to help in understanding or communicating it. We’ll cover visualization in the broad sense: including scientific visualization, information visualization (the presentation of abstract data), and visual analytics (the use of interactive tools for exploring large and/or complex data sets). Visualization is a mix of perceptual psychology, cognitive science, design, computer graphics, data analysis, statistics, human computer interaction, system building, etc. The course is aimed to serve two different types of students:

  • students who work with data and want to understand how to better use visualizations in their work (e.g. students in the sciences or humanities)
  • students who are interested in creating tools to help people work with data (e.g. computer scientists and statisticians)

This class is more about what pictures to make to understand data than how to make them. We will spend a lot of time understanding design principles. We will not spend lots of time talking about how to program visualizations, or how to use tools to make visualizations. There is a page describing the philosophy behind the course.

The most recent offering (Fall 2017) will give you a good sense of what the class is like: the 2017 offering will be similar. We’ll cover similar topics, and use a similar class structure. I will try to fix the mistakes I made in running the class last semester. (see planned changes)

Some Basic Data:

Instructor: Mike Gleicher

Time:  11-12:15, Monday, Wednesday, Friday. Note that the class is “over-scheduled” we will meet, on average, twice a week. The class will meet in 312 Wendt on Mondays and Wednesdays, and 311 Wendt on Fridays..

Intended Audience: Graduate students in CS or in some domain where data is used. Advanced undergraduates are welcomed, although on a space available basis.

Prerequisites: None. If you have programming experience, you will have the opportunity to make use of it. If you don’t know how to program, there will be other ways to do the assignments. Some basic statistics is useful too.

Course format: class lectures, discussions (in class and online), readings, design exercises. There will be “design challenges.” Because of the in-class exercises, class attendance is important.

Readings: from an online reader. The textbook(s) will be available online through the library. Check the 2017 Fall class readings for an idea of what it might be like, although the list will be updated a bit.


Visualizations range from crayon sketches on the back of a napkin to immersive virtual reality displays of the fluid dynamics around an airplane; from a bar chart in excel to a fancy, realistic 3D model. Our goals are to understand the principles that lead to effective visualizations across this range (design, the use of color and motion, basic design patterns, dealing with high-dimensional data, …), specific visualization designs and problems (treemaps, scatterplot matrices, focus+context, volume visualization, …), as well as looking at the kinds of systems and tools that support the creation of good visualizations. By the end of the course, we will learn how to design effective visualizations for the kinds of data we want to interpret and understand the kinds of tools that support the creation of such visualizations. You can get an idea of the kind of topics by looking at the schedule from Fall 2017.

What is this class?

There is a longer “What is this class and why?” page that discusses this in more detail.

If you are interested in working with data (or helping others work with data), especially in understanding the “human side” of it, then this class is for you. This class is more about what pictures to make to understand data than how to make it. We will spend a lot of time understanding design principles. We will not spend lots of time talking about how to program them. If you can’t program, don’t worry. We’ll find other ways for you to make pictures. We will not teach you to program. If you can program (and like to do it), don’t worry. We’ll let you do some programming to make pictures. If you only care about getting help with your pet data set from your research, this class may or may not help you. You’ll learn lots of general visualization concepts that will help you with your specific problems in the future, and you might have opportunities to try things on your own data sets for the assignments and projects. Plus, you’ll meet a whole bunch of people who will know a lot about visualization by the end of the semester.


The list of topics (for Fall 2018) is still being developed and will be adapted to the needs and interests of the class. Here is a list of what we covered in the previous editions of the class.

week 2017 Fall 2017 Spring (CS765) 2015 Vis Class (CS838/638) 2012 Vis Class (CS838/638)
1 What is Vis Welcome What is Vis What is Vis
2 Why Vis What is Vis What kinds of Vis and Why Why Vis
3 Abstraction Why Vis Abstraction Evaluation
4 Encodings Evaluation Evaluation Perception
5 Design School Abstraction Perception Encoding
6 Implementation Encodings Color Color
7 Evaluation Perception Encodings and Layouts Multi-Variate
8 Perception Color Graphs and Networks Dealing with Scale
9 Color Interaction Interaction and Multiple Views Interaction
10 Interaction Graphs and Networks Dealing with Scale Case Studies
11 Uncertainty Implementation and Toolkits More Dealing with Scale Graphs and Networks
12 Dealing with Scale Multi-Variate Comprehensibility and Uncertainty Animation and Presentation
13 Graphs Dealing with Scale 3D and D3 Visual Design
14 3D and SciVis Texts, Sets, etc. Scientific Data Sets 3D and SciVis
15 Presentations 3D and Scientific Data

Class Activities

This class will involve substantial amounts of reading and online discussion. There will be weekly readings with online discussions and weekly “show and tell” assignments (where students find and critique visualizations). There will be a small number of “design challenges” (3 mini-projects) where students will design and create visualizations. We will have in-class exercises (ICEs) where students will do small design exercises, perform critiques, discuss concepts, etc.

A goal this semester is to use more of the class time (about half) for in-class collaborative work (designing, critiquing, etc.), pushing more of the expository content into readings and other media. This will make class attendance important.