Textbooks
No textbooks are required for this class. However, if you would like additional reference material, we recommend the books below:
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.
- Leaflet – A popular open-source mapping library
- VTK – A scientific visualization library (C++ with wrappers for other languages)
- 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
Web Design and Development
In the second half of the class, we wil create Web-based visualizations Thus, it is important that you familiarize yourself with common Web tools and languages, such as HTML, CSS and JavaScript (JS). JS is especially important since we will be using D3, a data-driven JS library that will enable you to create advanced charts and graphs.
Free crash course by MIT students: web.lab
- Formerly known as 6.148, web.lab is a web programming class and competition that takes place over IAP every January.
- From their website: web.lab lays the foundations for understanding complicated web techologies using the fundamental building blocks of HTML, CSS, and JavaScript. In addition to learning how to build a website, students enrolled in web.lab may also take part in a competition to win prize money and glory. (You should check it out next year!)
- Even though web.lab already took place this year, you can still access their content & videos here: https://weblab.mit.edu/schedule
- We also share some of the most relevant lectures below (from YouTube).
HTML, CSS
- Basics:
- Online crash courses/tutorial videos
- Extras
Bootstrap is a popular CSS template framework by Twitter.
Sass is easy to learn and a powerful way to write CSS.
Compass contains a lot of reusable patterns.
JavaScript
Other JavaScript Frameworks (optional)
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.
Other Tutorials & Tips
In addition to our workshops, these tutorials could be useful for your projects and future visualization work.
Git & GitHub
- 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++
Datasets
Further reading and resources
Visualization Blogs