CS 499/549, Winter 2022
Visual Analytics

(Slash Course: CS 499 Special Topic / CS 549 Selected Topic in Data Science & Systems)

School of Electrical Engineering and Computer Science
Oregon State University

Tue & Thu at 4:00 - 5:20pm
Bexell Hall 415

Prof. Minsuk Kahng
Assistant Professor, School of Electrical Engineering and Computer Science
Website: https://minsuk.com

Course Description

How can we help people effectively analyze very large data? This new course introduces visual analytics, an emerging field of study on combining interactive data visualization approaches with automated data analysis techniques, enabling users to gain deeper insights about their data. Students will learn the fundamental knowledge of data visualization, state-of-the-art techniques in visual analytics, and practical skills for designing and implementing web-based interactive, visual interfaces, with the goal of helping human users effectively explore and analyze data and make data-driven decisions.

Learning Objectives

At the completion of this course, students will:

  1. Understand the foundations for visualizing large data for analysis
  2. Learn a wide range of techniques for representing large and complex datasets and enabling human users to interact with visualizations for their data exploration and analysis
  3. Learn how to design and implement interactive data visualization interfaces to help users perform data analysis tasks
  4. Understand recent techniques to visualize and interact with machine learning models, results, and datasets


There is no requirement, but it is strongly recommended to have web development experience (CS 290), because students will be using JavaScript and HTML/CSS for programming assignments and project. We will have lab sessions to cover the basics of JavaScript.

Course Topics

  1. Fundamentals of Data Visualization
    • What is Data Visualization?
    • Data Models
    • Multivariate Data Visualizations
    • Graphical Encodings
    • Visual Perception
    • Color
    • Interactions (e.g., Overview & Details, Focus+Context)
  2. Visual Analytics
    • Exploratory Data Analysis and Tableau
    • Task Analysis
    • Graph, Tree, and Text Data Visualizations
    • Visualization for Machine Learning
    • High-dimensional Data Visualizations (e.g., t-SNE)
  3. Lab: Building Visualization and Interactive Tools
    • HTML/CSS, SVG, and JavaScript Basics
    • JSON and Vega Visualization
    • Reactive Web Framework (using Svelte)
    • Drawing Visual Representations from Data
    • Supporting Interactions with Data
    • D3.js Components


Your performance will be evaluated via projects, individual assignments, quizzes, and participation. The distribution of grading will be as follow (subject to change):

  • Team Project: 30%
  • Individual Assignments (a mix of programming and non-programming): 35%
  • Quizzes: 25%
  • Participation: 10%

Graduate students who take CS 549 will have additional assignments on writing research paper reading responses and/or a short research survey.

Note: The team receives one grade for the group project. However, allocation of the grade among team members will in some cases not be equal, if team members do not contribute relatively equally to the effort.

Projects and Assignments

Term Project

By the end of the term, your team will develop a web application that visualizes large-scale real world data, as a final product of your group project. It will likely be a single-page web application that runs on web browsers, written in JavaScript based on what you will learn from lab sessions. The individual assignments will include programming exercises that help you learn how to implement such a web-based visualization tool.

Assignments Tentative
  1. Visualization Design
  2. Exploratory Data Analysis
  3. Programming Exercise: Visualizing Data
  4. Programming Exercise: Interactive Visualization
  5. (Grad Only) A Short Survey Article on Visualization Subtopics


Required readings and papers will be provided. There is no required textbook.

The following textbook will be used for some of our pre-class readings, but you don't have to buy it.

Visualization Analysis and Design
Author: Tamara Munzner
Publishers: CRC Press
Publication Year: 2014
Available for free as an online book from the OSU Library.

Announcements and Questions

We use Canvas for all announcements and submissions.

We use Piazza for questions and discussion. The fastest way to get help with homework assignments is to post your questions on Piazza. That way, our TAs and instructor can help, and your peers can too.

If you prefer that your question addresses to only our TAs and the instructor, you can use the private post feature (i.e., check the "Individual Students(s) / Instructors(s)" radio box). For special cases such as failed submissions due to system errors, missing grades, failed file uploads, emergencies that prevent you from submitting, personal issues, you can contact the staff using a private Piazza post. Emails will *not* be the fastest way to get response from the staff. Please use Piazza first.

TA & Office Hours


The instructor and TA will hold office hours starting Week 2.

Classroom Policies

This class is our community. Every student should feel safe and welcome to contribute in this course, and it is all of our jobs to make sure this is the case. I will try to establish this tone whenever possible, but ultimately the responsibility for cultivating a safe and welcoming community belongs to the students---that means you! Fortunately, forming a safe and welcoming community is not too hard. A good place to start is to recognize (and continually remind yourself) of the following facts:

  • Your classmates come from a variety of cultural, economic, and educational backgrounds. Something that is obvious to you may not be obvious to them, and vice versa.
  • Your classmates are human beings with intelligence and emotions. This applies even when one or the other of you is posting anonymously. Rudeness and disrespect are unprofessional, and have no place in this course or in your career.
  • Your classmates are here to learn. They have the right to pursue their education without being distracted by others' disruptive behavior, or made uncomfortable by inappropriate jokes or unwanted sexual interest.

In addition, the OSU Expectations for Student Conduct apply.

In short, treat your classmates as respected colleagues, support each other when needed, have fun without spoiling it for anyone else, and everybody wins.

Academic Integrity

Academic dishonesty will not be tolerated in this course. This includes plagiarism, cheating, and knowingly assisting others in either of these. (Please see the OSU Code of Student Conduct Section 4.2 "Academic Misconduct" for official guidelines.) If you are found to be guilty of academic dishonesty, you will receive a penalty grade (0 on the assignment and additional deduction on other assignments within the same category) and be reported to the Office of Student Conduct and Community Standards. You will also face the possibility of further disciplinary action (such as suspension from class, your program, or the university). Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use. It is important that you understand what student actions are defined as academic misconduct at Oregon State University. The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the OSU Student Code of Conduct and the Office of Student Conduct and Community Standard’s website for more.

Plagiarism: Remember that ANY sources you use in your assignment must be cited, including any electronic sources. Plagiarism is preventable. If you have any questions about how to use outside resources properly, what counts as plagiarism, etc., please ask me. The following are some general examples of plagiarism: copying without quotation marks, copying someone else's code or scripts, copying someone else's design, using someone else's facts or ideas without citing your source, paraphrasing someone else's writing without acknowledgment, taking passages from another author, with slight changes to grammar or to the arrangement of the sentences, which make little or no difference to the meaning: This is plagiarism!

Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Related Courses

CS 499/549 is designed based on a number of visualization courses offered in other universities. Below I list some of them. I especially thank Professors Jeffrey Heer and Enrico Bertini for sharing their materials with me.