CSC 544 - Data Visualization

Course Syllabus

Course Description

This course introduces material on the theory and practice of designing effective visualizations of data from numerous sources. A broad overview to the field is presented, covering principles, methods, and techniques that are foundational to both information and scientific visualization.

Data visualization is a field of growing importance that combines background expertise in computer graphics, scientific computing, data mining, and image processing. It couples these fields with artistic, psychological, perceptual, and interactivity concerns. The techniques learned in this class are broadly applicable to all fields in engineering and science, where the explosion of data we are now able to generate demands effective presentation and analysis.

Course Prerequisites or Co-requisites

Students are expected to have advanced programming skills in C++ and introductory knowledge of linear algebra and calculus. Completed material in computer graphics topics (e.g. CSC 433/533 or equivalent) is helpful but not required, nor is undergraduate data visualization (i.e. CSC 444). While students majoring in areas other than CSC are encouraged to enroll, certain topics may prove challenging. Please contact the instructor if you are unsure if you satisfy the prerequisites.

Instructor and Contact Information

Course Format and Teaching Methods

Primarily, the format is driven by lectures combined with in-class discussion. Out-of-class activities include readings in relevant textbooks and research papers, programming assignments, take-home exercises, and online discussion forums and critiques.

Course Objectives and Expected Learning Outcomes

This course will provide a thorough grounding in the state of the art data visualization. It is designed to prepare students to

Course Topics

Lecture Topics

Week Date Tuesday Date Thursday
1 Jan 10 -- No Class -- Jan 12 Introduction
2 Jan 17 OF / Intro to Drawing Jan 19 Design Principles
3 Jan 24 Perception Jan 26 Data Abstraction
4 Jan 31 Spatial Data Feb 02 Visual Encodings
5 Feb 07 Color Feb 09 Tasks and Interaction
6 Feb 14 Interaction in OF Feb 16 Views
7 Feb 21 Focus + Context Feb 23 Filtering and Aggregation
8 Feb 28 Tabular Data Mar 02 Trees and Graphs
9 Mar 07 Maps and Geospatial Mar 09 Isosurfaces
10 Mar 14 -- Spring Break -- Mar 16 -- Spring Break --
11 Mar 21 Isosurfaces 2 Mar 23 3D Graphics
12 Mar 28 Volume Rendering Mar 30 Transfer Function Design
13 Apr 04 Topological Features Apr 06 Vector Fields
14 Apr 11 Vector Fields 2 Apr 13 Tensor Fields
15 Apr 18 Topo. Features 2 Apr 20 Time-Varying Data
16 Apr 25 Uncertainty Apr 27 Text and Sets
17 May 02 Final Exam Review

Assignments (to be completed outside of class)

Name Topic Post Date Due Date Percent
Assignment 00 Logistics Jan 12 Jan 16 11:59:59 PM 3
Assignment 01 OFVis Jan 17 Jan 30 11:59:59 PM 7
Assignment 02 ParaView Jan 31 Feb 13 11:59:59 PM 7
Assignment 03 SPLOMs Feb 14 Feb 27 11:59:59 PM 7
Assignment 04 PCs Feb 28 Mar 20 11:59:59 PM 8
Assignment 05 Isosurfaces Mar 21 Apr 03 11:59:59 PM 7
Assignment 06 TFs Apr 04 Apr 17 11:59:59 PM 8
Assignment 07 FlowVis Apr 18 May 01 11:59:59 PM 8
Total Assignment Percentage: 55
Design Critiques Rolling 5
Paper Quizzes Periodic 10


There will be no midterm.

Final Exam: Tues, May 09, 8-10am, 701 Gould-Simpson

Course Policies

Absence and Class Participation Policy

The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at

The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable:

Absences preapproved by the UA Dean of Students (or dean’s designee) will be honored. See

Participating in the course and attending lectures and other course events are vital to the learning process. That said, attendance is not required for lectures. Students who miss class due to illness or emergency are not required to bring documentation from their health-care provider or other relevant, professional third parties. Nevertheless, class participation is an important part of your grade in this course, and it is impossible for a student to participate and the instructor to gauge participation if a student does not attend.

Late Instructor

Your instructor will make every effort to be in class on time, or to inform you of any delay or cancellation. In the unusual event that he should not arrive in class or send word by 15 minutes from the class start time, the class is officially cancelled.

Makeup Policy for Students Who Register Late

Students who register after the first class meeting may make up missed assignments/quizzes at a deadline set in consultation with the instructor.

Course Communications

We will use official UA email as the primary mode of contact. In addition, Piazza will also be used. D2L will be used only for the instructor to securely distribute grades to students.

Required Texts and Readings

Additional Reference Reading Materials

Assignments and Examinations: Schedule/Due Dates

Programming Assignments

This course will involved 8 programming assignments, each spanning approximately two weeks from posting date to due date (except for the first assignment, which is much shorter). All programming assignments will be completed in C++, built with CMake and rely on the openFrameworks library. Certain assignments will also employ VTK.

Most assignments also will require a written assignment report that answers specific questions regarding design decisions and implementation details.

Design Critiques

In addition, all students will perform one design critique for a visualization of their choice found from popular such as a newspaper, textbook, or magazine. Scientific magazines such as Nature or Science are allowed, but visualization journals and venues, where the topic of the work in question is primarily visualization, is not allowed.

Each week several students will post a design critique on our Piazza site. You are responsible to post one design critique during the semester and to actively participate in a discussion of a critique each week. Thus, the due dates for these are rolling.

Paper Quizzes

Staying up to date with current visualization research is an essential part of this course. Most lectures will involve at least one required reading material, frequently in the form of a related research paper. In addition, many lectures will include recommended reading, that is not required, but rather supplementary to the current lecture.

In lieu of a midterm, the instructor will solicit written responses, submitted electronically, that form ten quizzes on certain assigned readings. To prevent only selective readings, such quizzes will be assigned periodically and with no more than one weeks notice beforehand. All quizzes will be announced through Piazza.

Submission, Lateness, and Revision Policy

All programming assignments, design critiques, and quizzes have a fixed due date. Revisions and resubmissions after grading will not be accepted.

Submission for programming assignments, quizzes, and design critiques will be due on 11:59:59PM of the due date unless otherwise noted. A late submission will receive a penalty of 10% per day for each work day it is late, up to a maximum of 5 days late. Grades for assignment submitted late may not be posted within the same time frame as assignments submitted on time, but the instructor will make their best effort to expedite the grading of late submissions.

Class Participation

The class participation grade is the instructor’s subjective judgement of the student’s contribution to a lively classroom atmosphere. He will consider mainly active, informed participation in classroom discussions, quiz and homework reviews. Obviously, students not attending class are not contributing in this way.

One component of the participation grade will be evaluating the design critiques of others. Each week, design critiques will be analyzed by the class as a whole. Positive feedback and constructive criticism will be provided to the student(s) who completed that week’s critique.

Final Examination or Project

The final examination will be comprehensive. Quizzes will provide sample questions and a review will be conducted on the final lecture.

Exam Date/Time/Location: Tues, May 09, 8-10am, 701 Gould-Simpson

See also,

Grading Scale and Policies

Grades will be assigned based on the following scale:

Grading will be based on performance on the set of programming assignments, the class final exam, quizzes based on paper readings, design critiques, and class participation, using the following percentage distribution:

Each assignment will include a specific rubric for how it is graded, typically out of a score between 0 and 10. Scores on such assignments will be weighted according to the relative point value of each assignment as highlighted above.

Department of Computer Science Grading Policy:

  1. Instructors will explicitly promise when every assignment and exam will be graded and returned to students. These promised dates will appear in the syllabus, associated with the corresponding due dates and exam dates.
  2. Graded homework will be returned before the next homework is due.
  3. Exams will be returned “promptly”, as defined by the instructor (and as promised in the syllabus).
  4. Grading delays beyond promised return-by dates will be announced as soon as possible with an explanation for the delay.

Requests for incomplete (I) or withdrawal (W)

Request must be made in accordance with University policies, which are available at and, respectively.

Dispute of Grade Policy

After receiving any grade for any submission, a student has 24 hours to respond to the instructor with any disputes in an email with the subject “Grade Dispute”. Such a response must enumerate a specific set of disputed items for the submission and provide evidence that each item was improperly graded. The instructor will then completely regrade the entire submission, including both the disputed items as well as non-disputed items, with the potential for all aspects of the grade to change.

Department and University Policies

Department of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).

Inclusive Excellence is a fundamental part of the University of Arizona’s strategic plan and culture. As part of this initiative, the institution embraces and practices diversity and inclusiveness. These values are expected, respected and welcomed in this course.

Students are asked to refrain from disruptive conversations with people sitting around them during lecture.

Some learning styles are best served by using personal electronics, such as laptops and iPads. Nevertheless, these devices can be distracting to other learners. While all students are welcome to use personal electronics in class, they must be used in a way that does not disrupt either the instructor or other students’ experience.

Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.

Threatening Behavior Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See

Content Warning

While the instructor does not intend to include topics and/or course material includes content that are explicit or offensive in any way. The instructor will make every effort to provide advance notice when such materials may potentially be or potentially violate this intent. Please contact the instructor to discuss any content-related concerns, as alternative materials may be available.

Elective Name and Pronoun Usage

This course supports elective gender pronoun use and self-identification; rosters indicating such choices will be updated throughout the semester, upon student request. As the course includes group work and in-class discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect.

Accessibility and Accommodations

Our goal in this classroom is that learning experiences be as accessible as possible. If you anticipate or experience physical or academic barriers based on disability, please let me know immediately so that we can discuss options. You are also welcome to contact the Disability Resource Center (520-621-3268) to establish reasonable accommodations. For additional information on the Disability Resource Center and reasonable accommodations, please visit

If you have reasonable accommodations, please plan to meet with me by appointment or during office hours to discuss accommodations and how my course requirements and activities may impact your ability to fully participate.

Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.

Code of Academic Integrity

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See

The University Libraries have some excellent tips for avoiding plagiarism, available at Publicly available sources for code or other material, in small amounts, may be freely used if appropriately attributed. A good rule of thumb: when in doubt about whether the use of small snippets of code not your own in a programming assignment is allowed, first ask the instructor.

Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent. Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.

UA Nondiscrimination and Anti-harassment Policy

The University is committed to creating and maintaining an environment free of discrimination; see

Our classroom is a place where everyone is encouraged to express well-formed opinions and their reasons for those opinions. We also want to create a tolerant and open environment where such opinions can be expressed without resorting to bullying or discrimination of others.

Additional Resources for Students

UA Academic policies and procedures are available at

Student Assistance and Advocacy information is available at

Office of Diversity information is available at

Campus Health information may be found here:

OASIS Sexual Assault and Trauma Services:

Confidentiality of Student Records


Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.