vis teaser

The amount and complexity of information produced in science, engineering, business, and everyday human activity is increasing at staggering rates. The goal of this course is to expose you to visual representation methods and techniques that increase the understanding of complex data. Visualization for data discovery and communication is an important part of the data science pipeline. Good visualizations not only present a visual interpretation of data, but do so by improving comprehension, communication, and decision making.

In this course you will learn about the fundamentals of perception, the theory of visualization, good design practices for visualization, and how to develop your own web-based visualizations using HTML5, CSS, JavaScript, SVG, and D3.

The course begins by bootstrapping your web development skills, moves on to fundamentals of perception, introduces data types you will encounter, and then focuses on visualization techniques and methods for a broad range of data types. An integral component of the course are regular design critiques and redesigns that will hone your skills in understanding, critiquing and developing visualization techniques.

The course is offered in the fall term 2022 at the University of Utah in three variants: CS-5630 and DS-4630 for undergraduate computer science and data science students; and CS-6630 for graduate students.


Alexander Lex
E-Mail:, please do not send me canvas messages.
Phone: (801) 585-0327
Office: WEB 3887

See the schedule for office hours.

Teaching Assistants

Haihan Lin, PhD student, Visualization / Computer Science
Kiran Gadhave, PhD student, Visualization / Computer Science
Pranav Rajan, MS student, Human-Centered Computing(Visualization) / Computer Science
Tripti Agarwal, PhD student, Formal Method Verification (Previously worked in Visualization) / Computer Science
Shrutika Munnooru (Grader), MS Student

See the schedule for office hours.


Lectures: Tuesday and Thursday 2:00–3:20 pm, James Fletcher Building 103
Labs: By announcement. Observable Notebooks for Labs
Grades: Canvas
Discussion: Slack – please join with your address and use your real name.

YouTube Channel (for live-streams)
YouTube Playlist (for archived videos)

Previous Versions of this Class

If you want to look ahead in the class (in particular regarding slides) you can browse previous versions of the class:

Utah CS-5630/CS-6630 2020
Utah CS-5630/CS-6630 2019
Utah CS-5630/CS-6630 2018
Utah CS-5630/CS-6630 2017
Utah CS-5630/CS-6630 2016

This class is based on two different courses:

Harvard CS 171 2015 Instructor: Alexander Lex

Utah CS-5630/CS5660 2014 Instructor: Miriah Meyer