What’s the best way to *teach* visualization?

Yes teach, not learn. I have been writing about ways to learn visualizations multiple time (here, here, here, here, here, and, here) and others have done it multiple times too, but I am more interested in questions about how to best teach visualization now. I have been teaching a whole new Information Visualization course last semester and I honestly have several doubts on what’s the best way to teach visualization.

First, I need your feedback.

I will get to the main doubts I have in a moment but before that I want to ask you a favor: if you teach or ever taught a course, I would be very happy to hear from you your opinion and experiences with teaching visualization. I know, as a matter of fact, every teacher has big questions and doubts about best teaching practices. I’d love to hear from you the ups and downs of your teaching experiences.

I would also be very happy to get feedback from people who have attended visualization courses in the past. Did you ever attend a visualization course? If yes, what do you think is the best way to be taught about visualization? Is there anything that worked especially well or bad. What is the most challenging part? Theory, practice, tools, examples? What does or doesn’t work in class?

My InfoVis Course

My Information Visualization course is held at NYU-Poly and it’s open to students of every level (undergrads, grads, and phds). The course is organized around lectures, reading assignments, exercises (mostly in class) and a (big) final project. The project is the most important part of the course and my students work on it for more than half of the time of the whole course (about 2.5 months).

The course focusses mainly on visualization theory (mostly perceptual issues and visual encoding) and on the visualization design process. I have two main goals for my students: (1) make sure they can, for any given problem, explore a very large set of solutions (rather than focus on the first one that comes into their mind), (2) predict as much as possible what works and what does not work, that is, design and implement effective visualizations.

Issues with teaching visualization.

Here is a list of some specific issues I have with my courses.

Visual literacy. I have noticed this problem multiple times in my courses: I show a wide array of visualization examples early on in the course and then I quickly focus on the nuts and bolts of visualization design. The students seem to understand what I teach but they simply have not experienced enough visualization design to really internalize and fully understand what I say. Also, when we come to the problem of designing some visualizations for a data set they have never seen before in the past they don’t have enough of the visualization design space in mind to explore all the interesting possibilities. They are mostly anchored to what come first (usually from experience). How do you develop visual literacy early on in the course? I am not sure but I feel students need a much deeper immersion into the visualization design space before they are able to work on it.

Tools. I usually give total freedom to my students to choose whatever tool they want (I usually make the bad joke they can code visualization in assembler if they want to). I give some detailed advice on what I think are the best tools around but then they choose and learn the tools on their own. I used to think that tool choice is a secondary aspect of teaching visualization but I totally changed my mind. Visualization, as any other design craft, is totally dependent and shaped by the tools one uses, both consciously and unconsciously. The tool you use will give a certain shape and frame of mind to the visualization you produce (I first learned about the idea of how technology and context shape the creative process from David Byrne’s book How Music Works). Furthermore, there is the issue coding vs. noncoding. I know a lot of people do great visualization without writing a single line of code. Yet, I think coding gives much more freedom. I now believe it is much more effective to give tools the role they deserve and teach one (max two) core tools in my future courses. How do you use tools in your course? Is it an accessory or fundamental aspect of your course?

Projects. I think there’s no doubt visualization can only be learned by doing a lot of practice. I use to repeat that visualization can only be judged when you see it not when you think about it. Projects are a great way to put in practice what you learn and solve some interesting and challenging problems. Yet, how do you split the time between the project part and the lectures? How early should the student work on their projects? Ideally they should start very early on so that they have enough time, but shouldn’t they first acquire some basic knowledge? But how can they acquire this knowledge without practice? Again, I used to believe the best way is to split the course into two main periods: the lectures period and the project period. Now I am no longer sure this is the best way to go. How about mini-projects? Projects with a much shorter time span but nicely interleaved with the lectures? It sounds like a nice option. Yet, when are the students confronted with a more realistic medium-size project. Can one afford to have mini-projects AND one big project? I am not sure.

There are many other issues I have but these are the most pressing ones I had.

Now it’s your turn! What’s the best way to teach visualization? I’d love to hear your opinions and experiences. Thanks!

Take care.



16 thoughts on “What’s the best way to *teach* visualization?

  1. Bryan Connor

    Hey Enrico, thanks for posting this prompt.

    My thoughts come from teaching to a pretty small group of students. I had the added difficulty of teaching my course online but I’ll try to normalize a little for that.

    I think a lot of the challenges that come up in teaching visualization should be framed around the students. If you have a small enough group you might be able to tailor the course to their experiences with tools and visual literacy to some extent. However, even with 10 students, there’s bound to be a wide range of experiences represented.

    Another student-focused challenge is creating an environment where there’s room for students to learn from each other. Because they have a range of experiences there’s value in sharing and learning from members of the group and from the teacher.

    Your literacy point is interesting. Is there a set of content to be read in the first week (or beforehand) that can get students up to speed as much as possible? Videos, articles, galleries of visualizations.

    Tools also could fall into the same category. There’s rarely time to do technical training in addition to regular class material. What can students be required to learn beforehand? What do they bring to the table?

    Projects are definitely the meat of it. I like your focus on exploring a large set of solutions. That makes a lot of sense. I think the other dimension is developing those solutions to varying degrees of completion; sketches, wireframes, mockups, prototypes, finished visualizations. And in addition to teaching to predict success of solutions I think students should be encourage to test those solutions through user testing and other means well before a final visualization is produced (using clickable prototypes or even flat designs).

  2. Jorge Camoes

    Enrico, I think that once you overcome inertia and make people aware of the need for better visualization practices everything else is easy. You can teach everything about perception, color symbolism, chart types, whatever, but first make sure people really want to move and change.

    You can’t teach that, but you can help the students to take the first step. And nothing is better than a bad example… I like to start with a bad example and ask a few questions that can be (ineffectively) answered reading the chart, then present a good example with the same data and repeat the questions and let them see for themselves how a few good choices can not only improve speed and accuracy but also find new insights that the bad example couldn’t provide.

    I also like to ask the students to create and discuss a simple visualization with pen and paper and do it again with the same data by the end of the course. This is a way for them (and for me) to track their progress and learn from the other students.

    Once I used several bad examples from the Government budget. Given the current economic situation here in Portugal that was a clear pain point (“how can they manage a country if they can’t even make a chart?”). Use data that interests or even creates an emotional response but you must be aware of (and able to manage) a potentially dangerous situation, so don’t go overboard. Things turned out OK but next time I used a different source of bad examples. :)

    Always show how an abstract/generic concept works in a visualization environment. For example, you can show several Gestalt laws in a single scatter plot, instead of the usual rows of squares.

    A visible framework helps a lot. Give the students one of your visualizations and ask them to “reverse engineer” it: why is this here and not there? is this a purely functional choice or is it decoration? Why? Can it be improved?

    Regarding tools: just don’t assume too much or you’ll end up teaching how to use the tool!

    These are a few thoughts based on my limited teaching experience, and I’m very interested in other opinions and experiences, so thanks for starting this.

  3. Juuso Koponen

    I think the right teaching style is dependent on many things: obiviously the time available and how it’s parcelled out (an intensive workshop-like run of consecutive days, or a regular once-a-week-affair running the whole semester, or something else), but also on things such as what the students’ background is and what subject they’re majoring in. I can tell you engineering students are quite different from art/design students. :)

    I’ve taught lots of different courses, but the one I have moth experience with is a 5 ECTS credit course for MA (graduate) students I’ve taught with two colleagues since 2008 at Aalto University in Helsinki. The exact schedule changes a bit every year depending on the whims of the people who plan the curriculum, but typically it has been 12 to 15 days spread out over three weeks, sometimes four. The students are mostly majoring in graphic design or new media, but we increasingly have more engineering and even business students attending, the total size of the group being around 20–25 people.

    This course focuses more on infographics than computer-generated visualizations, but I still it might be worth mentioning how we do it, as we have got it working pretty nicely.

    The way we usually work is like this:

    On day 1 we have an introductory lecture, after which the afternoon is spent doing a quick assignment by hand (without computers). This forces the students to really focus on the basics and think about the data. Even drawing a simple line chart by hand can be quite eye-opening.

    On day 2 we continue with lectures and in the afternoon the next assignment is given. Typically this is something like drawing an instructional poster.

    On day 3 and 4 more lectures and tutored work on the assignment.

    On day 5 or 6 half of the day is spent looking at the results of the second assignment in a big critique session where evereyone shows their work to the group and gets feedback. After this the third, ”big” assignment is given. Typically just a broad topic, such as ”democracy”, is given and the students decide on the more specific topic and the data to be used by themselves. The end result can be a poster, a web-based visualization or a video.

    For the rest of the course morning lectures are followed by tutored working in the afternoons, with a few of the last days almost exclusively reserved for working. Several sketch review sessions are held where the students show the whole group where they are at the moment and receive feedback for their ideas and work.

    The whole last day of the course is used for a critique session where the work is shown and discussed by the whole group.

    This basic structure has evolved with trial and error and seems to work very well for us. We constantly receive very good feedback from our students and the quality of the final work tends to be pretty good given that few of the students have previous experience doing infographics. (Some examples here: http://informaatiomuotoilu.fi/2012/04/student-works-from-our-course-part-ii/)

    We don’t have required reading (except as extra assignments for people missing classes) but do give a lot of pointers where to find further reading if interested. A lot of emphasis is put on personal tutoring, i.e. helping the students to find data, commenting their sketches and helping with software. Having three teachers on the course helps, but I have taught somewhat similar courses alone, too. We also have a variety of visitors coming in for 1.5hr guest lectures to keep the lecture part interesting.

    I think what works best is taking turns in showing well executed infographics/visualizations of all kinds, a bit of theory explaining why they work so well (visual variables, Gestalt laws etc.), practical tips and tools, and the students actually trying their hand at it, making mistakes and getting feeback on how to improve. So instead of trying first explain the theory and then have the students work on that to make fantastic visualizations, you first show the aspirational level, give the theory and tools and then let the students try and fail :) and repeat.

  4. FILWD

    Thank you all for your comments. That’s very interesting!

    Jorge, I did not experience much friction with students. They pretty much come in class with a strong desire to learn.

    I tried the bad/good example thing many times but honestly the more I use it the more I think it is limited. The problem is that to some extent the real value of a visualization is given by its context. I used to believe there is a unique way to say good/bad, now though I am much more cautious. What I focus on is more into helping students exploring several alternatives. I think most of the design problems derive by a limited ductility in evaluating alternatives. Anyway .. there is one great set of examples I use from your blog: the growth of walmart. I love the discussion and the examples! Anyway, this is also a great example of what I mean when I say that things are not black or white. Your solution had a much higher throughput but I get reasonable arguments in favor of the others all the time :)

    Bryan, very good points! I really like the idea of having students helping each other. I have done a bit of this in my class and it works beautifully. I actually plan to do much more of it in the future. The idea of having people go through some material *before* the course starts is also terrific, even though I am not sure how practical it is in my case. But I would definitely like to focus on tools and literacy early on so that everyone can build solid foundations before digging into the hard stuff.

    Juuso, thanks for describing your course in detail. I am running out of time now and need to read it carefully. I’ll write another comment later :)

    Thanks a lot guys this is really really useful!

  5. Jorge Camoes

    Enrico, my experience is mostly with middle-age government employees: there is a lot of friction!

    I like to make my own Frankenstein charts: charts that combine multiple bad choices from real world charts that can’t be redeemed by any possible context. And some people actually like them…

    Apparently my audience needs a lot of black and white! If I start with multiple (50?) shades of gray it is more difficult to talk about effectiveness. If I say “this is more effective” they hear “this is prettier”, the message is lost and the course ruined.

    I don’t believe in absolutely good/bad visualizations but I believe that most of the time a few core choices must be there to make a good chart. Everything else depends on task/context. But I like to let the students to find that. And they do, when they share the same data and have to justify their choices. I like to show them my own visualization if, and only if, they seem to be able to criticize it and improve it.

    1. FILWD

      Sure. This makes a lot of sense. You are teaching to a completely different kind of audience. This actually makes me think what kind of audience vis books we have around target. This has huge implications.

      My students are CS people who will be expected to build interactive visualization to solve complex problem, possibly with large data sets. Some of them may also extend their work to developing innovative visualization techniques. There’s no really good book for doing that (except T. Munzner’s book, which is still in a draft version).

  6. Jorge Camoes

    Enrico, my experience is mostly with middle-age government employees: there is a lot of friction!

    I like to make my own Frankenstein charts: charts that combine multiple bad choices from real world charts that can’t be redeemed by any possible context. And some people actually like them…

    Apparently my audience needs a lot of black and white! If I start with multiple (50?) shades of gray it is more difficult to talk about effectiveness. If I say “this is more effective” they hear “this is prettier”, the message is lost and the course ruined.

    I don’t believe in absolutely good/bad visualizations but I believe that most of the time a few core choices must be there to make a good chart. Everything else depends on task/context. But I like to let the students to find that. And they do, when they share the same data and have to justify their choices. I like to show them my own visualization if, and only if, they seem to be able to criticize it and improve it.

  7. Andy Kirk

    Hi Enrico

    Great post and naturally a very interesting topic for me. It was something I’d started discussing in a draft post so I’ve redefined that and finished it off here: http://www.visualisingdata.com/index.php/2013/07/response-to-whats-the-best-way-to-teach-visualization/ but rather than just shamelessly send people to my site :) here is the main excerpt:


    The first thing to to say is that I entirely agree with Enrico’s outline of his own teaching focus, I think this is entirely the right approach:

    The course focusses mainly on visualization theory (mostly perceptual issues and visual encoding) and on the visualization design process. I have two main goals for my students: (1) make sure they can, for any given problem, explore a very large set of solutions (rather than focus on the first one that comes into their mind), (2) predict as much as possible what works and what does not work, that is, design and implement effective visualizations.

    Here are some general thoughts and observations about some key dimensions of the demands of teaching:

    Iterations: “Every teacher has big questions and doubts about best teaching practices“. Absolutely right. I have delivered nearly 60 events since November 2011 with about 50 different versions (to varying degree) of structure and material. Of course the changes made at the start of this experience were bigger than the tweaks I apply these days but I am still constantly evolving the way I feel is a best approach to teaching (with a big full-on refresh happening this Autumn). This is based on my own instinctive judgment about what ‘feels’ like it works well and doesn’t work as well, it is based on feedback from delegates and it is based on the ever-developing nature of the field, with a constant tap of brilliant new examples, resources and discourse.

    Linearity: The way we teach inevitably has to follow a linear sequence. Whilst data visualisation tasks will always differ in their entry points and the amount of iteration between stages of thought, it is nevertheless possible to structure the teaching in a layered fashion that reflects the best-path for a logical workflow process. Building up the thinking from the requirements and preparatory stages, through the data analysis and message forming, through to the chart and design choices and finally to execution. Each stage informs the next. This reduces randomness in approach, removes the need to rely on gut feel and minimises the inefficiencies that can strike any analytical or creative pursuit. However, it should also accommodate uncertainty, creativity and experimentation: factors that are so important to embrace to facilitate innovation.

    Craft vs. instructional: “In the end, they would think of information design as a natural language to communicate stories. Just as one speaks or writes, an information designer should be able to doodle visual stories“. This is a quote from Xaquín González Veira of the New York Times discussing his teaching experiences at the SVA in New York. I think it is a great expression to articulate the importance of teaching the craft, the ability to be flexible and capable of finding effective solutions to any given problem context. Of course there are many principles and rules we should impart but when this type of teaching becomes at all dogmatic or instructional I feel this doesn’t prepare a delegate/student sufficiently for the variety of tasks they may face.

    Convictions: On the same note, I think it is important to help delegates/students to develop their convictions, help them move beyond ‘like or dislike’ towards ‘I think something is effective because X’ and ‘this doesn’t work because of Z’. If they see something that is ‘cool’, fine, but why is that the case and what are the attributes of the design that lead to that opinion. The difference between right or wrong has an increasingly blurred centre, so a personal conviction about your beliefs and design values is ever more important.

    Choices: People are naturally more comfortable in any walk of life when they know their options. I try to achieve this by presenting delegates with a sense of all the key decisions they have to make, the choices that exist and the general guidance for how to make the choices. I also deliberately try to separate out discussions about data representation (chart choices) from presentation (the design execution, colour, interactivity, typography etc.).

    Graphical literacy: Enrico mentioned visual literacy and I would also make a separate point about graphical literacy. There will be plenty of semantics about language and terms but I define this as the ability of someone to know how to read a chart or graph. I have recently introduced more emphasis and coverage on the need to remind (even train) people about the characteristics of charts and the attributes of graphic portrayal of data that should lead them to draw findings. For example, what are the visible attributes of a line chart that should reveal interesting aspects about some data plotted over time: the high points/low points, seasonality, steepness of a slope, intersections, consistency etc.

    Practice: A suitable blend of practice is massively important because experience is the single most important way to develop a skill. There is of course a big difference between what can be practiced in, for example, a one day course (more modular exercises, conceptual ideas/sketching) compared to a full module or programme where there is more time and space to work on longer, more in depth tasks. In my short courses I try to get a blend between exercises that help refine our critical judgments (evaluating other works through specific lenses, explore data to familiarise with the physicality of this raw material and the potential curiosities/stories within, and then work on challenges to conceive potential solutions to a given brief.

    Interactions: One of the great benefits of a classroom setting is the opportunity to share ideas and explore opinions between participants in group settings. You can cross-pollinate the unique perspectives each person brings to the table and learn much from each other (including respecting different opinions) working on group exercises.

    Delegates/students: The unique convergence of skills and capability required to be the very best of visualisation designers makes the recipe of teaching a fascinating challenge. The different ingredients that go into this mirrors the diverse backgrounds that participants come from seeking to bolster their skills. Some are developers with strong computer science skills, some are designers with a flair for creativity, some are analysts or statisticians with strong maths and data skills, others are managers looking to coordinate others with greater know-how, others might just be customers or consumers of visualisation seeking a more sophisticated eye for effectiveness. The point here is that you never have a single demographic or neat set of characteristics. People are looking for different things and come from different starting points in their journeys. One-size will never fit all but you should certainly be able cast a wide enough net that grabs most.

    Tools/technology: This is the hard one. Enrico is absolutely right in commenting on the great influence technology has on visualisation design. Any group of delegates/students will offer a diverse array of skills and capabilities. Some will be technology minded, code-hungry, others will be more concerned with concepts and knowledge. Some will have advanced skills in a given software, others less so. Furthermore, there are scores of different tools, applications and programmes to potentially use. The time constraints of a course setting (one day vs. programme) will also have a great bearing on how much can be covered. My general view is once again to reinforce my central theme: tools evolve, the craft stays the same.

    What effective teaching isn’t about: Preaching, grandstanding, concentrating on narrow, singular issues, book-signings…

  8. Alberto Cairo

    Great post, Enrico. When The Functional Art was launched, I wrote an Instructor’s Guide that reads as an explanation of how I teach my courses. See here:


    The document:


    And a sample syllabus:


    As you know, my courses are about how to use visualization/infographics to communicate and tell stories, not to explore data, but there’s a large overlap, I believe. Basically, my courses include these components (not necessarily in this order, but overlapping):

    1. Theory / exposition to good examples (online and print: I actually show my students my collection of Malofiej books), readings, etc.

    2. Critiques. Tons of them. Both of graphics by professionals and made by the students. I also ask my students to redesign flawed graphics, using just pen and paper (I do that because tools tend to constraint thinking, at least at first.)

    3. Practice: We use Excel and Illustrator in my classes, just because we focus on the thinking and the planning, so we do a lot of mock ups.

  9. Eytan Adar

    The thing that students in my class seem to like the most:

    1) We have a lecture on a specific topic (e.g., network vis)
    2) I break them up into groups and give them a really specific design problem that someone else has solved but for which they have not read the paper or seen the solution (e.g., a glyph for summarizing communities). They only get a very high level spec for this. They work for a bit and then we have a discussion about their solutions.
    3) They read the paper on the specific solution for the next class and at the start of class one student (random) leads a discussion about it for 10-15 minutes.

    The upside is they get to immediately apply the theories/ideas from lecture, they have to think through the design problem, they get to see a bunch of possible solutions from other groups, and then they get to see the “professional” solution (which they can now critique effectively)

    1. Remco Chang


      The small-group approach is an excellent idea!

      In my last InfoVis class, I didn’t show them many concrete examples of InfoVis designs until the end of the semester. Instead, the class focused on (a) vis theory (perception, data-to-vis mapping, etc.), (b) programming vis-specific tricks (intersection, splines, etc), and (c) group project.

      The InfoVis designs that I shared with them are just there to give them inspirations and ideas for their final group project. My general thought has been that if they understand the theory, they can come up with their own designs by browsing through examples.

      p.s., course syllabus is here: http://www.cs.tufts.edu/comp/150VIZ/

      1. FILWD


        When you say “My general thought has been that if they understand the theory, they can come up with their own designs by browsing through examples.”, this is exctly my same approach and the one I feel is not working well. I am not sure any theory translates into practice automatically. At least not with my students :) This is the real reason why I started this discussion I guess.

        I also like Eytan’s approach very much. The few things my students worked in small groups in class I felt they learned really a lot and they enjoyed it too.

  10. FILWD

    Thank you all for the fantastic ideas and resources! I’ll need some time to digest all this information. I a excited I will be using some of this in the neat future :)

  11. Chris Neumann

    Hi Enrico,

    Bravo for starting this insightful discussion! While reading through your post, I found myself particularly intrigued by your comments on coding vs. non-coding.

    I’m the cofounder of a company called DataHero, which was founded two years ago with the aim of empowering less technical individuals (i.e. those who cannot code) to be more self-sufficient when it comes to exploring and understanding data. We spent a significant amount of our research and development efforts building algorithms that recommend an appropriate visualization for a given set of inputs, as we found that many people simply do not know a priori what the best way to visualize data is.

    I’d be curious to know what aspects of data visualization in particular you feel are the ones that require considerable amounts of practice to learn and whether that changes if certain variables (such as type, color, or size) can be provided by the tool?

  12. a_robot

    Speaking from a student’s point of view:

    We had our course broken into two modules spread across two semesters. The first one functioned as an introduction to visualizations. We focussed mainly on print visualizations and we had projects running in parallel to class lectures. The first semester was 3 weeks long with around 5 projects of varied size. Needless to say, they spilled over past the 3 weeks. This semester, the module was 5 weeks long and most of us focussed on an interactive project. Both the modules had one major project running through them, while mini projects also appeared from time to time. These small projects were given by visiting faculty. We did group work as well as solo work. During group work, we tried to make teams which were balanced so that everyone could learn or be on the same page. But yes, juggling projects with lectures and other things is quite a difficult task.

    We also have these readings on relevant topics. Like this semester we had a look at writings on ‘categories’ as well as Nature’s Point of View articles. This type of reading helps to support the lectures. We also did the ‘look at the examples’ exercise and analysed them as well. We did a long critique session last semester, and we hope to do one this time as well.

    One of my learnings from the course is that the more you experiment, the more you are likely to understand what’s the best way to visualize. That’s how an individual’s style emerges. Lectures and readings should then help guide the student to make good decisions.


Leave a Reply

Your email address will not be published. Required fields are marked *