CPSC 436V: Topics in Computer Science - Information Visualization, Jan 2020

Instructor: Tamara Munzner
First Class: Tue Jan 7 2020
Lecture: Tue/Thu 2-3:30, DMP 301
Labs: Fri 9-10, 11-12, 4-5, ICICS/CS Room 015
UBC Calendar Page: CPSC 436V

Course Description

Design and implement static and interactive visualizations. Select appropriate visualization methods for a given combination of data type and intended analysis task. Assess visual representations according to design and perceptual principles.


The prerequisite for this course is CPSC 310, which provides an introduction to the JavaScript programming language used in this course (and also experience on software projects). The inherited prerequisites are thus CPSC 210 and one of CPSC 107, CPSC 110, CPSC 260.


This page is preliminary and subject to change.

This course will provide an undergraduate-level introduction to visualization, with D3.js tooling that provides practice with modern web-based development environments. It will train CS majors in visualization for data exploration and presentation. These foundational skills are a crucial cornerstone of data science and are increasingly required in many other areas ranging from business to data journalism.

The course will be a hybrid partially-flipped approach. The D3 tooling will be taught in the first eight weeks through a combination of pre-lab videos (checked by online quizzes), in-class work (during lab sessions), and post-class work (checked by programming exercises). The fundamentals will be taught in the first twelve weeks through a combination of in-class lecture, in-class active learning, and post-class work (checked by foundations exercises).

The final project, in the final four weeks, will require integration and synthesis of the material initially covered in both the programming exercises and the foundational exercises. The students have the option of working either in pairs or alone. The completed project will result in portfolio materials that showcase both technical achievements through interactive visualizations that can be demonstrated in any modern web browser, and the ability to communicate clearly in writing through the written process log.

The labs (1 hr/week) will provide regular and structured time for working on exercises and the final project with individualized attention from TAs. There will also be additional TA office hours for further in-person individual help.

The exams will focus on assessing the foundations material in a solo setting, rather than the assessment of programming skills which will occur through the final project. The midterm will be in week 9, after the weekly programming exercises conclude and before the project work begins.

Course Learning Outcomes

By the end of this course, students will be able to:

Assessment Criteria and Grading

Students will be graded on a numerical basis. The grading scheme will be as follows:

The students must pass the final exam and the final project to pass the course. The workload is designed to be 12 hours per week in total, 4 in class (lecture and lab) and 8 outside of class.

Weekly Schedule Summary


Weekly Schedule Details

Temporary URL of this page is http://www.cs.ubc.ca/~tmm/courses/436V-20
Tamara Munzner
Last modified: Thu Sep 26 01:33:50 PDT 2019