CS 3891.06 / 5891.06 - Introduction to Visualization
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.
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..
Equipped with an understanding of visualization basics, we will then delve into techniques. We will consider the following:
- Spatial arrangements: spatial layouts, small multiples
- Interaction: camera manipulation, transitions, linked views, brushing
- Time-series data: horizon maps, streamgraphs, sankey diagrams
- Hierarchical data: tree maps, sunburst
- Graph data: node-link diagrams, adjacency matrices, graph layout techniques
- High-dimensional data: parallel coordinates, scatterplot matrices, dimensionality reduction
- Text data: topic models, word embeddings
- Set data: containment, intersections
- Geospatial data: choropleth maps, density estimation
- Scalar data: color maps, contouring
- Vector data: glyphs, streamlines, image-based techniques
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.
office hours: MW 2:00-3:00, JH 379
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.
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.
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.
MWF, 9:10-10:00, 129 Featheringill Hall
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.
- Programming Assignments: 40%
- Project: 35%
- Exams (mid-term and final combined): 20%
- Class Participation: 5%
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.
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
Studuents should adhere to the Vanderbilt Honor System. Cheating or plagiarizing will not be tolerated in this course.
- Do not copy, in any way, another student’s work when it comes to programming assignments.
- There are many D3 resources on the web, and you may be tempted to use some of this code to complete your programming assignments. I strongly discourage this, as you will not intellectually benefit from copying/pasting code on the web. Having said that, if you decide to use pieces of code from external resources, cite it. If you do not, then I will treat this as plagiarism.
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.