CSC 444 - Data Visualization

Course Syllabus

Description of Course

In this course, you will learn how, and why, to create data visualizations.

A “visualization” is simply a visual representation of an object of our interest. It’s visual: we consume them with our eyes, and so it is essential that we know how our eyes work – and, more importantly, the parts of our brains connected to our eyes. It’s also a representation; we get to choose what this representation will be, and different choices lead to different pictures, some good and some bad. We will learn how to tell those apart, and how to make pictures that are more good than bad.

Good data visualization involves perceptual psychology, mathematics, and computer science. This makes our subject uniquely challenging: sometimes the way our eyes work stands in way of applying some beautiful result from computer science. Sometimes it’s the other way around: something deep about the math in the data will help guide the design process and let us make a picture that is beautiful, informative, and truthful.

Course Prerequisites or Co-requisites

CSC 335 (Object-Oriented Programming and Design) and CSC 345 (Analysis of Discrete Structures) 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.

We will write most of our code using the web stack. This means we are targeting modern web browsers, and writing our programs in a combination of HTML, CSS, and JavaScript. If you don’t know these technologies, you will be expected to learn them. CSC 337 (Web Programming) is not a format pre-requisite for this course, but it might be considered helpful.

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 discussions.

Course Objectives and Expected Learning Outcomes

The content of the course is split roughly in three distinct aspects of visualization: mechanics, principles, and techniques.

Mechanics: You will learn how the modern web stack enables performant and portable data visualization programs. You will learn to use some of the most popular data visualization libraries, you will learn how they are implemented, and their limitations. Expected outcomes include.

Principles: These principles are based on perceptual psychology and physiology, and how they constraint the algorithms for displaying data effectively and efficiently. They also intertwine with a collection of design principles the design process that includes abstracting, encoding, and interacting with data. Expected outcomes include:

Techniques: You will learn the fundamental algorithms behind many of the techniques created to display data effectively. Expected outcomes include:

Course Content


Lecture Topics

Week Date Monday Date Wednesday
1 Jan 13 -- No Class -- Jan 15 Introduction
2 Jan 20 -- MLK Day -- Jan 22 HTML/CSS/SVG Basics
3 Jan 27 Javascript Basics Jan 29 Javascript + DOM, SVG
4 Feb 03 d3 Intro Feb 05 d3 Joins and Scales
5 Feb 10 Design Principles Feb 12 Perception
6 Feb 17 Data Abstraction Feb 19 Visual Encoding
7 Feb 24 Color Feb 26 Tasks and Interaction
8 Mar 02 Views, Focus+Context Mar 04 Midterm
9 Mar 09 -- Spring Break -- Mar 11 -- Spring Break --
10 Mar 16 Online Reboot Mar 18 Tabular Arrangements
11 Mar 23 Hierarchies/Trees Mar 25 Graphs
12 Mar 30 Cartography Apr 01 Interpolation
13 Apr 06 Isosurfaces Apr 08 Volumetric Data
14 Apr 13 Volume Rendering Apr 15 Transfer Function Design
15 Apr 20 Flow Data Apr 22 Flow Visualization
16 Apr 27 Uncertainty Apr 29 Text and Sets
17 May 04 Retrospective May 06 Final Exam Review

Required Texts and Readings

Assignments and Examinations

Programming Assignments (58% of final grade)

Name Topic Post Date Due Date Graded By Percentage
Assignment 01 Survey Jan 15 Jan 27 Feb 03 1
Assignment 02 HTML + SVG Jan 27 Feb 03 Feb 10 5
Assignment 03 Javascript Feb 03 Feb 10 Feb 17 5
Assignment 04 D3 Feb 10 Feb 17 Feb 24 5
Assignment 05 Scales, Axes, Transitions Feb 17 Feb 24 Mar 02 5
Assignment 06 Color Spaces Feb 24 Mar 02 Mar 09 5
Assignment 07 Linked Views, Brushing Mar 02 Mar 18 Mar 25 5
Assignment 08 Parallel Coordinates Mar 18 Mar 27 Apr 03 5
Assignment 09 Treemaps Mar 25 Apr 06 Apr 13 6
Assignment 10 Marching Squares Apr 06 Apr 15 Apr 22 6
Assignment 11 Transfer Functions Apr 15 Apr 27 May 04 5
Assignment 12 Flow Visualization Apr 22 May 04 May 11 5
Assignment 13 Review (Extra Credit) Apr 29 May 06 May 11 0
Total Assignment Percentage: 58

Class Participation (10% of final grade)

This 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, and homework reviews. Obviously, students not attending class are not contributing in this way.

Midterm Examination (14% of final grade)

A midterm exam will be held in class on Wed., Mar 4, and it will cover all material discussed in class prior to the date of the examination.

Final Examination (18% of final grade)

The final examination will be comprehensive. A review will be conducted on the final lecture.

Exam Date/Time/Location: Tues., May 12, 3:30-5:30pm, Online

See also,

Submission, Lateness, and Revision Policy

All assignments have a fixed due date. Revisions and resubmissions after grading will not be accepted.

Submission for programming assignments will be due on 3:29: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.

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 for groups of more than three students that are pre-approved by the UA Dean of Students (or Dean 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. To request a disability-related accommodation to this attendance policy, please contact the Disability Resource Center at (520) 621-3268 or If you are experiencing unexpected barriers to your success in your courses, the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call 520-621-7057.

Nevertheless, absences may affect a student’s final course grade. 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 at a deadline set in consultation with the instructor.

Course Communications

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

Grading Scale and Grading Policies

Grades will be assigned based on the following scale:

Grading will be based on performance on the set of assignments, the midterm and final exam, and class participation:

Each assignment description will include a specific rubric for how it is graded, typically out of a score between 0 and 100. 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.).

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.

Pronoun Preference

All people have the right to be addressed and referred to in accordance with their personal identity. In this class, we will have the chance to indicate the name that we prefer to be called and, if we choose, to identify pronouns with which we would like to be addressed. I will do my best to address and refer to all students accordingly and support classmates in doing so as well.

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.

Accessibility and Accommodations

The Disability Resources Offices provides guidelines regarding accessibility and accommodations:

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

Confidentiality of Student Records


Land Acknowledgment

The University of Arizona sits on the original homelands of indigenous peoples who have stewarded this land since time immemorial. Aligning with the university’s core value of a diverse and inclusive community, it is an institutional responsibility to recognize and acknowledge the people, culture, and history that make up the Wildcat community. At the institutional level, it is important to be proactive in broadening awareness throughout campus to ensure our students feel represented and valued.

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.