CSCI 345: Lab 1

Information Visualization
Due: 10PM on Monday, February 17th

In this lab, you should learn:

  • How to visualize datasets

To complete this lab, you will need:

  • A computer.
  • A dataset.

Part 0 - Github

All your code for this class should be stored in Github repositories that are part of the CS345 github organization. This will give me access to your code, and give you access to version control. To create a repository for this assignment, click here.

Part 1 - Look at some visualizations

In this lab, you will create a visualization of some dataset. Here are examples of visualizations that I particularly like:

Part 2 - Download a dataset

Find a dataset to visualize. This website has a nice selection, but you should also be able to find datasets on anything you find interesting using google.

Part 3 - Write a visualization

Write a program that visualizes your dataset. Your visualization should be interactive in some way: the user should either be able to select parameters in the beginning, or they should be able to browse/explore/change the visualization while it is going. Your visualization should not depend on particular data values - in other words, if the data values in the dataset you are using were replaced with other values, your visualization should still work. (i.e. it should work with any file that has data in the same format as the file you're using).

You can use any language to write your program, and any libraries or APIs you wish. If you decide to use python, feel free to use the drawing libraries from CS 150 (available here) or use the tkinter module directly. You may also want to use PANDAS or plotly.

You will need to programatically read from your dataset file. Fortunately, most languages have libraries that make this easy. For python, there are libraries for reading from csv, json, and xml. Please feel free to google for tutorials, and post any good ones you find on piazza.

Handin

You will submit your assignment by posting a comment on the piazza thread for lab 1. Your post should include a link to the a video of you demoing your interactive visualization, and a link to a github repository that contains your code. Your one to five minute video should clearly show your screen as you demonstrate your program, and have either you narrating an explanation, or added captions to explain how your program works. I recommend using Quicktime if you have a mac, or the game recorder in Windows.


C. Taylor