Course Description

In this course we study the theory and practice of data visualization, with partial focus towards problems and applications in biology. Topics include fundamental principles, concepts, and techniques of visualization and how visualization can be used to uncover and communicate data-driven insights.

Learning Goals

After successful completion of this course, you will be able to:

  • Critically evaluate and deconstruct data visualizations.
  • Identify application areas for visualization in analysis workflows.
  • Evaluate the characteristics and structure of data you encounter to refine design options.
  • Use algorithms, aggregation, sampling, and similar techniques to refine and manipulate data.
  • Apply knowledge of how people perceive and reason with visualizations in your designs.
  • Design and develop interactive data visualizations.

Required Text

Visualization Analysis and Design Cover

The text we’re using for readings in this course is Visualization Analysis and Design.

Elegant Graphics for Data Analysis Cover

While this course primarily focuses on interactive data visualizations using d3, ggplot2 is a fantastic tool for exploratory data analysis and communication. Hadley Wickham, creator of ggplot2 and many other popular R packages, has written his own book entitled ggplot2: Elegant Graphics for Data Analysis (Use R!).

Interactive Data Visualization Cover

If you’re interested in data visualization beyond this class, particularly the algorithms behind visualization techniques, I strongly recommend Ward, Grinstein, and Keim’s Interactive Data Visualization: Foundations, Techniques, and Applications.

Assignments

Assignments are the core of this course. Each assignment will focus on a particular aspect of data visualization, such as visualizations of network data or criticism and design of existing systems. The lectures and labs will equip you with the background, visualization theory, and technical skills to develop effective visualizations for these datasets.

Unless stated otherwise, assignment are due by the end of the date listed on the calendar, e.g. if the due date is on a Thursday, the assignment is due by 11:59pm Thursday.

Labs

Many weeks include an in-class lab. These labs provide an opportunity for you to learn more about visualization design, data analysis, and technologies.

Quizzes + Readings + Reflections

The readings are a critical part of the course. These include chapters in the textbook, research papers, and even blog posts.

To help reflect on the material, we use weekly quizzes and reflections.

Quizzes are brief, aiming at the large themes or major points in the book chapter. Written reflections are a summary of something you’ve read, either in the class or outside of it.

Programming Language

We’ll be using JavaScript with d3.js to develop visualizations in this course.

Discussion / Questions

This term we will be using Slack for class discussion. Slack is highly catered to getting you help fast and efficiently from classmates and myself.

Rather than emailing questions to me, I encourage you to post your questions on Slack in public channels.

Here is a short guide to asking questions on Slack:

  1. Ask in public channels! Oftentimes students will have answers to technical questions, and I can answer things publicly for others to see.
  2. If you you still have problems, do the following:
    1. Create a private channel with the following format: a1-laneh
    2. Add staff and me to the channel
    3. Begin with a concise description of your problem and include a link to your repo

Grading

Your course grade comes from three parts:

  • Assignments (45%)
  • Labs/Participation (5%)
  • Reflections (10%)
  • Final Project (40%)

Academic Honesty

Unless otherwise noted, all work is to be done by yourself.

You are encouraged to discuss at length with your classmates about ideas and material in the course, in preparing for quizzes and assignments, in designing visualizations and code nuances, and so on. However, all assignments, reflections, etc should be your own. Projects may encourage teamwork, that is, in that case you are expected to work closely with your partner/(s) to solve problems and prepare a common agreed-upon solution and implementation. (A word of advice: be sure you use git to commit, push, and merge work with your teammates often. In assessing team contributions, for example, the git history often shows individual contribution very clearly.)

Note in particular that copying of any material, may it be a single sentence or a figure, from any location (including the internet) without proper acknowledgment of the source constitutes plagiarism. If in doubt, please ask for clarification.

Any violation of the WPI’s guidelines for academic integrity will result in no credit for the assignment, potentially for the entire course, and requires referral to the Student Affairs Office for disciplinary action. More information on definitions, responsibilities and procedures regarding the WPI academic honesty policy can be found online.

Late Policy

We provide three one day late turn-ins without penalty, please just discuss with the professor as soon as you feel you will not make a deadline.

Here’s some rationale behind the policy: A late policy is a measure to ensure you stay on track and do not run into the problem of “snowballing” with your other responsibilities.

At a higher level, late assignments place extra burden on both staff and your fellow classmates. Staff typically allocate time to grade assignments after the due date.

Late assignments require staff to allocate extra sessions at the expense of their other responsibilities. This, in turn, can place a burden on the entire class as grading must be complete before handing grades and critical feedback back to students.

For these reasons, please be make an effort to turn your projects in on time. If something comes up, reach out early rather than later. We can help, I promise!

Useful Resources

Check out Tips for additional useful resources.