The size and complexity of data are quickly growing. Visualizations can take advantage of human cognition to help us better understand information. This course takes a holistic, end-to-end approach to visualization, from data collection to interface design to user evaluation. Students will gain theoretical foundations from principles in graphic design and research in cognitive science while learning how to apply this knowledge in visualization projects.

Students will be exposed to an assortment of technologies, including HTML5, CSS3, JavaScript, SVG, D3, Git, Mechanical Turk, and various public APIs (e.g., Twitter, Google Maps, etc.) during the creation of a semester-long interactive visualization of a data set.

Course: CIS602 The Theory & Practice of Visualizing Data
Instructor: Gideon Goldin
Class: Tuesdays & Thursdays from 5:00 to 6:15 pm in Dion 101
Office Hours: Tuesdays & Thursdays from 6:20 to 7:20pm in Dion 302B (or by appointment) 
Required Textbook: Information Visualization, Third Edition: Perception for Design (henceforth referred to as Ware; Link on Amazon
Optional Textbook: The Visual Display of Quantitative Information, Second Edition (henceforth referred to as Tufte; Link on Amazon)

Calendar

Date Topic Reading (due this day) Assignment (assigned this day)
Week 1: Introduction to Data Visualization
Tuesday, January 28, 2014 Introduction to the course Ware Chapter 1 (up to but not including "Gibson's Affordance Theory");
The Value of Information Visualization
"Homework" #0: Peruse syllabus

Read the syllabus and browse some of the resources. Think about how visualization might relate to your area(s) of interest. There is nothing to submit for this assignment.

Thursday, January 30, 2014 Introduction to Data Visualization;
Setting up a development environment
Read the rest of Ware Chapter 1;
A tour through the Visualization zoo;
optional On Distinguishing Epistemic from Pragmatic Action
Homework #1: Hello, World!

To familiarize yourself with the technologies you will need to use for your project, you should create a web site that displays, "Hello, World!" upon some kind of interaction (e.g., key press, mouse click, etc.). The web site must also have the ability to modify the look of the text, "Hello, World!" by modifying its CSS via another interaction. You must make explicit use of HTML, CSS, and JavaScript.

Your web site must comprise three files: an HTML file, a CSS file, and a JavaScript file. Your HTML file should link the other two. You must use JavaScript functions. Be creative. If you like, take this time to get a head start on learning D3 and incorporating it into your web site by making explicit calls to D3 functions. Using D3 is not necessary, but it is highly recommendedthat you to start learning these technologies right away.

For this assignment, you should zip allyour files together and email them to me at gideon_goldin@brown.edu. Remember, this assignment is intended get you used to using HTML, CSS, and JavaScript together, so take this time to learn as much as you can before you will need to implement more advanced functionality in the coming weeks. As per the course policy, the deadline is the midnight before class on Tuesday the 4th (i.e., Monday night).

Week 2: Designing Visualizations (Part I)
February 4, 2014 Setting up an development environment (Part II); Types of Data; Graphical Excellence; Project brainstorming Affordance, Conventions, and Design Homework #2: Brainstorming

The sooner you start thinking about final project ideas, the better shape you'll be in. For this assignment, you need to simply come up with one to two visualization project ideas. They don't have to be fully fleshed-out; a paragraph for each idea is fine, but each should make use of interaction. You do not need to stick to these ideas, they are just intended to get you to start thinking.

You can come up with ideas whereby you propose a visualization for some data set, or ideas whereby you create or modify a visualization tool/technique (rather than simply visualize a data set). For example, you might think of a novel method for interaction (http://www.aviz.fr/wiki/uploads/Teaching2013/Bier_MagicLenses.pdf), data collection/handling (http://vis.stanford.edu/wrangler/), search/querying, design (http://colorbrewer2.org/) etc.

EDIT (2/6/14): This is now due via email midnight 2/7!

February 6, 2014 Graphical Integrity; How to present a research paper; Getting on GitHub available Ware Chapter 5
Week 3: Designing Visualizations (Part II)
February 11, 2014 Data-Ink and Graphical Redesign; Introduction to Git Homework #3: Final Project Idea

Email me with your final project idea. This should be between 500 and 1000 words, and it must include a sketch-up of the visualization/tool (you may use paper and pencil, wireframing software, photoshop, etc.). Your submission must provide an abstract, motivation for your project (explain your novel contribution), your proposed method, your data, your proposed graphic type (e.g., some kind of cartogram; explain it), your proposed interaction, as well as related and similar work. I will check for all these things when grading your submission. If you are in a group, have a single representative email me and include everyone's name and UID.

I will respond to each proposal. If the project idea is not adequate, you will be asked to make the necessary modifications and resubmit within a reasonable time frame.

Your initial submission is due via email 2/19 at midnight. Only submit one project. There is no reading/response for the next class, and there isn't class on Tuesday, so you can focus on coming up with an strong idea.

February 13, 2014 Chart Junk; Introduction to D3
Week 4: Data Handling
February 18, 2014 No class; Follow Monday's schedule
February 20, 2014 Data Measures; D3
Week 5: Visualization Software (Part I)
February 25, 2014 Information Seeking; D3 The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations, Shneiderman, Proc. IEEE Conference on Visual Languages, Boulder 1996. Project proposals begin March 6th. Your presentation day will be provided by 11:59 Thursday 2/27/14.
February 27, 2014 Project Proposal Guidelines; In-class project planning S. Bateman, et al, "Useful Junk? The Effects of Visual Embellishment on Comprehension and Memorability of Charts", Proceedings of CHI '10, April 2010, pp. 2573-2582.
Week 6 (midpoint): Visualization Software (Part II)
March 4, 2014 Big Data (Guest Lecture by Justin DeBrabant); Git; GitHub; D3
March 6, 2014 Project Proposals; Data Handling Wrangler: Interactive Visual Specification of Data Transformation Scripts Sean Kandel, Andreas Paepcke, Joseph Hellerstein, Jeffrey Heer ACM Human Factors in Computing Systems (CHI), 2011
Week 7: Visualization & Cognitive Science (Part I)
March 11, 2014 Lightness, Brightness, Contrast, and Constancy Ware Ch. 3
March 13, 2014 Color Ware Ch. 4
Week 8 (spring break; no class)
Week 9: Visualization & Cognitive Science (Part II)
March 25, 2014 Emotion, Aesthetics & Art Tractinsky, N., Katz, A.S., & Ikar, D. (2000). What is beautiful is usable. Interacting with Computers, 13, 127-145.
March 27, 2014 Software Engineering D3: Data-Driven Documents Michael Bostock, Vadim Ogievetsky, Jeffrey Heer IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis), 2011 Homework #4: GitHub

A new private repository has been created for your project on the CIS602 organization in GitHub. Request to join your team (indicated by last name) through GitHub (email me if you cannot do so via the web interface; I will add you within 24 hours of your request). After you have joined, make an initial commit and push of your part of your team's existing code-base to the repository.

Each student must make their own commit/push. It is your responsibility to join your team on time, no extensions will be given. Your commits/pushes are due on GitHub March 31st at 11:59PM

Week 10: Evaluating User-Interfaces
April 1, 2014 Data Density & Small Multiples Polaris: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases. Stolte, Tang, and Hanrahan. IEEE TVCG 2002
April 3, 2014 Data Analysis Ware Appendix C
Week 11: Interaction & Animation
April 8, 2014 Animation Animation: Can It Facilitate? Barbara Tversky, Julie Morrison, Mireille Betrancourt, International Journal of Human Computer Studies, v57, p247-262. 2002.
April 10, 2014 Running Experiments Crowdsourcing Graphical Perception: Using Mechanical Turk to Assess Visualization Design Jeffrey Heer, Michael Bostock ACM Human Factors in Computing Systems (CHI), 203–212, 2010
Week 12:
April 15, 2014 Geo-spatial Data & Mapping A Rank-by-Feature Framework for Interactive Exploration of Multidimensional Data. Seo and Shneiderman. Information Visualization 2005. In-class project crits
April 17, 2014 Text Information Visualization for Search Interfaces, Marti Hearst, ''Search User Interfaces'', Chapter 10
Week 13:
April 22, 2014 Narrative & Explanation Bederson, B. B., Grosjean, J., & Meyer, J. (2004). Toolkit Design for Interactive Structured Graphics, IEEE Transactions on Software Engineering, 30 (8), pp. 535-546.
April 24, 2014 Data Manipulation Ware Chapter 10
Week 14: Final Project Presentations
April 29, 2014 Visual Analytics optional Illuminating the Path
May 1, 2014 Final project presentations Final projects and reports due on GitHub today at 11:59PM
Week 15 (final week):
May 6, 2014 Final project presentations

Resources