CSC 444 - Data Visualization (Spring 2024)
Mon./Wed. 3:30-4:45pm, Gould-Simpson, Rm 906
Course Syllabus
- Course Description
- Course Content
- Course Policies
- Grading Policies
- University and Department Policies
Course Description
This course will present the fundamentals of data visualization, the art and science of using a computer to generate visual depictions of data. The course will present the foundations of graphic design, perceptual psychology and cognitive science, as well as the algorithmic basis for many for the visualization techniques. While statistical techniques may determine correlations among the data, visualization helps us frame what questions to ask.
The course is targeted at students looking for effective ways of understanding data from their own fields, as well as students interested in learning the fundamentals that will enable them to build and improve the state of the art. The successful student will learn to design, critique and improve data visualizations.
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 formal pre-requisite for this course, but it might be considered helpful.
Instructor and Contact Information
- Instructor: Joshua A. Levine
- Phone: +1-520-621-3153
- Email: [username]@arizona.edu, my username is josh.
- Office: GS 754
- Office Hours: Tues./Thurs. 3:30-4:30pm
- Office hours are time the instructor(s) reserves for meeting with students, either one-on-one or in small groups, to discuss assignments, projects, as questions related to course materials, or to seek mentoring advice.
- If the above times are not sufficient, we can schedule an appointment (via email or private message on Piazza) to meet.
- Open Door Policy: if my office door is open, please feel free to stop by and inquire if I have available time. If my door is completely closed, it typically indicates I am in an (uninterruptible, except for emergencies) meeting or phone call. Please use your best discretion.
- TAs:
- Md Asiful Islam; asifulislam@arizona.edu
- Ryn Gray; ryngray@arizona.edu
- TA Office Hours (primarily for issues with grading):
- Md Asiful Islam: Mon. 11:00am-12:00pm, GS 942
- Ryn Gray: Wed. 12:00-1:00pm, GS 942
- Course Page: https://jalevine.bitbucket.io/csc444/s24/
- Instructor Homepage: http://www.cs.arizona.edu/~josh
- D2L: https://d2l.arizona.edu/d2l/home/1406513
- Piazza: https://piazza.com/arizona/spring2024/csc444/home (preferred mode of communication)
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
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.
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.
Techniques: You will learn the fundamental algorithms behind many of the techniques created to display data effectively.
Expected Learning Outcomes
At the end of this course, students will have learned to:
(Expected outcomes for Mechanics)
- Implement basics in HTML, CSS, Scalable Vector Graphics, Javascript
- Build visualizations in d3 using the concepts of selections, scales, transitions, events
(Expected outcomes for Principles)
- Use appropriate scales of measurement in visualizations
- Choose appropriate perceptual channels and understand color vision for different elements in visualizations
- Recognize and avoid pitfalls of the effect of preattentiveness
- Describe the pros and cons of interaction and animation
- Employ filtering, aggregation, linked views, and visual querying
- Apply these principles for informed critique and analyzing visualization design processes
(Expected outcomes for Techniques)
- Build basic visualizations that employ scatterplots, line plots, small multiples
- Explain the challenges of visualizing high-dimensional data and possible methods of dimensionality reduction
- State the pros and cons of visualizing hierarchies and networks
- Build visualizations of maps and 2D scalar fields: i.e. choropleths, heatmaps, and isocontours.
- Extend these visualizations to 3D data through isosurfaces and direct volume rendering
- Be familiar with visualization for vector fields that utilize streamlines and derived fields
Course Content
Required Texts and Readings
-
Munzner, Visualization Analysis and Design, 2014, ISBN 978-1466508910. (Note: the textbook is available electronically through the UA Library for those on campus or VPN).
-
Murray, Interactive Data Visualization for the Web: An Introduction to Designing with D3, 2017, ISBN 978-1491921289. (Note: the textbook is available electronically through the UA Library for those on campus or VPN)
-
Other handouts, research papers, and materials linked to on the course webpage
-
As we will be using Javascript in this course, if you are not familiar you will need to find a reference. I recommend:
- Haverbeke, Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming, 2018, ISBN 978-1593279509, and
- Rauschmayer, Speaking JavaScript: An In-Depth Guide for Programmers, 2018, ISBN 978-1449365035.
In addition to being great books, both of these books are freely available online. See https://eloquentjavascript.net and http://speakingjs.com/.
Location and Meeting Time
- Lecture meeting time: Mon./Wed. 3:30-4:45pm
- Lecture meeting location: Gould-Simpson, Rm 906
Scheduled Topics
Week | Date | Monday | Date | Wednesday |
1 | Jan 08 | -- No Class -- | Jan 10 | Introduction |
2 | Jan 15 | -- MLK Day -- | Jan 17 | -- No Class -- |
3 | Jan 22 | HTML/CSS/SVG Basics | Jan 24 | Javascript Basics |
4 | Jan 29 | Javascript + DOM, SVG | Jan 31 | d3 Intro |
5 | Feb 05 | d3 Joins and Scales [Zoom] | Feb 07 | Design Principles |
6 | Feb 12 | Perception | Feb 14 | Data Abstraction |
7 | Feb 19 | Visual Encoding | Feb 21 | Color |
8 | Feb 26 | Color in d3 | Feb 28 | Midterm |
9 | Mar 04 | -- Spring Break -- | Mar 06 | -- Spring Break -- |
10 | Mar 11 | Tasks and Interaction | Mar 13 | Views, Focus+Context |
11 | Mar 18 | Tabular Arrangements | Mar 20 | Hierarchies/Trees |
12 | Mar 25 | Graphs | Mar 27 | Cartography |
13 | Apr 01 | Interpolation | Apr 03 | Isosurfaces |
14 | Apr 08 | Volumetric Data | Apr 10 | Volume Rendering |
15 | Apr 15 | Transfer Function Design | Apr 17 | Flow Data |
16 | Apr 22 | Flow Visualization | Apr 24 | Text and Sets [Zoom] |
17 | Apr 29 | Retrospective | May 01 | Final Exam Review |
Readings assigned for individual lectures can be found on the course homepage.
Scheduled Activities (Assignments and Deliverables)
Programming Assignments (60% of total grade)
This class will have 12 assignments, worth 60% of your total grade (eleven programming assignments and one “pre-assignment”). A00 is a warmup assignment to make sure you are comfortable with the tools we will use and the submission system. The remaining six assignments require you to demonstrate a visualization approach, implemented in d3. Each will have a duration of approximately 1 week from their official posted date to when they are due. A00 is worth 1% while the remaining eleven assignments are worth 5-6% each.
In addition, there will be a final written assignment (A12) as an optional review for the final exam.
Name | Topic | Post Date | Due Date | Graded By | Percentage |
Assignment 00 | Survey | Jan 10 | Jan 24 | Jan 31 | 1 |
Assignment 01 | HTML + SVG | Jan 24 | Jan 31 | Feb 07 | 5 |
Assignment 02 | Javascript | Jan 31 | Feb 07 | Feb 14 | 5 |
Assignment 03 | D3 | Feb 07 | Feb 14 | Feb 21 | 5 |
Assignment 04 | Scales, Axes, Transitions | Feb 14 | Feb 26 | Mar 04 | 6 |
Assignment 05 | Color Spaces | Feb 26 | Mar 13 | Mar 20 | 5 |
Assignment 06 | Linked Views, Brushing | Mar 13 | Mar 20 | Mar 27 | 6 |
Assignment 07 | Parallel Coordinates | Mar 20 | Mar 27 | Apr 03 | 6 |
Assignment 08 | Treemaps | Mar 27 | Apr 08 | Apr 15 | 6 |
Assignment 09 | Marching Squares | Apr 08 | Apr 15 | Apr 22 | 5 |
Assignment 10 | Transfer Functions | Apr 15 | Apr 22 | Apr 29 | 5 |
Assignment 11 | Flow Visualization | Apr 22 | Apr 29 | May 06 | 5 |
Assignment 12 | Review (Extra Credit) | Apr 24 | May 01 | May 06 | 0 |
Total Assignment Percentage: | 60 | ||||
Midterm Examination (15% of total grade)
A midterm exam will be held in class on Feb. 28, 2024 03:30 PM, and it will cover all material discussed in class prior to the date of the examination.
Final Examination (20% of total grade)
The final examination will be comprehensive. A review will be conducted on the final lecture.
Exam Date/Time/Location: May. 07, 2024 03:30 PM, Gould-Simpson, Rm 906
See also, UA Final Exam Schedule: https://registrar.arizona.edu/faculty-staff-resources/room-class-scheduling/schedule-classes/final-exams
Class Participation (5% of total 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.
While the instructor does not grade on attendance, nor is attendance required for the course, you are obligated to participate in class to receive credit for this portion of your grade. Participation will also be gauged through virtual mechanisms, such as contributions to the class discussions on Piazza.
Course Policies
Participation Policy
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.
Nevertheless, failing to stay up-to-date on course content may affect a student’s final course grade. Class participation is an important part of your grade in this course, and it is difficult for a student to participate and the instructor(s) 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 the course calendar, class materials, and grades to students.
Grading Policies
University policy regarding grades and grading systems is available at http://catalog.arizona.edu/policy/grades-and-grading-system.
Grading Scale
Grades will be assigned based on the following scale:
- A >= 90%
- 80% <= B < 90%
- 70% <= C < 80%
- 60% <= D < 70%
- E < 60%
Grading will be based on performance on the set of assignments, the midterm and final exam, and class participation:
- Programming Assignments: 60%
- Midterm Exam: 15%
- Final Exam: 20%
- Class Participation: 5%
Each assignment description will include a specific rubric for how it is graded. Scores on such assignments will be weighted according to the relative point value of each assignment as highlighted above.
Requests for incomplete (I) or withdrawal (W)
Request must be made in accordance with University policies, which are available at http://catalog.arizona.edu/policy/grades-and-grading-system#incomplete and http://catalog.arizona.edu/policy/grades-and-grading-system#Withdrawal, 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.
Submission, Lateness, and Revision Policy
All graded work has 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. This penalty is applied multiplicatively: the instructor will first grade your assignment without penalty and then multiply your earned grade by \((1-0.1N)\) where \(N\) is the number of 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.
University and Department Policies
University-wide Policies
The following UA policies are provided at http://catalog.arizona.edu/syllabus-policies:
- Threatening Behavior Policy
- Absence and Class Participation Policies
- Accessibility and Accommodations Policy
- Code of Academic Integrity
- Nondiscrimination and Anti-Harassment Policy
Department-wide Syllabus Policies and Resources
The following departmental syllabus policies and resources are provided at https://www.cs.arizona.edu/cs-course-syllabus-policies:
- Department Code of Conduct
- Class Recordings
- Illnesses and Emergencies
- Obtaining Help
- Preferred Names and Pronouns
- Confidentiality of Student Records
- Additional Resources
- Land Acknowledgement Statement
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.
Notification of Objectionable Materials
The instructor does not intend to include topics and/or course material 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.
Safety on Campus and in the Classroom
For a list of emergency procedures for all types of incidents, please visit the website of the Critical Incident Response Team (CIRT): https://cirt.arizona.edu/case-emergency/overview
Also watch the video available at https://arizona.sabacloud.com/Saba/Web_spf/NA7P1PRD161/common/learningeventdetail/crtfy000000000003560
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.