No textbooks are required for this class. However, if you would like additional reference material, we recommend the books below:


Visualization Toolkits

A variety of useful toolkits have been designed to help support information visualization applications. Some include support for the full visualization pipeline from data to interactive graphics, while others focus only on a subset, typically graphics and interaction.

  • D3 - A JavaScript library for data-driven DOM manipulation, interaction and animation. Includes utilities for visualization techniques and SVG generation.
  • Vega - A declarative language for representing visualizations. Vega will parse a visualization specification to produce a JavaScript-based visualization, using either HTML Canvas or SVG rendering. Vega is particularly useful for creating programs that produce visualizations as output.
  • Vega-Lite - A high-level visualization grammar that compiles concise specifications to full Vega specifications.
  • Processing or p5.js - A popular Java-like graphics and interaction language and IDE. Processing has a strong user community with many examples. p5.js is a sister project for JavaScript.
  • HTML/JavaScript/XML - use standard web technologies to build the visualization. You may use libraries such as jQuery and the Google Maps API to help build your visualization.
  • Leaflet – a popular open-source mapping library
  • VTK - A scientific visualization library (C++ with wrappers for other languages)

Visualization Systems

  • Tableau for Students - get a free Tableau license as a student
  • Tableau Public - a free version of Tableau which publishes to the web
  • Voyager and Polestar – web-based data exploration tools from UW's Interactive Data Lab
  • Lyra - an interactive visualization design environment
  • GGplot2 - a graphics language for R
  • GGobi - classic system for visualizations of multivariate data

Network Analysis Tools

  • Gephi - an interactive graph analysis application
  • NodeXL - a graph analysis plug-in for Excel
  • GUESS - a combined visual/scripting interface for graph analysis
  • Pajek - another popular network analysis tool
  • NetworkX - graph analysis library for Python
  • SNAP - graph analysis library for C++

Color Tools

Web Development Tools

  • Beginner? Start with Sublime Text with Emmet and SublimeLinter/JSHint
  • Like IDE and willing to pay? Webstorm is a good option.
  • Dash is great for quick documentation look up in Mac.

JavaScript Frameworks

Vue.js and svelte have a shallower learning curve than React or Angular, and are likely more than sufficient for the assignments and final project in this class.

Tutorials & Tips

In addition to our workshops, these tutorials could be useful for your projects and future visualization work.



Git & Github