IS545 - Spring 2022

This is the course website for Advanced Data Visualization, instructed by Matthew Turk (mjturk@illinois.edu).

Below, you will find the materials for each week, as well as the syllabus that includes contact information and a course outline.

Lectures and Materials


Week 1

Introduction

overview concepts p5js

Welcome!

The syllabus for the course, what we're going to talk about, and some intro to p5js.

More with p5js

We dig a little bit deeper into p5js, showing how to rotate, translate, and push/pop matrix transformations. We'll also take a look at getting input from a webcam and from input elements.



Week 2

Basic Comparisons

overview concepts comparisons matplotlib p5js lowlevel

Comparisons

Big things, small things, and showing the difference.



Week 3

Beginning Interactivity

traitlets bqplot interactivity web javascript vega-lite




Week 5

Colors and colormapping

scaling d3 transformations colors publishing



Week 6

Re-charting our Course

publishing d3



Week 7

Connected Views and Interaction

d3 javascript python bigish-data

Interaction and Views

This week, we're going to start bringing together everything we've covered so far, and talk about what to do when we bump against the boundaries of these techniques.



Week 8

Graphics

opengl regl vega-lite

Graphics Languages

This lecture starts the process of exploring OpenGL-type concepts for rendering, why we might be interested in using them, and how we can apply them to visualizations.



Week 9

Fast Maps

deckgl keplergl geojson geo bqplot

Maps, Slow and Fast

This lecture starts the process of exploring OpenGL-type concepts for rendering, why we might be interested in using them, and how we can apply them to visualizations.

Connecting Maps

Building on what we did last time, we'll connect DeckGL visualizations to visualizations in bqplot.



Week 10

Packaging and Distributing

python matplotlib packaging

Deeper into Matplotlib

We're going to dig much deeper into matplotlib, starting with styles, moving on to how patches are placed on an image, and then start talking about how we can package up our custom routines for reuse.

Packaging and Custom Plots

We learned about creating packages, reusability, and then applied this to a Ticket to Ride visualization project.



Week 11

Server-based Visualizations

getting-help assignment-follow-up servers jupyter-extensions flask streamlit dash

Server-side Visualizations

We'll talk about how you can "get help" from online sources, and then move on to server-side visualizations.

Server Applications

First we'll go through some basics of how web applications work, and write our own Hello World flask app. Then we'll look at two frameworks for server-side visualizations.



Week 12

Servers and Dashboarding

servers flask streamlit dash

Server Applications

Today we discussed streamlit and explored how to use it to connect the data visualizations we have been building this semester.



Week 13

Scientific Visualization

sciviz yt

Scientific Visualization

We briefly cover some concepts in scientific visualization, and why they're different from the other types of visualization we've discussed.



Week 14

Wrap-Up

javascript paperjs idyll glitch