Discussion Prompts

Page content

Note: this page is for the course staff to “stage” the discussion prompts before putting them on Canvas. It really isn’t for students.

Discussion 01: What is Vis?

(warning: if you are not in a “discussion group” do not post - it will get lost in Canvas - send a message to the course staff and we’ll fix it. this should only happen if you’ve added the class after we last adjusted the groups)

You may want to review the Online Discussions rules.

Normally, the Wednesday deadline for the initial

This week’s prompt has two parts, but they fit together.

  1. Describe your interests in this class. Why are you taking a Visualization class? What do you want to get out of it?

  2. Discuss how the definitions of visualization we saw this week (especially in the readings) fit with (1) how you thought about visualization before this week, and (2) your interests.

From the readings and classes you should have gotten a few different definitions of what visualization is - including mine.

The prompt gives you an opportunity to think about the different definitions of visualization and relate it to how you think about visualization. Do the definitions (in particular, the one I will use in this class) fit with how you thought about it? Do they give you a broader (or different) perspective? Are they helping you understand what makes a visualization?

Hopefully, this prompt will not only get you to think about Visualization, but also to provoke some discussion amongst your discussion group and give you a chance to get to know some people a little. Because of the dynamic nature of the class roster, your group will be different next week. (as the class goes on, the groups will become more stable)

There is an additional assignment as part of the discussion: set your profile in Canvas so enable better discusions. See Tips on Using Canvas (warning - Canvas changed - I think these instructions are correct)

  1. Use the “Account” tab (top left) - it brings up a panel with “Settings and Profile”.
  2. Under “Settings” check things - it doesn’t seem to allow you to edit. If something is wrong and you can’t change it, contact the course staff. Under “settings” (on the left side) – set your “Display Name” to “FirstName LastName” (so for me it’s “Michael Gleicher”). This way, when people see you in a discussion, it’ll look better.
  3. Please leave “Sortable Name” as LastName,Firstname (if it isn’t contact the course staff)
  4. Under “Profile” (top left) – edit your profile. A picture is really helpful. A short bio – what department you are in, … can help people know who they are talking to. If you have a personal home page, it’s nice to add a link to that as well. See Tips on Using Canvas (Set Up Your Canvas Profile)
  5. Now might also be a good time to check your Canvas notification settings.

Setting your profile up is required. We’ll bug you if you forget.

Discussion 02: Why Vis?

In this week’s lecture and readings, we ask the question “Why Visualize?”

The readings focus on ideas on why someone might want to make a visualization. I’d like you to think about this question and give a summary of your answer.

Some things to think about: Why does one make a visualization? What are the purposes of visualizing? What might you try to achieve by doing it? Why is visualization an attractive way to present or interact with information? What are the alternatives? What can well designed visualizations do that other modalities cannot?

Note that the latter questions start to touch on “why do visualizations work” which we will cover a lot over the course of the semester. In the past, we had some initial readings on these subjects (to introduce perceptual and cognitive concepts).

Please do this week’s readings Readings02: Why Vis? and Critique before writing your initial post. (at least the “main part readings, although the critique readings by Tufte and Viegas&Wattenberg are useful too).

Your initial posting should give your thinking on why we bother trying to make good visualizations. The list of questions above are one way to think about it (last year, many students addressed those questions specifically). Another way to think about it is from the readings: how do all those examples of what visualizations can do help you see the reasons to do it?

Discussion 03: Abstraction?

The topic of this week is abstraction. This is a central and important topic, but one we often take for granted. It’s not as glamorous a topic to think about (as say perception, or specific design types), but it provides a critical foundation.

If you’re a computer scientist or mathematician, you are probably pretty fluent with the concept of abstraction – even if you don’t think about it explicitly.

  • Data abstraction is key because it lets us map our visualization designs to the right kinds of data. When there are mismatches, there are problems.
  • Task abstraction is key because it lets us see how general solutions can map to many specific problems.

Thinking about data abstractly is easy (or seems so to me). You’ve seen at least some of it before (in programming, databases, or stats). We’ll cover that with the content survey.

Thinking about task abstractly is more challenging, and it’s only in the past few years has the visualization community come up with good ways to talk about it.

Tasks are trickier because there are many ways to think about tasks abstractly. You’ve seen several in the readings and lecture.

For the discussion: you’ve seen a few different task description. There are many more - and you might even have your own ways

Discuss the relationships between them. Are they redundant? Can you compare and contrast? How do the different ways of looking at task help us understand task? Pick some scenario/application/task and show how it might be viewed by different taxonomies.

As part of your initial posting, please use an example. You can (optionally) post a visualization (or give a pointer). But show how the different ways to abstract task might apply to you example. And use that in your response to the questions in the previous paragraph.

In discussion, there might be disagreement, but often it is multiple perspectives. For any scenario, there are many potential tasks, and for each tasks, there are many different abstractions. This discussion should be an opportunity to explore this.

Discussion 04: Encodings

This week’s topic is encodings. There are really a few key topics:

  1. What are the different visual channels that we can use to encode data?
  2. How do we assemble these encodings to make visualizations?
  3. How are standard designs assembled from these basic building blocks of encodings?
  4. How do we choose appropriate encodings? (we’ll talk about this more in the future)

The readings focus on 1, and to a lesser degree 4 (although this is mainly a prelude to a bigger discussion). The interesting questions of 2 and 3 will be the focus of lecture.

Caveat: I prefer to think of things uniformly as encodings, including the special (and important) case of position encodings. Munzner treats position encodings specially, and calls it “layout”.

For initial posting: I would like to get you to think about appropriate and inappropriate encodings. Rather than just enumerate different encodings, I’d like you to come up with examples of appropriate and inappropriate encodings. In your initial posting, describe a few examples of appropriate and inappropriate encodings, and articulate why you think they are (or aren’t). For different encodings, what might it be good or bad for?

(hopefully, this leads to discussion beyond “I agree”)

Week 5: Implementation

This week, the readings (and watching) were about implementation. The “lecture” about implementation will happen later.

The main question: We’ve seen a range of implementation platforms. When you are given a project in the future (either in later class, or things you might do outside class in the near future), which tools do you think you will consider, and how will you decide?

This question is meant to be “personal”: given your other skills, background, prefered programming tools, etc., how do you think about what tools to use?

In your answer to this, consider the following (as a way to connect with what we discussed in class):

  • What are the pros and cons of programming a visualization (using one of these high-level toolkits) compared to using an “end-user tool” (like Tableau)?
  • What are the limitations that you see in the high-level library that might motivate you to seek another approach (like a low-level library, or a declarative approach)
  • What do you see as the advantages and disadvantages of the declarative approach (in general, and specifically with Vega-Lite)? When do you think this category of tool is appropriate?

To add a little richness to the discussion: it should be clear that there probably isn’t one “best” tool - different problems have different needs, and a different tools are likely to fit. How much of a toolbox of different tools do you think you want to build up? How do these different tools “fit together” (less that you use multiple tools to make one visualization, but more that you have choices when a problem comes up).

Hopefully, each group will have enough diversity of opinions so there is some opportunity for discussion.

Week 6: Scale

Consider the “most” information you can cram into a visualization. In theory, you could assign each data point to a pixel - so each pixel represents a data point. People actually do this (there are papers about pixel-oriented displays).

Many real cases have more data points than pixels (and certainly more data than you can show conveniently). In class / the readings we talked about a few basic strategies. Give an example of using each. How might you make informed choices about what strategy to use to address scalability?

This is an intentionally open ended question that should spark discussion.