Introduction to Visual Analytics (IAT355) - Spring 2026Archived

Archived course site for the Spring 2026 offering. Below you will find the structure, policies, and weekly schedule as they were for that term.

Final Projects

Final projects from the Spring 2026 cohort (SFU Project Hub gallery).

View Final Projects

Learning Outcomes

  • Understanding Visual Analytics Principles: Gain a foundational knowledge of visual analytics, including analytical reasoning techniques, data representation and transformation, and visual representation and interaction techniques.
  • Practical Application of Visualization Tools: Develop proficiency in using various visualization tools and coding assignments to analyze and interpret complex data sets.
  • Critical Analysis of Visualizations: Enhance skills in critically evaluating visualizations, identifying effective design elements, and recognizing potential misrepresentations.
  • Collaborative Project Development: Experience working in pairs to create a comprehensive visualization project, from conception to presentation, fostering teamwork and project management skills.
  • Effective Communication of Data Insights: Learn to present data-driven insights clearly and persuasively through written reports and oral presentations.

Through hands-on experience and project work, you will also gain more experience in:

  • HTML Fundamentals: Semantic HTML5 elements, document structure, SVG.
  • CSS & Styling: Learn modern CSS techniques including Flexbox, Grid, and responsive design principles to create visually appealing visualizations.
  • JavaScript Programming: Develop experience JavaScript fundamentals including DOM manipulation, event handling.
  • D3.js Data Visualization: Create custom interactive visualizations using D3.js, including data binding, scales, axes, transitions, and event handling.
  • Vega-Lite: Build declarative visualizations using Vega-Lite's grammar of graphics, including data transformations and interactive specifications.
  • Web Development Workflow: Create a final live web-based project to show off your interactive data visualization skills.

Teaching Team

Instructor

Dr. Alireza Karduni

Email: akarduni@sfu.ca

TA

Matthew (Mehdi) Jahani

Email: mehdi_jahani@sfu.ca

Course Policies

Contacting us

There will be a Discord channel through which we can all stay connected, ask questions and help each other.

In case you'd like to email us, please allow up to 2 business days for responses though we will typically reply much sooner. We may be able to answer questions about software or code via email. Please arrange a meeting or attend office hours for complex software or code questions. Happy to respond to other questions, but some questions are better asked in person.

To make our responses faster, please include the following in your email:

  • Your full name.
  • The course number (IAT-355).
  • A clear question

Conduct

Please treat our online interactions the same way you would in-person interactions. As a teaching team we are dedicated to providing a harassment-free experience for everyone in this class, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. Harassment of any form is not tolerated. Sexual language and imagery is not appropriate in this class.

If you have concerns with anyone's conduct either in-person or online, email your instructor. If you do not feel comfortable reaching out to your instructor, please contact SIAT's advisors.

SFU's complete student conduct policy is available online.

Illness

If you are feeling ill, you should stay home and get better. Let your instructor or TA know that this is the case, and make sure to catch up with course materials to stay up-to-date.

Late assignments

Late penalties (10% a day for 2 days, 20% after). If you have issues and can't submit on time, please let us know in advance, we are happy to work figure out a way to get you up to speed.

Use of AI for coding

For coding assignments, it is fine if you use AI (ChatGPT or others) to work through your course. But the aim is for you to learn. If you use AI, we ask that you submit your chat as part of your assignment. We will evaluate the prompt and how you dealt with AI's responses to ensure that take the most out of this class.

For presentations and writing assignments. Do not use AI for writing content. Do not copy and paste from AI directly. Feel free to use AI for ideation, and help with writing, but the end result, should be your output, not AI's.

Grading

ComponentWeight
Assignment38%
Midterm Quiz15%
Final Project Submission30%
Final Presentation12%
In-class Quiz and Lab Attendance5%
Lecture Attendance5% (extra)

The course is part lecture, and part lab. You will need access to a computer, and install some coding tools. We will work with you to figure out coding assignments, and teach you the basics in the labs.

There are several assignments that you will submit through Canvas. Some assignments require coding, some are design based, and most (hopefully) are fun. You will receive information about each assignment as the course moves on.

There will be one midterm exam (quiz) that will be held in class, and will involve critically analyzing a set of visualizations (more details will be discussed in class).

There will be a final project where you will work in pairs to create a visualization, present it to the class, and write something interesting about it. (more details will be shared)

Note: For due dates and details, refer to the syllabus table below (as of the end of the Spring 2026 term).

Acknowledgements

This course and the content was heavily inspired by slides from Professor Lyn Bartram (SIAT), and Professor Emily Wall (Emory University). There were also content used from work by Steven Franconeri and Jessica Hullman from (Northwestern University).

Course Syllabus

W1
Lab · Jan 5
Topic:
Introduction to Visualization
Lecture Topics:
What is Visualization? | Why is it Important?
Video:
Slides:
W2
Lab · Jan 12
Topic:
Data Abstraction for Visualization
Lecture Topics:
Distinction between a dataset's semantics and type | Classify data based on its fundamental components
Lab Activities:
Get to know each other | What you should expect from this course | Install the basic tools
Video:
Slides:
Readings & Prep:
2 readings (show more)collapse
W3
Lab · Jan 19
Topic:
Perception and Cognition
Lecture Topics:
How the human visual system perceives and processes information, allowing us to effectively think with data by leveraging powerful visualizations | How common cognitive biases can lead to misinterpretations of data
Lab Activities:
Install Tableau | Create your first visualization in Tableau
Video:
Slides:
Readings & Prep:
1 readings (show more)collapse
W4
Lab · Jan 26
Topic:
Narrative Visualization and Persuasion
Lecture Topics:
Analyzing real-world examples of narrative visualizations | How authors guide the reader through a data story | How misinformation can spread through visualizations
Lab Activities:
Review on HTML, CSS, and JS | Setting up your GitHub pages
Video:
Slides:
W5
Lab · Feb 2
Topic:
The Human Side of Visualization
Lecture Topics:
How to abstract domain tasks into generic actions and targets
Lab Activities:
Get familiar with Vegalite | Create charts with Vegalite in Observable
Video:
Slides:
W6
Lab · Feb 9
Topic:
Mindsets and Visualization
Lecture Topics:
How different audiences perceive and react to data visualizations based on their unique mindsets
Lab Activities:
Introduction to D3.js | Create basic visualizations using D3.js
Video:
Slides:
W7
Lab · Feb 16
Topic:
Family Day - No Class, No Lab
Video:
Slides:
W8
Lab · Feb 23
Topic:
Uncertainty in visualization
Lecture Topics:
Uncertainty in visualization
Lab Activities:
Advanced hands-on with D3.js | Create more complex visualizations using D3.js
Video:
Slides:
W9
Lab · Mar 2
Topic:
Midterm Week
Lab Activities:
Midterm Quiz
Video:
Slides:
W10
Lab · Mar 9
Topic:
Prepare for Final Project
Lecture Topics:
Interaction in visualization
Lab Activities:
Discussing project ideas
Video:
Slides:
W10
Lab · Mar 16
Topic:
Geographic Visualization
Lecture Topics:
Maps and text visualization
Lab Activities:
Interactive visualizations using D3 and Vegalite
Video:
Slides:
W11
Lab · Mar 23
Topic:
Using AI in visualization
Lecture Topics:
A review on design principles
Lab Activities:
Project troubleshooting | Leaflet visualization
Video:
Slides:
W12
Lab · Mar 30
Topic:
Responsive Visualization
Lecture Topics:
How to use AI in implementing visualization pipeline
Lab Activities:
Project troubleshooting
Video:
Slides:
W13
Lab · Apr 6
Topic:
Final Week
Lecture Topics:
Facets | Multiple views, other fancy vis weird visualizations
Lab Activities:
Using AI for visualization pipeline
Video:
Slides:
W14
Lab · Apr 13
Topic:
Preparing for Final Presentations
Lab Activities:
Project troubleshooting | [More details to be provided closer to the date]
Video:
Slides:
W15
Lab · Apr 20
Topic:
Final Presentations
Lab Activities:
Project troubleshooting
Video:
Slides:
Assignments Due:
  • Final Project Presentation (On Exam Day)