Introduction to Visual Analytics (IAT355) - Fall 2025Archived

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

Final Projects

Final projects from the Fall 2025 cohort.

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 Fall 2025 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 · Sep 8
Topic:
Welcome Week
Lecture Topics:
Introduction to The Course | What is Visualization and why is it important?
Lab Activities:
Get to know each other | What you should expect from this course | Install the basic tools
Video:
Slides:
W2
Lab · Sep 15
Topic:
Introduction to Visualization
Lecture Topics:
What is Visualization? | Why is it Important?
Lab Activities:
Install Tableau | Create your first visualization in Tableau
Video:
Slides:
Readings & Prep:
2 readings (show more)collapse
W3
Lab · Sep 22
Topic:
Data Abstraction for Visualization
Lecture Topics:
Distinction between a dataset's semantics and type | Classify data based on its fundamental components
Lab Activities:
Review on HTML, CSS, and JS | Setting up your GitHub pages
Video:
Slides:
Readings & Prep:
1 readings (show more)collapse
W4
Lab · Sep 29
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:
Get familiar with Vegalite | Create charts with Vegalite in Observable
Video:
Slides:
W5
Lab · Oct 6
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:
Introduction to D3.js | Create basic visualizations using D3.js
Video:
Slides:
W6
Lab · 13 Oct (Thanksgiving Holiday)
Topic:
The Human Side of Visualization
Lecture Topics:
How to abstract domain tasks into generic actions and targets
Lab Activities:
NO LAB (Thanksgiving Holiday)
Video:
Slides:
W7
Lab · Oct 20
Topic:
Prepare for Final Project
Lecture Topics:
How different audiences perceive and react to data visualizations based on their unique mindsets
Lab Activities:
Advanced hands-on with D3.js | Create more complex visualizations using D3.js
Video:
Slides:
W8
Lecture · Oct 23
Topic:
Uncertainty in visualization
Video:
Slides:
W8
Lab · Oct 27
Topic:
Uncertainty in visualization
Lecture Topics:
Uncertainty in visualization
Lab Activities:
How to create interactive visualizations using D3 and Vegalite | Discussing project ideas | Troubleshooting groups | Midterm preparation
Video:
Slides:
W9
Lab · Nov 3
Topic:
Midterm Week
Lecture Topics:
Interaction in visualization
Lab Activities:
Midterm Quiz
Video:
Slides:
W10
Lab · Nov 10
Topic:
Visual Analytics
Lecture Topics:
What is Visual Analytics? | AI and visualization
Lab Activities:
Project troubleshooting, tool choice, questions, ideas
Video:
Slides:
W11
Lab · Nov 17
Topic:
Geographic Visualization
Lecture Topics:
Maps + Text
Lab Activities:
Leaflet visualization
Video:
Slides:
W12
Lab · Nov 24
Topic:
Responsive Visualization
Lecture Topics:
Guest Lecturer: (Heyok Kim)
Lab Activities:
Project troubleshooting | [More details to be provided closer to the date]
Video:
Slides:
Assignments Out:
  • A8 - Multiple view visualizations
W13
Lab · Dec 1
Topic:
Final Week
Lecture Topics:
Facets | Multiple views, other fancy vis weird visualizations
Lab Activities:
Project troubleshooting
Video:
Slides:
Assignments Due:
  • A8 - Multiple view visualizations
W14
Lab · Dec 8
Topic:
Preparing for Final Presentations
Lab Activities:
Project troubleshooting
Video:
Slides:
Assignments Out:
  • Final Milestone - Submit your final project
W15
Lab · Dec 15
Topic:
Final Presentations
Lab Activities:
Students presentations
Video:
Slides:
Assignments Due:
  • Final Milestone - Submit your final project [link to be updated]