CS 3891.06 / 5891.06 - Introduction to Visualization


Course Description

This course is all about visualizing data. At its core, data visualization is simply taking some set of data, and mapping it to a visual representation that is consumed in some way. We see data visualizations around us, all of the time. But how often do we think about how a visualization is conceived? As consumers of visualization, we tend to not think about the underlying foundations. This course is intended to get you to think more systematically about visualization, so that you can determine why a visualization is good or why it is bad, and to use this understanding when developing your own data visualizations.


The course will be broken down into two main sections: Visualization Basics and Visualization Techniques.

Visualization Basics

In the first part of the course you will learn how to write code for developing data visualizations. You will learn the basics behind D3, a Javascript library for developing visualizations for the web, and how to use D3 to map data to a core set of visual encodings. Concurrently, you will also learn about the space of data types and visual marks that are used for visual encoding.

Knowing how to visually encode data with D3 does not necessarily suggest what should be shown. Thus, you will also learn about fundamental visualization properties: color theory, shape perception, preattentive processing, effectiveness of visual marks, user tasks, design, etc..

Visualization Techniques

Equipped with an understanding of visualization basics, we will then delve into techniques. We will consider the following:


CS 2201 or CS 2204, CS 2212 or Math 2410

More specifically, data visualization is inherently an interdisciplinary research field, as it relies on understanding the data at hand. That said, having a good understanding of data structures should enable you to grasp the types of data we will work with.

Now, another important aspect of visualization is space. Space is utilized in a myriad of ways in constructing data visualization. So you should be familiar with 2D geometric computing, as would be covered in linear algebra, in order to work with spatial transformations, scales, distances, and shapes.


Matthew Berger

email: matthew.berger@vanderbilt.edu

office hours: MW 2:00-3:00, JH 379


Yubo Fan

email: yubo.fan@vanderbilt.edu

office hours: TH 2:00-3:00, JH 385


We will use Brightspace for any discussion related to the course: questions on lecture content, programming assignments, etc.. Brightspace will also be used for any announcements.

Course Format

The course will consist of lectures, a set of programming assignments, and two exams: a mid-term and a final.

The lectures will draw from the textbooks mentioned below, as well as research papers. I expect everyone to participate in the lectures, as you will be expected to interactively critique data visualizations during these times.

D3 will be the primary library that we will use for the programming assignments. If you are unfamiliar with web programming and Javascript, don’t fret! We will cover the basics as part of the course.

The exams are meant to test your knowledge on everything that is covered during the lectures. The mid-term will cover material for the (roughly) first half of the course, and the final will cover the (roughly) second half, with some material from the first half thrown in for good measure.

Last but not least, there will be a project associated with the course. You will work in teams of size 2-3. There will be two types of projects that you can choose from : a technique project and a design study project. More information is available on project.



Visualization Analysis and Design by Tamara Munzner. This book will serve as the core for discussing visualization principles and techniques. Copies have been reserved in the book store; if not available, you can always purchase it online.

Interactive Data Visualization for the Web by Scott Murray. This book covers the basics behind D3, and its purpose is to get you to understand how to code data visualizations. If your already familiar with D3, or are comfortable using the myriad of D3 resources on the web (see Resources), then you might not find this book necessary, otherwise I strongly recommend picking it up.


Visual Thinking for Design by Colin Ware. This book covers some basics behind human perception, and how this informs designing visualizations.

Making Data Visual by Danyel Fisher and Miriah Meyer. This book covers the why behind visualizing data, namely, how do tasks drive our decisions in designing visualizations.


MWF, 9:10-10:00, 129 Featheringill Hall

Lecture Slides

See schedule.


See assignments.

Assignments will be posted at the beginning of class, and will be due at 11:59:59pm on their respective due dates. GitHub will be used to distribute assignments, and Brightspace will be used to submit assignments. This means you will need to have a GitHub account registered with your Vanderbilt email.


See resources.


Late Submission Policy

If an assignment is not submitted on its due date, it may still be submitted within the proceeding 24 hours, but the submission will receive a 15% penality. Beyond 24 hours, no credit for assignments will be given. No exceptions.

Regrading Policy

If you have disagreements with respect to grading of assignments, exams, or the project, you will have one week after having received it to dispute the grade. You may submit a written request for a reassessment, and I will then review the request, determine whether or not to regrade the assignment/exam/project, and perform the reassessment within one week of receiving the request.

Department and University Academic Policies

Academic Honesty

Studuents should adhere to the Vanderbilt Honor System. Cheating or plagiarizing will not be tolerated in this course.

Academic Integrity

More generally, students should act in accordance with the academic integrity policies of the university, please see Vanderbilt’s Academic Integrity for more information.


All student data and information will be protected under FERPA laws. Please refer to the Vanderbilt Student Privacy Statement. Please take care to not disclose any private information during lectures and when submitting assignments.

Nondiscrimination and Anti-Harassment

Vanderbilt is committed to an environment that is free of discrimination and harassment of any kind. If you feel you are being sexually harassed, please see Project Safe. If you feel unsafe, taken advantage of in any way, or mentally/emotionally unwell, please reach out to the Student Care Network.

Subject to Change Statement

Information contained in the course syllabus, other than the general assessment, may be subject to change with advance notice, at the discretion of the instructor.


The design of this course was influenced by other data visualization courses from Alexander Lex, Alvitta Ottley, Hanspeter Pfister, and Carlos Scheidegger.