COMP4901F Data Visualization


Lectures: Mon. 1:30pm-2:50pm/ Fri. 9am – 10:20am Venue: Rm 2302

Huamin Qu (Email: Office: Rm 3503. Phone: 2358-6985 )


| Syllabus | Schedule & Notes | References | lab |


      For Phase 1 of your project, there is no need to write a report. A project presentation in class will be fine.

      The sign-up sheet for Phase 1 reprot:

      The sign-up sheet for top vis competiton:

      The sign-up sheet for the course projects is now available: . Each project team can have 3 or 4 members.

      The lab will start from Week 3


Course Description:

This course will introduce visualization techniques for data from everyday life, social media, business, scientific computing, medical imaging, etc. The topics include human visual system and perception, visual design principles, open- source visualization tools and systems, visualization techniques for CT/MRI data, computational fluid dynamics, graphs and networks, time-series data, text and documents, Twitter data, and spatio-temporal data. The labs and the course project will give students hands-on experience to turn their favorite data into beautiful visualizations.


Lecture Notes  




Reading (chapters)


Supporting Materials

Week 1



intro_admin intro_vis_1 intro_vis_2 intro_vis_3

Rosling's 200 years' human history in 4 mins

Week 2

Color and Perception




Week 3

Visual Design Principles


Visual Design Principles from Tufte Data and Visual Channels



Week 4

Visual Design Tasks and Rules





Week 5

Visual Analytics of Trajectories




Week 6

Visual Analytics of Multi-Dimensional Data


Multi-Variate Data Visualization

Multi-Dimensional Data Visualization

Week 7

Text Data Visualization




Week 8

Graph Visualization


Graph Large Graph


Visual Analysis of Graphs

Week 9



Validation Evaluation


Week 10

Narrative Visualization


Narrative Visualization

Week 11

Volume Rendering


Volume Rendering

Week 12

Flow Visualization


Flow Visualization


Lab Schedule:





Supporting Materials

Lab 1

Basics of javascript

Calculate the average of an array and display the result on the screen.

Tutorial slides Skeleton code

Lab 2


Generate one SVG from a required list, or generate a SVG with similar complexity with the SVG from the list.

Tutorial slides Skeleton code

Lab 3


Generate several paths according to the requirement

Tutorial slides Skeleton code

Lab 4


Force-directed graph

Tutorial slides Skeleton code

Lab 5

Transtion and intereaction of D3.js

Box plot

Tutorial slides Skeleton code

Lab 6

More D3.js

Parellel coordinates

Tutorial slides Skeleton code


Grading Scheme:

  • Final Exam (30%)
  • Essay (10%)
  • In-Class Exercise (10%)
  • Final project (50%)

Course Project:


1. Each group can have 4 students. Students can find their teammates and those students who fail to form their own group will be assigned by the instructor.


2. Each group will pick one of the following topics. Students are also allowed to pick topics based on thier own interests, but they need to consult with the instructor beforehand. Based on the picked topic, each group will be assigned a project mentor. If you wan to suggest your own topic, please direclty talk to the professor and submit a proposal.


Topic #1: Spatio-temporal Visual Analytics. (The IEEE VGTC VPG International Data-Visualization Contest 2016)


Topic #2:VAST chanllenge, 2016


Topic #3:VAST chanllenge, 2013

Topic #4:VAST chanllenge, 2009


3. Evaluation. The project will be seperated into two phases.


In phase I, each group need to get familiar with the task and the data. As a result, they need to hand a report including the following: 1. what is the general structure of the data. 2. what is the design requirement. 3. what is your design. 4. Is there any design alternatives you have considered. 5. why you choose your appraoch over others.


phase I will count 20% of the whole project and due on Mar. 30.


In phase II, each group need to implement their design. Both static and dynamic visualization are allowed. phase II will count 80% of the whole project and due on May. 15. The evaluation contains two parts:

  1. each group need to demonstrate their result, including demo their results, describe their design through their figures/system, illustrate how they found the patterns. This part count 60% of phase II.
  2. each student will be asked to descirbe his/her own contribution, and will be asked a few questions about the code and how is thier system work. This part count 40% of phase II.




Conferences and Journals: