Learning Goals (all weeks)
This is an attempt to formalize the “learning goals” for the class. For years I’ve taught the class, with only a hazy idea of what the learning goals were. I never tried to write them down.
Part of the goal of writing gown the learning goals is that it can tell the student what I am trying to get across to them. This has a few benefits:
- They can have a sense of why I am doing the things we’re doing.
- It gives a sense of what they should get out of the activities (readings, discussions, …), so they can focus their energies.
- They can assess whether or not they are really learning it.
For me, writing down learning goals allows me to check that my plan for what we do in class actually aligns with what I want you to learn.
Contents
- 1 Week 1 – Introduction
- 2 Week 2 – Why Visualization
- 3 Week 3 – Abstraction
- 4 Week 4 – Encodings
- 5 Week 5 – Design School and Research
- 6 Week 6 – Implementation and Toolkits
- 7 Week 7 – Evaluation
- 8 Week 8 – Perception
- 9 Week 9 – Color
- 10 Week 10 – Interaction
- 11 Week 11 – Uncertainty (and multi-variate?)
- 12 Week 12 – Dealing with Scale
- 13 Week 13 – Graphs
- 14 Week 14 – 3D and Scientific Data
- 15 Week 15 – Presentation and Animation
Overall Learning Goals
From the Official University Syllabus (phrased as outcomes – these are high level and a bit abstract, but still relevant):
- Students will understand the potential of effective data visualization.
- Students will understand the key principles for the design of effective visualizations.
- Students will be able to design and evaluate data visualizations for a variety of tasks.
- Students will understand the relevant basics of visual perception and its role in design.
- Students will understand some standard visualization methods and their applicability, and have exposure to standard kinds of data interpretation problems and their standard solutons,
- Students will gain exposure and practice with some of the skills required to be a researcher and practitioner in the field of Visualization.
We will teach students to:
- Understand what visualization is in the broad sense, with an emphasis on task and effectiveness.
- Appreciate the potential for visualization, what it is good for (and not).
- Perform design critique, especially for visualizations, but as a general skill.
- Think about design process, and use it for visualization.
- Think about visualization design in terms of its building blocks, and use this approach to design, redesign, and evaluate visualizations.
- Understand common challenges encountered in creating visualizations, and have a sense of the existing strategies for addressing them.
- Have enough familiarity with common design principles, and intuitions of how the pieces can be fit together, that they can be decent visualization designers.
The goal of teaching a design process
I had a conversation with a former student about the class, which is part of what inspired me to try to better articulate the class goals to students.
The student pointed out (correctly) that while I did teach a design process, I didn’t make clear to the students that I was teaching it them. It kindof came out when you reflect over what we did. I never articulated it as a thing that you need to learn, practice, use in the future, get testing on, …
My response:
Your message points out a good point:
I don’t think of it as a recipe. It’s not here, do that. Memorize these steps.
It’s more…
Have appropriate background, build intuitions, do the right thing when the time comes since each time its different.
I tend to think this way generally, but I appreciate the need to distill recipes.
So here goes…
- Understand task and data (in an abstract way)
- Understand how #2 creates needs/challenges for an encoding
- Using a knowledge of all the different kinds of things available, generate options (preferably multiple options)
- Assess and iterate
I think this process is the same no matter what you’re designing! (change the word data to resources, which is true for vis – data is just a kind of resource)
Notice that to be able to do this, one must:
- Know how to examine task and data abstractly (previous weeks in the class)
- Understand how these translate to needs for encodings
- Understand the range of possible encodings, and have a sense of what they are good and bad for.
- Know how to put encodings together to make designs
- Know how to evaluate whether something is good
Teaching #4 – basically how to generate design ideas – is almost completely by example.
In fact, everything can be done just in terms of critiquing designs others make.
Week 1 – Introduction
- Have a sense of what I mean by visualization and what the class will be so that students can be sure they want to take the class and have the right expectations.
- Work the bugs out of the class mechanics (make sure everyone can use the online systems and understand the class policies)
- Get a basic sense of the elements of visualization (tasks, encodings) and the process (specification, ideation, critique)
- Have a sense of the breadth of visualization and the different perspectives people bring
- Know what the 4-step process is and the 4-design moves
Week 2 – Why Visualization
- Appreciate the range of reasons why visualization is useful.
- Get a perspective on key foundations (perceptual, cognitive, task effectiveness, …)
- Get some historical perspective on visualization
- Begin to think in terms of task
- Understand what effective critique is and how to do it.
Week 3 – Abstraction
- Understand the value of abstraction in visualization design
- Have a sense of task abstraction, it’s value, and it’s limitations
- Understand data abstraction, and what it means for creating appropriate (and transferable) designs.
- Get some encoding basics and see how basic visualization designs come from attaching data variables to visual variables
Week 4 – Encodings
- Appreciate encodings as the building blocks of visualizations, and see how they are put together to make visualizations.
- Know the range of different encoding choices (the visual variables)
- Have a sense of what each visual variable is/is not good for
- Understand how visualizations can be assembled from (and analyzed into) encoding choices.
- Assess standard designs in terms of their encodings and data abstractions
- Appreciate the need for ways to make good choices about encodings
- (probably not time to get to it) See how glyph design is a good testbed for putting encodings together.
Week 5 – Design School and Research
These two topics are put together because of the timing of my travel week. Me being at the Vis conference is an excuse to get students to see what it is.
Design School:
- Give students some appreciation for (and awareness of) visual design principles
- Give students some practice at applying visual design principles
- Give students soem practice at critiquing visual designs
Research:
- Have a sense of the range of topics that are covered at a modern visualization research conference (as a proxy for the topics considered in the field).
- Have an idea of what visualization research papers look like.
Week 6 – Implementation and Toolkits
This is an odd week since it’s a place where the needs of different kinds of students really are different. It would be better if I could somehow provide a broader range of tools and implementation strategies, rather than the focus on D3.
- Give students a sense of the range of options for implementing visualizations
- Give students a notion of how to choose amongst the various implementation options
- Give students a sense of what D3 is, and why, and how it provides an interesting set of abstractions for thinking about implementing visualizations
- Give the students who will actually want to use D3 some starting points
Week 7 – Evaluation
- Appreciate the different approaches to visualization evaluation.
- Understand the nested model and its implications for how to choose evaluation strategies
- Appreciate “rules of thumb” based evaluation, both its benefits and limitations
- Practice critique
- (probably not time to get to it) Be exposed to empirical evaluation and understand its challenges
Week 8 – Perception
- Have enough of the basics of how human perception works to appreciate how it can impact visualization design.
- Understand key phenomena, such as popout, grouping, and aggregation, and see how they can be applied in visualization design.
- Have awareness of key perceptual and cognitive limitations, and how these can impact the success of visualization design.
- Appreciate how perceptual science methodologies can provide guidelines for visualization design.
- (probably not time to get to it) Appreciate how the empirical approaches of perception research can be adapted to visualization.
Week 9 – Color
- Understand color from the physics, perceptual, display, and semantics points of view.
- Understand how different aspects of color (perception, physics, semantics) limit what color can and can’t be used for in visualization.
- Appreciate the design of color ramps, especially the issues with rainbow ramps and the utility of “brewer style” ramps.
- Understand how to choose good color mappings and use color as an effective encoding.
Week 10 – Interaction
- Understand how interaction is used as a component of visualization design, and what problems it can be used to address.
- Have a sense of some of the key types of interactions one adds to visualizations, and what they are good at helping with.
- Appreciate the costs of adding interaction to a visualization (including the challenges of implementation).
Week 11 – Uncertainty (and multi-variate?)
I am not sure which topic to cover this week.
- Appreciate the importance of uncertainty in data, and the value (and challenges) in communicating it visually.
- Know some of the standard designs for communicating uncertainty in visualizations, and appreciate their pros and cons.
-
Appreciate the problem of multi-dimensional (medium numbers of dimensions) and it’s challenges
- Be aware of the standard approaches to dealing with such “medium-dimensional” data, and have a sense of their pros and cons
- Experience glyph design, and practice it as a tool for multi-dimensional display but also to experiment with encodings.
Week 12 – Dealing with Scale
- Appreciate the kinds of challenges that arise as data and problems grow in scale.
- Be aware of some of the strategies available to combat scalability issues (in terms of design, not necessarily in terms of implementation)
- Have awareness of the pros and cons of key strategies (such as dimensionality reduction and sampling)
Week 13 – Graphs
- Understand what graph and network data is and the specific challenges of it
- Be aware of a range of standard designs for graph data, beyond node-link diagrams
- Appreciate the challenges of node-link layout, and have a sense of the methods available
Week 14 – 3D and Scientific Data
These are really two separate topics (although people often think of them together). And sadly in class, we barely get to scratch the surface of either.
- Understand how the basics of how the human visual system “sees” 3D, and the ramifications of this for visual design.
- Understand how different perceptual cues can be used to convey depth, and how they can be used in visual displays.
- Appreciate when 3D should and shouldn’t be used in visualization
-
Understand the challenges of working with “traditional scientific” data sets and data types.
- Have a basic sense of the problems of field visualization (scalar fields, vector fields, …) and the basic approaches to these problems.
- Have an awareness of the basic approaches to the most common problems (2D scalar fields, 3D scalar fields (volume visualization), …)
Week 15 – Presentation and Animation
This week is really “leftovers” – but these are two topics that I really want to be able to get to.
- Appreciate the “art” of presentations, and have some ways to think about it effectively to improve your own practice.
- Understand how animation can be used in visualization (and vice versa)