Homework Assignments (HW)

These individual assignments will help you develop your knowledge for design principles for Information Visualization. For each of these, the deadline to submit your work is by the start of class on the day they are due. Unless otherwise described, the submissions must be submitted via Canvas. When submitting on Canvas, make sure you submit a .zip containing all your files, and name it (e.g.,, unless otherwise mentioned in the assignment.

The grading distribution is broken down as follows.

HW assignments are broken down as:

  • HW1: 1%
  • HW2: 5%
  • HW3: 11%
  • HW4: 8%

Programming Labs are broken down as:

  • Lab1: 1%
  • Lab2: 2%
  • Lab3: 3%
  • Lab4: 4%
  • Lab5: 7%
  • Lab6: 8%
  • Lab7: 15%

Homework 1: Survey

Link to survey in the description for HW1 in Canvas.

Homework 2: Data Exploration and Analysis

The purpose of this assignment is to provide you with some experience exploring and analyzing data without using an information visualization system. Below is a data set (that can be imported into Excel, or any other data viewer you want to use) about cereals. You should explore and analyze this data using Excel or simply by hand (drawing pictures is fine), but do not use any visualization tools. Also, your should avoid the visualization and charting functionality of Excel for the purpose of this assignment. Your goal here is to perform an exploratory analysis of the data set, to better understand the data set and its characteristics, and to develop insights about the cereal data.

Submission: What you turn in should consist of four things.

  1. List (bullet list of items) five analytics queries or questions that a person may have about this data set. These would be questions that an analyst examining the data might be pondering.
  2. List (bullet list of items) five “insights”, chunks of knowledge, or deeper questions that you either encountered or gained while exploring the data. An insight could be some understanding of the data and its characteristics that is not relatively obvious or intuitive. It is something that most people might not realize initially. Note that an insight or knowledge chunk simply may be a deeper question that arose in your mind while exploring the data. And your analysis may not have been sufficient to answer the question.
  3. Write one paragraph about the process you used to do the exploration and analysis. Did you load the data into Excel, work manually, or do both? What did you do in Excel? Did you draw pictures? Did you take notes? What did you take notes on? What did you draw? This paragraph should be a general description of you analytic workflow.
  4. Write one paragraph about challenges or problems that you encountered in doing the analysis this way. Did anything limit or frustrate you? If nothing did, perhaps there was something that was more difficult than you thought it should be. Nothing is perfect, so you should be able to list some potential issues here. So, to sum up, your assignment should have two bullet lists of five items followed by two paragraphs. 

Grading: We will evaluate the quality of the insights you listed and the detail given for the process you went through. We are looking for things that we find interesting or perhaps unexpected. This is subjective. For the second and third parts, we will evaluate if you did what the assignment asked.

Dataset. The dataset is in the “Datasets” folder in the Files section of Canvas. The data should be pretty self-explanatory. The Manufacturer is a one letter code with the expected mapping (Q-Quaker Oats, P-Post, G-General Mills, K-Kelloggs, R-Ralston Purina, N-Nabisco). Type stands for C (cold) or H (hot). Shelf stands for which row on a shelf the cereal is on (1=bottom, 3=top). The rest are attributes that describe the nutritious contents of the cereal.

Homework 3: Ethical Visual Design

The purpose of this assignment is to provide you with practice and experience designing visualizations, and considering ethics as part of the process. As designers and developers of visualizations, we have to take ethical considerations into the design process. Visualizations are powerful in communicating data, but that can also be used to maliciously deceive viewers.

There are two parts to the assignment. For Part 1, you will intentionally create a misleading visual chart of the data, and point out specifically what you did to mislead the viewer of the chart. For Part 2, you will design a visual chart that accurately and ethically depicts the information, correcting what you did to mislead in Part 1.

Think about the data in each spreadsheet and what an analyst looking at that data would care about. You are allowed to derive new variables (attributes) that are combinations of the given ones, but you cannot make up totally new variables and values. To create and render your designs, you can use colored pencils/markers if you’d like. You can also design, lay out, and draw your ideas in a computer tool such as Illustrator, PowerPoint, Photoshop, but you cannot use those tools to do any of the design for you. That is, tools that are not allowed include: Tableau, ggplot, Spotfire, Numbers, Excel, etc. Again, you don’t need a tool for this, hand-drawn is fine.  If you want to use a tool, they should just be used as drawing tools — The ideas behind the design should be yours. The goal is to think through table design for the first dataset, and visualization design for the second.

Part 1: Design a visualization that misleads in one or more ways. These misleading ways can be one of many examples we have talked about in class, including: incorrect scales, improper use of visual encodings for the data, wrong visual chart, and more examples of poor design choices that do not promote graphical excellence. While some of these examples in class were accidental, your task here is to do so on purpose. Take a photo (or screenshot if you used a tablet) of your visualization and write a short 1-2 sentence description of what you did that is intentionally misleading.

Part 2: For this part, you will use the same dataset and create a visualization that exhibits graphical excellence and properly visualizes the data. Again, take a picture or screenshot of your visualization and a short 1-2 sentence description of what you did to fix your visualization from Part 1.

Submission: Upload a single pdf (can be multiple pages) with both parts to the assignment to Canvas.

Grading: We will evaluate that Part 1 is intentionally misleading (including your description as to why it is), and for Part 2 your ability and execution for how you fixed those problems.

Datasets: The data is in the ‘Datasets’ folder in the Files section on Canvas. Note that you should use the same dataset for both parts.

This assignment is adapted from Niklas Elmqvist’s Teaching Ethics for Visualization article. 

Homework 4: Use and Critique Tableau

Use and critique Tableau – an Information Visualization System that does not require programming. This assignment will familiarize you with a full-featured InfoVis system – Tableau – which will be introduced in class. The goals of the assignment are for you to learn the capabilities provided by Tableau (it is one of the best commercial systems), learn the basic visualization methods that it provides and assess its utility in analyzing data.

Getting Tableau: For this assignment, you are allowed to use either Tableau Public (free), or the licensed desktop version if you have a license (or want to sign up with your GT email address and get a free trial).

The assignment has four parts:

  1. Gain familiarity with Tableau – Familiarize yourself with the visualization techniques and the user interfaces during the class presentation, and via on-line videos at
  2. Examine the data sets – Browse several data sets to decide which one to use for the rest of this assignment. Decide on one, and then use the system to explore it further.
  3. Develop three interesting questions about the selected data set – put yourself in the shoes of a data analyst, and think about all the different kinds of analysis tasks that a person might want to perform. For instance, someone working with breakfast cereal data might have analysis tasks like:
    1. Find all the information on Cocoa Pebbles.
    2. Identify the cereal with the least fat that is also high in fibre.
    3. What is the distribution of carbohydrates in the cereals?
    4. Does high fat mean high calories?
    5. Which of the following three cereals is best for people on a diet?
    6. Do NOT make all of your questions be about correlations or min or max values. Think back to the different tasks and questions we have talked about in class.
  4. Write a reportFirst, list your three questions and answers, along with a screen shot showing the visualization you used to answer each question. One page per question – screen shot and narrative. Each question should be answered with a different visualization – so three different visualizations (and not just different data overlaid on a map as can be done in Gapminder).
    Second, critique the system. What are the system’s strengths and weaknesses? For what kinds of user tasks is the system particularly well suited? Focus more here on the visualization techniques as opposed to the particular user interface quirks, though you should feel free to comment on UI aspects when they are particularly good or bad. Describe characteristics of the UI using the concepts and terminology you have learned in class.

Dataset: There is a folder for HW4 datasets in the Files section on Canvas. You are welcome to use any of these datasets for this assignment, or one of the built-in demo datasets that come with Tableau. Make sure you specify which one you used in your submission.

Submission: Your document should be in PDF format and is limited to a maximum of 5 pages, no cover sheet, including all figures/screenshots. Use Times Roman 12 point type with normal margins, single line spacing. Submit the pdf via Canvas.

Programming Labs (Labs)

These individual assignments will teach you the basic skills for developing web-based visualizations. You are expected to complete these assignments using d3.js.

It is good practice to develop your assignments using some sort of version control. GaTech gives you access to GitHub, which is a good one to use if you haven’t done so already.

D3.js is the Javascript InfoVis toolkit we will use for the programming assignments. Go through the following short tutorial on the fundamentals and set up of D3.


When grading, we will use Google Chrome in Incognito Mode to run your visualizations. Further, when a server is required, we will use a python server on localhost.

When submitting on Canvas, make sure you submit a .zip containing all your files, and name it (e.g.,, unless otherwise mentioned in the assignment.

Warning: There are many existing examples and source code widely available online. While these are great resources for you to learn, note that copying these is considered a breach of the rules from the Office of Student Integrity, and will be handled accordingly. Be careful and thoughtful. Many of the assignments will ask you to start from existing source code or examples. In these cases, it is expected that parts of your assignments will resemble the original. You are expected to start with these templates and build your submission to the assignments from there.

The labs start relatively simple, and increase in complexity throughout the semester. The due dates for the labs are listed on the Schedule and on Canvas. The labs can be accessed on the GitHub repo here: Notice that in order to access this repo, you must use your Georgia Tech Github account.

Carefully read through the Wiki for each Lab for instructions, submission requirements, etc. Remember, when you clone the labs, please make sure that you do not publicly share your code to avoid inadvertent plagiarism.


The purpose of the pods in this course is to have you get into groups, find interesting visualizations in the wild, discuss their pros and cons, and share your findings with the class. For each Pod assignment, you are required to do the following:

  1. Sign up for one of the topics listed in the spreadsheet (link will be shared via a Canvas message to the course)
  2. Meet with your team weekly
  3. Find 1 visualization on the web that you want to report on.
  4. Before the due date, create a Canvas Discussion with the following information:
    1. Title of your Post should match the topic (row) of the spreadsheet.
    2. A link to the visualization
    3. A photo (screenshot is fine) of the visualization you discussed
    4. A short description of the visualization (in your own words, not taken directly from the website). This should be 1 paragraph long.
    5. One paragraph about the Pros (things that were done well)
    6. One paragraph about the cons (things that were not done well or could be improved)

When you’ve created the post. Create a PDF of your discussion page (print the page, screenshot, etc.) and upload it to the Canvas assignment before the due date. Each team member must upload a pdf to receive credit.

Check the schedule  for the due dates of each Pod.