CS 725/825 - Information Visualization
Spring 2019: Wednesdays, 9:30am-12:15pm, Dragas 1102

Print - Admin




  this week


CS725 @ GitLab

Paper Presentations



Course Overview

"The purpose of visualization is insight, not pictures." -Ben Shneiderman

Catalog Description: This course covers the theory and application of information visualization. Research on graph design, visual perception, cognition, and interaction will be covered. Research and practical techniques for the display of graphs, networks, hierarchies, text, and complex multivariate data will be addressed. Course projects will require the development of interactive web-based visualizations.

The main goal of this course is to equip you with the background and tools needed to develop effective visualizations in your own research and future work. Part of developing effective visualizations requires analyzing existing visualizations and visualization problems. One important piece of developing an effective visualization is knowing what not to do. In addition to studying recommended approaches, this course should also prepare you to rule out visualization approaches where there are mismatches in human capabilities or perception or mismatches with the intended task.

In particular, after completing this course, you should be able to do the following:

  • Explain at a high-level the "why-what-how" framework for analyzing visualization use.
  • Given a visualization, identify the actions the vis allows and the targets of those actions.
  • Given a dataset, develop questions about the data that can effectively be answered with a visualization.
  • Given an academic visualization paper, identify the main visualization problem it addresses and summarize its findings.
  • Describe the channels of visual encoding and order them from most effective to least effective.
  • Identify a visualization where an inappropriate arrange design choice was made and explain why the choice was inappropriate.
  • Explain the importance choosing an appropriate colormap.
  • Critique and redesign an existing visualization.
  • Use D3 to create an effective interactive web-based visualization of real-world data.
  • Explain and defend the design choices that you made in creating your web-based visualization.

Note that there is a distinction between information visualization and scientific visualization (which we will not study). Scientific visualization focuses on data that has a real, physical representation, such as structures in the human body. Information visualization deals with ways to represent abstract data.

This course will be organized based on the "flipped classroom" model. Students will be assigned readings and homework that will be due before class time. There will be few, if any, lectures by the instructor. Class time will be spent on discussions of the assignments, student presentations, and in-class work. It is essential that each student be fully prepared to participate in class discussions each week.

Class Tools:



There are no specific course prerequisites for this course. But I expect you to be comfortable learning new programming languages/tools/APIs and be familiar with Unix. If you need a refresher on Unix, see the CS 252 webpage.

You should also be familiar with HTML, CSS, Javascript, and jQuery. There are many excellent resources available online for these common web languages. Some can be found in the notes from my previous CS 312 and CS 418 courses.

Course Materials

The required textbook for this course is Visualization Analysis and Design by Tamara Munzner

  • includes author's slides from half-day and full-day tutorials, PDF versions of all figures
  • textbook errata
  • author's keynote at d3.unconf (55 min), overview of material from book
    "Tamara Munzner shares a powerful way of thinking about data visualization backed by years of research and practice. She lays out a framework and vocabulary that d3.js practitioners can start incorporating in their work immediately, a perfect opening for the unconference."

For writing help, I always suggest two inexpensive books:

  • Writing for Computer Science by Justin Zobel
  • The Elements of Style by Strunk and White

In addition, see the online writing resources collected on the ODU-CS New Student Resources page.

We will also be studying academic papers in the field of information visualization. These papers are typically available through the ACM Digital Library (off-campus) or IEEE Xplore (off-campus). You can also usually append proxy.lib.odu.edu to the host part of an ACM DL or IEEExplore URI to get access off-campus. If just doing that doesn't work, change the hostname to portal-acm-org.proxy.lib.odu.edu or ieeexplore-ieee-org.proxy.lib.odu.edu as appropriate.

We will often do in-class design and programming exercises. Each student must bring paper, pencil/pen, and laptop to class (or work with another student who has a laptop).


Assignment Types

Your grade in this class will be based on the following components:

Attendance/Participation - 10%

  • in addition to being present, students are expected to be prepared to talk about examples and figures in the required readings, explain learning checks, and discuss their homework submissions
  • will receive points (0-2) for each week of class
  • rubric: 0 - unexcused absence (excused absences must be requested before class), 1 - late to class or not prepared to participate, 2 - on time to class and actively participating in discussions and in-class work
  • online rubric: 0 - no access of the class recording before the next class meeting, 2 - watched the class recording before the next class meeting, actively participating in online discussions

Learning Checks - 10%

  • preparation for the next class meeting, submitted via Blackboard
  • answers should be in your own words, not just copied from the textbook
  • rubric: 0 - not submitted, 1 - answered some questions, answers copied from textbook, or late submission, 2 - answered all questions in own words and submitted on time

Homework - 20%

  • implementing concepts from a previous class meeting, submitted via Blackboard
  • grading scale: 0-10, where 10 is the absolute best (don't expect to get 10s on a regular basis)
    • 2 points are reserved for the required writeup about the assignment
    • late assignments have a maximum score of 8

Project - 20%

  • completing milestones towards the final project, submitted via Blackboard
  • not all milestones will have equal weight (final submission will have the most weight)

Presentation - 15%

  • 10 minute presentation of an academic paper
  • details will be provided later in the semester

Final Exam - 25%

  • demonstrate comprehension and application of concepts discussed during the semester
  • online students - you may need to be available to take the exam during the Final Exam time

Grading Scale

The grading scale is as follows:

% letter grade
94-100 A
90-93 A-
87-89 B+
84-86 B
80-83 B-
78-79 C+
74-77 C
70-73 C-
0-69 F

There is no separate grading scale for PhD students, but PhD students will typically be held to a higher standard.

Late Assignments

Any assignment submitted after its deadline is considered late. Submissions over 48 hours late are not accepted. This time limit includes weekends -- they are counted just like weekdays.

I reserve the right to specify that late submissions will not be accepted for particular assignments.

Course Policies

Typical In-Class Agenda

  • Discuss homework related to previous week's topic
  • Intro/overview/objectives of this week's topic
  • Discuss learning checks
  • Discuss confusing points (addressed anonymously)
  • Student presentation
  • In-class vis design work
  • Assign homework
  • Wrap-up, point to next topic and week's assignments


Students must sign up for the class email list. You do not have to use an ODU email address -- sign up with any email address that you would check daily. I will use this list to send out important updates (assignment deadline changes, class cancellations, office hours cancellations, etc.). You should also use this list to ask (and answer) general course-related questions.

Attendance (in-class students)

Since much of the course is based on discussion and in-class work, I expect you to attend class and to arrive on time. Your grade will be affected if you are consistently tardy. If you have to miss a class, you are responsible checking the course website to find any assignments or notes you may have missed. Students may leave after 15 minutes if the instructor or a guest lecturer does not arrive in that time.

If there are days on which the scheduled class meeting time is cancelled due to weather, there may still be assignments made and due. An email will be sent to the class email list whenever the class meeting time is cancelled.

Group Work

Some assignments (when specified) may be done in groups -- consisting of at most 2 people. Groups exist solely on the mutual agreement of both parties. At any time, if either member wishes to dissolve the group, the group will be split. No new teams can be formed after the first group assignment is due. Members of the split group will have access to the shared code base at the time of the split.

We will be using the ODU-CS Gitlab Community. Once the class is over, you can easily import your projects to GitHub. Don't be surprised if you are asked for your GitHub account when you interview for jobs.

Classroom Conduct

Please be respectful of your classmates and instructor by minimizing distractions during class. Cell phones must be turned off during class. Laptops must be closed during student presentations.

Make-up Work

Make-ups for graded activities are possible only with a valid written medical or university excuse. It is the student's responsibility to give the instructor the written excuse and to arrange for any makeup work to be done. A makeup exam may be different (and possibly more difficult) than the regularly scheduled exam.

Disability Services

In compliance with PL94-142 and more recent federal legislation affirming the rights of disabled individuals, provisions will be made for students with special needs on an individual basis. The student must have been identified as special needs by the university and an appropriate letter must be provided to the course instructor. Provision will be made based upon written guidelines from the University's Office of Educational Accessibility. All students are expected to fulfill all course requirements.

Students are encouraged to self-disclose disabilities that have been verified by the Office of Educational Accessibility by providing Accommodation Letters to their instructors early in the semester in order to start receiving accommodations. Accommodations will not be made until the Accommodation Letters are provided to instructors each semester.

Seeking Help

The course website should be your first reference for questions about the class. If you have questions about course requirements or materials, post (and answer) questions using the class email list.

The best way to get help is to come to office hours. If you cannot make office hours, please send an email to setup an appointment.

I am available via email, but do not expect or rely on an immediate response.

Academic Integrity

Old Dominion University is committed to students' personal and academic success. In order to achieve this vision, students, faculty, and staff work together to create an environment that provides the best opportunity for academic inquiry and learning. All students must be honest and forthright in their academic studies. Your work in this course and classroom behavior must align with the expectations outlined in the Code of Student Conduct, which can be found at https://www.odu.edu/oscai.

The following behaviors along with classroom disruptions violate this policy, corrupt the educational process, and will not be tolerated.

  • Cheating: Using unauthorized assistance, materials, study aids, or other information in any academic exercise.
  • Plagiarism: Using someone else's language, ideas, or other original material without acknowledging its source in any academic exercise.
  • Fabrication: Inventing, altering or falsifying any data, citation or information in any academic exercise.
  • Facilitation: Helping another student commit, or attempt to commit, any Academic Integrity violation, or failure to report suspected Academic Integrity violations to a faculty member.

In particular, submitting anything that is not your own work without proper attribution (giving credit to the original author) is plagiarism and is considered to be an academic integrity violation. It is not acceptable to copy source code or written work from any other source (including other students, online resources), unless explicitly allowed in the assignment statement. In cases where using resources such as the Internet is allowed, proper attribution must be given.

Any evidence of an academic integrity violation (cheating) will result in a 0 grade for the assignment/exam, and the incident will be submitted to the Department of Computer Science for further review. Note that academic integrity violations can result in a permanent notation being placed on the student's transcript or even expulsion from the University. Evidence of cheating may include a student being unable to satisfactorily answer questions asked by the instructor about a submitted solution. Cheating includes not only receiving unauthorized assistance, but also giving unauthorized assistance. For class files kept in Unix space, students are expected to use Unix file permission protections (chmod) to keep other students from accessing the files. Failure to adequately protect files may result in a student being held responsible for giving unauthorized assistance, even if not directly aware of it.

Students may still provide legitimate assistance to one another. You are encouraged to form study groups to discuss course topics. Students should avoid discussions of solutions to ongoing assignments and should not, under any circumstances, show or share code solutions for an ongoing assignment.

All students are responsible for knowing the rules. If you are unclear about whether a certain activity is allowed or not, please contact the instructor.

More information on academic integrity is available on the ODU-CS academic integrity page and at the Office of Student Conduct and Academic Integrity.