CS N329E: Elements of Data Visualization - Summer 2026

Class Meetings

Monday, Tuesday, Wednesday 1:00pm - 3:00pm in JGB 2.202

Instructor

Shirley Cohen
scohen at cs dot utexas dot edu

Teaching Assistant

Daniela Villanueva
dv22924 at my dot utexas dot edu

Office Hours:

Instructor In Person: Monday 3:00pm - 4:00pm in GDC 6.510
Instructor Online: Tuesday 7:00pm - 8:00pm on Zoom
TA Online: Thursday at 7pm on Zoom and Friday at 10am on Zoom

Course Description

Data visualization is more than just creating graphs; it is a critical tool for exploration, discovery, and persuasion. This course provides a hands-on introduction to the principles and techniques of data visualization using the Python ecosystem. Students will learn to transform raw data into actionable insights, moving from exploratory data analysis (EDA) to high-stakes storytelling.

Topics to include:

Learning Outcomes

By the end of this course, students will be able to:

Prerequisites

CS 313E or equivalent software design course.

Required Textbook

Better Data Visualizations by Jonathan Schwabish (Columbia University Press, 2021).

Recommended Textbooks

Supplementary Materials

Online documentation, tutorials, and videos (Coursera, LinkedIn Learning, etc.)

Course Communication Tools
We will be using the following tools throughout the term: Tech Stack
Our primary Python tech stack consists of the following libraries: Our primary development and deployment infrastructure consists of the following tools: Term Project
The coursework will center around one major Exploratory Data Analysis project, which students will adapt into a business case presentation at the end, moving from analysis for themselves to communication for a decision-making audience. More specifically: The project is divided into 7 milestones (M0–M6), each producing a concrete deliverable: Quizzes

There will be weekly quizzes on most week, based on the assigned readings. The quizzes will be done in class, and students are expected to take them by themselves.

Exam

A comprehensive exam will be held during the final week of class. It will consist of three components: questions on the assigned readings, questions covering lecture concepts, and an oral assessment related to your term project.

Code Reviews

Students will participate in regular, live code reviews during class. During these sessions, you should be prepared to answer impromptu questions and clearly explain the logic, design, and progress of your project milestones.

Class Participation

Students are expected to actively participate in discussions and complete hands-on exercises, which will usually take the form of interactive code labs.

Grading Breakdown The final mapping to letter grades will be determined at the end of the term once all coursework has been graded, and will be based on the overall distribution of scores.

Academic Integrity

This course will abide by UTCS' code of academic integrity.

Generative AI Policy

Your primary goal as a student is to master the course content and develop as a capable engineer. This means engaging deeply with the material, working through assignments, and building your projects with genuine understanding. Generative AI tools can support this learning process, but over-reliance on them often backfires, leaving you with a shallow grasp of the concepts and skills that the course is designed to build.

You may use generative AI to: You may not use generative AI to: Required attribution:
If you use generative AI to produce a significant block of code, include a comment directly above that block citing the tool used and briefly describing its contribution. For example: # Data cleaning pipeline generated with assistance from ChatGPT-4

Late Submissions, Extensions, and Make-up Quizzes

You will receive a total of 5 slip days for the semester, which can be used for project milestones, quizzes, and participation assignments.

Once you have used all 5 slip days, you will need a doctor's note (or equivalent documentation) to make up a missed quiz or receive an extension on a project milestone or participation assignment. Without proper documentation:

Students with Disabilities

If you are a student with a disability, or think you may have a disability, and need accommodations, please contact Disability and Access (D&A). Contact and more details are available on D&A’s website.
If you are already registered with D&A, please share your accommodation letter with me as early as possible in the semester so we can discuss how your approved accommodations will be implemented in this course.

Week-by-week Schedule

This schedule is tentative and is subject-to-change based on the needs of the class.

Date Topic Milestone Reading Direct Links
June 8Course overview and Pandas tutorial (Colab)M0Ch 1 & 2 
June 9Altair tutorial (Colab)M0Ch 1 & 2 
June 10Group work and quizM0Ch 1 & 2, Q1Milestone 0
June 15First Data Exploration (Colab)M1Ch 4 
June 16Data load and preparation (Colab)M1Ch 4 
June 17Group work and quizM1Ch 4, Q2Milestone 1
June 22Data visualizations (Colab)M2Ch 5 
June 23Data visualizations (Colab)M2Ch 5 
June 24Group work and quizM2Ch 5, Q3Milestone 2
June 29Interactive application (Streamlit)M3Ch 6 
June 30Interactive application (Streamlit)M3Ch 6 
July 1Group work and quizM3Ch 6, Q4Milestone 3
July 6Visualization agent (Pydantic AI, Streamlit)M4Ch 7 
July 7Visualization agent (Pydantic AI, Streamlit)M4Ch 7 
July 8Group work and quizM4Ch 7, Q5Milestone 4
July 13Polish and performanceM5Ch 8 
July 14Polish and performanceM5Ch 8 
July 15Group work and quizM5Ch 8, Q6Milestone 5
July 20Business case briefM6  
July 21Group workM6 Slides
July 22Business case presentationsM6 Milestone 6
July 27Final Exam: Written assessment   
July 28Final Exam: Oral code review   
Acknowledgments

The design of this course draws from conversations with Professor Mitra as well as feedback from former TAs and students who were part of its first edition. Cloud computing resources are provided through the generous support of Google.