← Ayaan M. Kazerouni

CSC 477 Scientific and Information Visualization

Contents

What we’ll learn. Data visualization is one means of helping humans make sense of vast quantities of data. Well-designed visualizations can replace slower cognitive calculations with much faster perceptual inferences, improving comprehension, memory, and decision-making. Conversely, poorly-designed visualizations can (intentionally or unintentionally) make decision-making more difficult or inaccurate.

In this class, we’ll learn how to design expressive and effective visualizations. We’ll study techniques for creating visualizations based on principles from graphic design, perceptual psychology, and cognitive science. Students will learn how to design and build interactive visualizations for the Web using Vega-Lite and D3 (data-driven documents).

Learning objectives

Assignments

The course will involve roughly 1.5-weekly assignments that exercise what we talk about in class, and a 3-part final project, worked on in teams. The Class participation portion of the grade will be based on completion of in-class activities and discussions, and attendance on important class days (such as prototype walkthroughs).

The grade breakdown is as follows:

At the end of the quarter, I will round UP your final numerical score2and turn that into a letter grade using the following grading scale:

Resources

There is no official textbook for the course, but we will frequently refer to material from the following sources, generously shared publicly by the authors listed below.

Additionally, you will frequently refer to the following online documentation:

Finally, each class day links to readings/resources for that day.

Classroom conduct and climate

Academic honesty

Work you turn in must be your own. Although I encourage you to have lively discussions with one another, all work you hand in must be your own work, unless otherwise specified. Programs will be compared using software that can reliably detect similarities in source code. Evidence that your program or parts of your program are plagiarized from another student or an unapproved source will be taken seriously. At minimum, you will receive a 0 for the assignment, and potentially also an F in the class and report filed with the Office of Student Rights and Responsibilities.

You have a number of resources at your disposal to help you succeed in this course (your peers, myself, online sources), and I am usually willing to work with you on flexible deadlines. If you feel you need to plagiarize in order to succeed, know that you almost certainly have other options. Just come talk to me!

Using AI in this course3

✅ You MAY use AI (ChatGPT, etc.) to help you program or implement visualizations. Prompts like: Why isn’t this code showing the data? How do I increase the size of points in this plot? How do I extend the x-axis using Vega-Lite? What does this error mean? Show me an example of… Those are all okay! But if you choose to use AI, there are two things you must know:

  1. You must state that you used it in a comment in your code (I used ChatGPT to help with…)
  2. You are responsible for any mistakes that it makes. It will make mistakes or mislead you on occasion. You can’t blame the AI if you get something wrong.

🛑 You MAY NOT use AI to help you make design decisions, make critiques, or generate writing about visualizations. Why? There is a lot of advice out there that is just flat out wrong with respect to years of visualization research. There is also a lot of advice that ignores the context of diverse communities who need to understand data (disability, access to technology, education, etc.). AI is likely going to amplify some of that bad advice, and we shouldn’t be complicit in it. We need to be careful and critical about our designs. So using ChatGPT (or similar programs) here is not permitted.

✅ You MAY use AI to help you polish writing. Some AI tools like Grammarly can help students find grammatical or clarity errors in their writing. That is perfectly fine. The key difference is creation (not okay) vs. refinement (okay). Again, you are responsible for any mistakes or even more serious issues of plagiarism that are possible when using AI.

Classroom climate

All members of this class are expected to contribute to a respectful, welcoming, and inclusive environment for everyone. I expect us to strive to build a community in which:

Course schedule

This is a tentative course schedule. I expect to update it frequently as the quarter progresses.

Assignments will appear in Canvas with deadlines. If deadlines in Canvas conflict with those listed here, the Canvas deadlines take precedence.

The READINGS/RESOURCES column contains links to items that you are expected to read or watch outside of class.

Additionally, it links to the following resources meant as reference material:

WEEK DAY TOPICS READINGS / RESOURCES ASSIGNMENT
1 Wednesday, 4/2 Introduction.
Why visualize?
🎥 What’s Vis, and Why Do It? Tamara Munzner.

Class materials: 💻 Slides
Introduce yourself in EdStem
You’ll need the invite link in Canvas to join the forum.

Make an account at Observable.

A1: Visualization curation and analysis
  Friday, 4/4 JavaScript primer.
Observable notebooks.
Observable Notebooks documentation

📜 A Minimal Introduction to JavaScript and Observable. Jeffrey Heer.

Class materials: 📊 Notebook
 
2 Monday, 4/7 Data wrangling.
Tidy data.
📜 Data tidying. Hadley Wickham.

📜 Tidy Data in JavaScript. Jeffrey Heer.

Class materials: 💻 Slides, 📊 Notebook
A1

A2: Data wrangling with JavaScript
  Wednesday, 4/9 Bit more about tidy data.
Marks, channels, and encodings.
🎥 Marks and Channels Part I and Part II. Tamara Munzner.

📜 Data types, Graphical marks, and Visual channels. Jeffrey Heer.

Class materials: 💻 Slides, 📊 Notebook
 
  Friday, 4/11 Visualization with Vega-lite 📜 Introduction to Vega-lite. Jeffrey Heer.

Vega-lite documentation
Most of these docs use the JSON syntax, but we will mostly use the JavaScript API.

Class materials: 📊 Notebook
A3: Expository visualization
3 Monday, 4/14 Task abstraction
Data transformation
📜 Data Transformation. Jeffrey Heer.

Vega-Lite docs on Transformations and Time units.

Class materials: 💻 Slides, 📊 Notebook
A2
  Wednesday, 4/16 Scales and other design choices 📜 Scales, Axes, and Legends. Jeffrey Heer.

Class materials: 💻 Slides, 📊 Notebook
 
  Friday, 4/18 Multi-view composition Vega-Lite docs on Faceting, Repeating, Layering, and Concatenating views.

📜 Multi-view Composition. Jeffrey Heer.

Class materials: 💻 Slides, 📊 Notebook
 
4 Monday, 4/21 Review/work day Class materials: 📊 Notebook (ad-hoc questions in class)  
  Wednesday, 4/23 Interaction: Introduction 🎥 Interactive Views. Tamara Munzner.

Class materials: 💻 Slides
 
  Friday, 4/25 Interaction: Selections, Brushing & Linking 🎥 Multiple Views. Tamara Munzner.

Vega-Lite docs on Selection Parameters and Input element binding

📜 Interaction. Jeffrey Heer.
Before class, work through the sections Introducing Selections and Dynamic queries.

Class materials: 📊 Notebook for in-class exercises
A3

A4: Interactive visualization
5 Monday, 4/28 Interaction: Panning & zooming Vega-Lite docs on Scale binding

📜 Interaction. Jeffrey Heer.
Before class, work through the section on Navigation: Panning & Zooming.
P1: Project proposal
  Wednesday, 4/30 Interaction: Overview + detail 🎥 Embed: Focus + Context. Tamara Munzner.

Vega-Lite docs on Selection Parameters

📜 Interaction. Jeffrey Heer.
Before class, work through the section on Overview + Detail.
 
  Friday, 5/2 Interaction: Details on demand, Cross-filtering 📜 Interaction. Jeffrey Heer.
Before class, work through rest of the notebook.
 
6 Monday, 5/5 Cartographic visualization 🎥 Spatial Data, Part I: Geographic Maps. Tamara Munzner.

📜 Cartographic Visualization. Jeffrey Heer.
 
  Wednesday, 5/7 Cartographic visualization Same as above. P1

P2: Prototype
  Friday, 5/9 Wiggle room   A4

A4 Peer review
7 Monday, 5/12 Ethical and deceptive visualization 📜 Misleading Beyond Visual Tricks: How People Actually Lie with Charts (full paper, blog post). Maxim Lisnic et al.

📜 The Good, the Bad, and the Biased: Five Ways Visualizations Can Mislead (and How to Fix Them). Danielle Albers Szafir.
A5: Ethical and deceptive visualization
  Wednesday, 5/14 Wiggle room   A4 Peer review
  Friday, 5/16 Prototype walkthroughs   P2

P3: Final deliverable (interactive vis)
8 Monday, 5/19 A 30,000-foot-view of D3.   A5

A6: Practice with D3
  Wednesday, 5/21 A 30,000-foot-view of D3.    
  Friday 5/23 A 30,000-foot-view of D3.    
9 Tuesday 5/27 Perception Ware. A6
  Wednesday, 5/28 Uncertainty visualization Heer.  
  Friday, 5/30 Network visualization (If there’s time) Munzner.  
10 Monday, 6/2 Scalable visualization (If there’s time)    
  Wednesday, 6/4 Final project presentations   P3
  Friday, 6/6 Final project presentations    

Acknowledgements

This course’s materials are adapted from those shared publicly by Jeffrey Heer, Jon Froehlich, Tamara Munzner, and Evan Peck.


  1. We’ll do this assignment if we get to D3. I don’t think the topic counts as “covered” unless you get to practice it. If we don’t do this assignment, its grade allocation will be distributed among the other assignments. 

  2. With the exception of if you are right on a grade border but have an extremely low participation score. 

  3. Adapted from Evan Peck’s AI policy.