Fall 2022

Access full syllabus in pdf format

Meets: TuTh 2:00PM - 3:15PM, Gould-Simpson, Rm 906

Instructor and Contact Information

  • Instructor of Record: Adriana Picoral (she/her/hers)

  • Office: Gould-Simpson 829

  • Email:

  • Office Hours: Mo 3:15-5:00pm and Tu 10:00am-11:00am

    • Email me if you want to schedule another time or a meeting on zoom
  • D2L:

  • TA: Tanner Finken (

    • Office Hours: Wednesdays from 9-11am in GS 931. The first hour (9-10) will be in person and then the second hour (10-11) on zoom

Course Calendar

See course schedule.

Important Dates

Sep 4 Last day to drop without a grade of W (withdraw)
Oct 30 Last day for students to withdraw from a class online through UAccess
Dec 12 Final exam

Visit the registrar website for more deadlines and final exam dates.

Description of Course

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

The prerequisite for this course are both 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.

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.

Obtaining Help

  • Academic advising: If you have questions about your academic progress this semester, or your chosen degree program, consider contacting your department’s academic advisor(s).  Your academic advisor and the Advising Resource Center can guide you toward university resources to help you succeed. Computer Science major students are encouraged to email for academic advising related questions.

  • CS Tutor Center: The Department of Computer Science offers FREE tutoring for students enrolled in CSC courses. You can view tutor schedules and sign up for tutoring sessions by visiting our CS Tutoring Page

  • CS Help Desk: The Computer Science IT team can help students with department technology issues including logging into/resetting your Lectura account, printing in the 930 lab, etc. You can submit a ticket for help by visiting the Computer Science Lab Helpdesk (note, requires UA login)

  • Life challenges: If you are experiencing unexpected barriers to your success in your courses, please note the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office can be reached at 520-621-2057 or

  • Physical and mental-health challenges: If you are facing physical or mental health challenges this semester, please note that Campus Health provides quality medical and mental health care. For medical appointments, call (520-621-9202. For After Hours care, call (520) 570-7898. For the Counseling & Psych Services (CAPS) 24/7 hotline, call (520) 621-3334

Class Recordings

In this course, I may provide some video content in D2L. Students may not modify content or re-use content for any purpose other than personal educational reasons. All recordings are subject to government and university regulations. Therefore, students accessing unauthorized recordings or using them in a manner inconsistent with with UArizona values and educational policies (Code of Academic Integrity and the Student Code of Conduct) are also subject to civil action.

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

Expected outcomes for Principles

  • Use appropriate scales of measurement in visualizations

  • Choose appropriate perceptual channels and 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 the visualization design processes

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 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 visualization of maps and 2D scalar fields: i.e. choropleths, heatmaps, and isocontours.

  • Extend these visualizations to 3D data through isosurfaces and direct volume rendering

  • Build visualization for vector fields that utilize streamlines and derived fields

(These learning outcomes are derived from ones developed by Joshua A. Levine, Carlos Scheidegger and other faculty at the UA).

Absence and Class Participation Policy

Participating in the course and attending lectures and other course events are vital to your learning process. Although attendance is not required, it is highly recommended. Absences may affect your final course grade. If you anticipate being absent, are unexpectedly absent, or are unable to participate in class online activities, please contact me as soon as possible.

Please contact your advisor if you are unable to keep attending class after the drop period (when a W will not appear on the transcript). Advisors will provide options and alternatives as appropriate for your individual situation.

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.

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 pre-approved by the UA Dean of Students (or dean’s designee) will be honored. See

Illnesses and Emergencies

  • If you feel sick, or may have been in contact with someone who is infectious, stay home. Except for seeking medical care, avoid contact with others and do not travel

  • Notify your instructor(s) if you will be missing up to one week of course meetings and/or assignment deadlines

  • If you must miss the equivalent of more than one week of class and have an emergency, the Dean of Students is the proper office to contact ( The Dean of Students considers the following as qualified emergencies: the birth of a child, mental health hospitalization, domestic violence matter, house fire, hospitalization for physical health (concussion/emergency surgery/coma/COVID-19 complications/ICU), death of immediate family, Title IX matters, etc.

  • Please understand that there is no guarantee of an extension when you are absent from class and/or miss a deadline.

Statement on compliance with COVID-19 mitigation guidelines:  As we enter the semester, our health and safety remain the university’s highest priority. To protect the health of everyone in this class, students are required to follow the university guidelines on COVID-19 mitigation. Please visit

Makeup Policy for Students Who Register Late

If you register after the first class meeting you may make up missed assignments within your first week of attendance.

Course Communications

All online communication will be conducted through my official UA e-mail address ( D2L, and Discord.

Required Texts or Readings

There is no required textbook. All material will be available online, including lecture slides.

There are many good visualization textbooks, all optional:

Equipment and Software

For this class you will need daily access to a computer running Windows, MacOS, or Linux. You will also need regular access to reliable internet signal.

Assignments and Examinations: Schedule/Due Dates

The breakdown of grades in this course is as follows:

  • 60% assignments

  • 15% midterm

  • 20% final exam

  • 5% class participation

Assignments (60% of final grade)

There will be a number of programming assignments throughout the class, which will contribute to 60% percent of the student’s grade. The majority of these will be individual projects, but the instructor reserves the right to make some group-based.

Class Participation (5% of final grade)

This class participation grade is the instructor’s subjective judgement of the student’s contribution to a lively classroom atmosphere. The instructor 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.

Midterm Examination (15% of final grade)

A midterm exam will be held in class at Gould-Simpson Rm 906 on Tue., Oct 12, 2:00-3:15pm, and it will cover all material discussed in class prior to the date of the examination.

Final Exam (20% of final grade)

The final exam is worth 20% of your total final grade.

The final exam will be on Monday, Dec 12 3:30pm - 5:30pm Gould-Simpson Rm 906 This date and time is specified by the university, and it is such that there will be no conflicts with final exams for other courses you are taking. Ensure you have no travel plans or other conflicts with this date.

Visit the registrar website for more deadlines and final exam dates.

Important dates

Sep 4 – Last day to drop without a grade of W (withdraw)

Oct 30 – Last day for students to withdraw from a class online through UAccess

Dec 12 – (Monday) Final exam 3:30pm - 5:30pm

Grading Scale and Policies

The instructor and teaching staff will do their best to have grades back to students within one week. This includes, but is not limited to, grades for exams, projects, programming assignments, attendance, and quizzes. Once a grade has been entered for a particular item on the digital grade-book, students have at most 5 days to dispute the grade. This includes disputes related to excuses such as sickness, personal matters, dean’s excuses, etc. If 5 days pass and there has not been such a request, the grade is final.

The correspondence between percentage grade and numeric grade is as follows:

  • Greater than 90% at least an A

  • Greater than 80% at least a B

  • Greater than 70% at least a C

  • Greater than 60% at least a D

  • Anything less, at least an E / F

University policy regarding grades and grading systems is available at 

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.

Incomplete (I) or Withdrawal (W)

Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policies, which are available at and respectively.

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

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

Accessibility and Accommodations

At the University of Arizona, we strive to make learning experiences as accessible as possible. If you anticipate or experience barriers based on disability or pregnancy, please contact the Disability Resource Center (520-621-3268, to establish reasonable 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/assignments 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 .

Uploading material from this course to a website other than D2L (or the class Discord) is strictly prohibited and will be considered a violation of the course policy and a violation of the code of academic integrity. Obtaining material associated with this course (or previous offerings of this course) on a site other than D2L (or the class Discord), such as Chegg, Course Hero, etc. or accessing these sites during a quiz or exam is a violation of the code of academic integrity. Any student determined to have uploaded or accessed material in an unauthorized manner will be reported to the Dean of Students for a Code of Academic Integrity violation, with a recommended sanction of a failing grade in the course.

The University Libraries have some excellent tips for avoiding plagiarism, available at

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.


Unless otherwise specified, you may not work in groups on any coursework. This includes quizzes, exams, programming drills, programming assignments, etc. You may not share code, copy/paste code, re-use code from solutions found online, look at each-others code, etc.

If cheating is detected on your work, penalties may include (but are not limited to):

  • Receiving a grade of 0 on the programming assignment

  • Being reported to the University

  • Additional grade penalties

  • Being dropped from the course (in extreme cheating situations)

Nondiscrimination and Anti-harassment Policy

The University of Arizona is committed to creating and maintaining an environment free of discrimination. In support of this commitment, the University prohibits discrimination, including harassment and retaliation, based on a protected classification, including race, color, religion, sex, national origin, age, disability, veteran status, sexual orientation, gender identity, or genetic information. For more information, including how to report a concern, please 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

Visit the UArizona COVID-19 page for regular updates.

Campus Health

Campus Health provides quality medical and mental health care services through virtual and in-person care. Voluntary, free, and convenientCOVID-19 testing is available for students on Main Campus. COVID-19 vaccine is available for all students atCampus Health.

Phone: 520-621-9202 

Counseling and Psych Services (CAPS)

CAPS provides mental health care, including short-term counseling services.

Phone: 520-621-3334

The Dean of Students Office’s Student Assistance Program 

Student Assistance helps students manage crises, life traumas, and other barriers that impede success. The staff addresses the needs of students who experience issues related to social adjustment, academic challenges, psychological health, physical health, victimization, and relationship issues, through a variety of interventions, referrals, and follow up services.


Phone: 520-621-7057

Survivor Advocacy Program

The Survivor Advocacy Program provides confidential support and advocacy services to student survivors of sexual and gender-based violence. The Program can also advise students about relevant non-UA resources available within the local community for support.


Phone: 520-621-5767

Campus Pantry

Any student who has difficulty affording groceries or accessing sufficient food to eat every day, or who lacks a safe and stable place to live and believes this may affect their performance in the course, is urged to contact the Dean of Students for support. In addition, the University of Arizona Campus Pantry is open for students to receive supplemental groceries at no cost. Please see their website at: for open times.

Furthermore, please notify me if you are comfortable in doing so. This will enable me to provide any resources that I may possess.

Pronouns and Preferred Names

This course affirms people of all gender expressions and gender identities. If you prefer to be called a different name than what is on the class roster, please let me know. Feel free to correct instructors on your pronoun. If you have any questions or concerns, please do not hesitate to contact me directly in class or via email ( If you wish to change your preferred name or pronoun in the UAccess system, please use the following guidelines: 

Preferred name: University of Arizona students may choose to identify themselves within the University community using a preferred first name that differs from their official/legal name. A student’s preferred name will appear instead of the person’s official/legal first name in select University-related systems and documents, provided that the name is not being used for the purpose of misrepresentation. Students are able to update their preferred names in UAccess.

Pronouns: Students may designate pronouns they use to identify themselves. Instructors and staff are encouraged to use pronouns for people that they use for themselves as a sign of respect and inclusion. Students are able to update and edit their pronouns in UAccess.

More information on updating your preferred name and pronouns is available on the Office of the Registrar site at

Safety on Campus and in the Classroom

Familiarize yourself with the UA Critical Incident Response Team plans:

Department of Computer Science Evacuation Plan for Gould-Simpson:

Also watch the video available at

Confidentiality of Student Records

Student education records are considered confidential and may not be released without the written consent of the student. For more information visit

Land Acknowledgement Statement

We respectfully acknowledge the University of Arizona is on the land and territories of Indigenous peoples. Today, Arizona is home to 22 federally recognized tribes, with Tucson being home to the O’odham and the Yaqui. Committed to diversity and inclusion, the University strives to build sustainable relationships with sovereign Native Nations and Indigenous communities through education offerings, partnerships, and community service.

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.