Assignments

January 14
January 19
January 21
January 26
January 28
February 9
February 25
February 16
March 8
March 29
April 5

Homework 0: Survey

Due January 14
-1 if not complete

 

Complete the programming background survey by accessing the URL below:

Link to the survey

Top


Homework 0.5: Github Repo Link

Due January 19
-1 if not complete

 

Submit your repo link for the course. Please follow the instructions here and submit the link to T-Square.

i.e. All you need to submit is something like https://github.gatech.edu/jdugan6/cs4460-spring2016


Homework 1: InfoVis Examples

Due January 19
1 points

 

Find two visualizations of data from a domain that is of interest to you (health, politics, finance, economics, world demographics, sports, etc). They can be information presentations (static) or information visualizations (interactive). For each visualization, do a one page write-up. Each page should have the visualization (about half the page) and then:

1. What message(s) the visualization is intend to convey.
2. A critique of the visualization – both pros and cons – ways in which the visualization does a good job, ways in which it could be improved.

I will ask some of you to show your visualization and share your pros and cons with the class.

Think of this assignment as a first step in identifying a potential project, which is why I suggest that you be interested in the type of data being portrayed.

Please bring two (2) hard copies to submit in class AND submit to T-Square.

Top


Homework 2: Plot.ly

Due January 21
2 points

 

 

Use Plot.ly to create a visualization using data that is interesting to you. At the start of class, turn in a screenshot of the visualization AND a bulleted list of insights / understandings that can be learned from your visualization. The longer the list, the better. An insight / understanding is NOT equivalent to a data point (total number of Tesla cars sold was 1.5 Million in 2014) but rather something that comes from seeing multiple data points (All car companies are selling more cars, but Tesla has been gaining market share at the expense of BMW and Mercedes).

Think of this assignment as a step in identifying a potential project, which is why I suggest that you be interested in the type of data being portrayed.

Please bring two (2) hard copies to submit in class AND submit to T-Square.

Top


Homework 3: Timeline

Due January 26
2 points

 

Create an Information Presentation (not Visualization) of your life, intended for a potential employer. School, work, skills/expertise, extra-curricular activities. You can sketch with pencil on paper, or use Photoshop or similar computer-based tool.

Write a paragraph describing some ways in which you could make this into an InfoVis.

Submit on T-Square as a pdf, and bring a hard-copy of the Information Presentation (not the paragraph) to class on the due date – we’ll put them up on the wall so everyone can see.

Top


Homework 4: Data Source

Due January 28
2 points

 

Locate a data source on the WWW with data on a topic of interest to you –  could be related to what you found for HW2, or something else.  Submit a URL and description of the data – how it is organized, names of data fields. Sketch a visualization to represent the data. As you do this, continue to think in terms of an interesting project, remembering that you will soon need to do a 30-second “elevator pitch” to the entire class about a project idea and post it to the class wiki!

Please bring two (2) hard copies to submit in class AND submit to T-Square.

Top


Homework 5: D3 (I)

Due February 9
4 points

 

This homework assignment is relatively simple. You will make modifications to the code from the Introduction to D3 lecture. This will help you gain familiarity and a stronger grasp on D3.

This assignment requires you to –
(1) Read data from the provided CSV file instead of a JSON file
(2) Draw a bar chart for the provided hypothetical data using D3

Here are a few specifics that you need to work on –
(1) Make the SVG background color #cfcfcf
(2) Adding the following style conditions for the SVG rectangles.
If the average GPA is less than 1, make the rectangle red.
If the average GPA is 1 or more, but less than 2, make the rectangle orange.
If the average GPA is 2 or more, but less than 3, make the rectangle yellow.
If the average GPA is 3 or more, but less than 4 make the rectangle blue.
If the average GPA is 4 or more, make the rectangle gold.

(3) Adding the following style conditions to the bar text labels.
If the average GPA is less than 1, make the bar label’s color white.
If the average GPA is 1 or more, but less than 2, make the bar label’s color black.
If the average GPA is 2 or more, but less than 3, make the bar label’s color black.
If the average GPA is 3 or more, but less than 4 make the bar label’s color gold.
If the average GPA is 4 or more, make the bar label’s color black.

(4) Add black borders to the rectangles

The resulting chart should look like this –

PHW1

This is a pair assignment. Team Pairings. You are expected to do this homework as a two-person team. You are encouraged to seek help as needed, but the actual work you submit is to be your team’s. Upload the assignment to your GitHub accounts. We will use the latest copy that was uploaded before the deadline for grading.

Tutorial Links

D3 Development Environment Set-up
JavaScript Tutorial

Top


Homework 6: Filtering and Animations

Due February 25
4 points

 

For this assignment, you will build on what you learnt in the second D3 lecture, and create a detailed filtering mechanism. The code from lecture can be found under T-Square Resources.

This assignment requires you to –

  1. Read data from the provided CSV file. (Link to data file)
  2. Using D3, draw a bar chart for the provided data.
  3. Add a filtering mechanism on the page to allow the user to select a Department (CS, MATH, MGT…).
    We recommend using drop-down menus (aka HTML Select).
  4. Add a text-box to enter a numerical value for the GPA.
  5. Add a Filter button on the page (explained below).
  6. Animate the filtering behavior, utilizing both duration and delay methods provided by D3.

Expected filtering behavior: When the user clicks on the Filter button, your code should filter by BOTH conditions given below:

  1. The selected Department in the drop down menu.
  2. Courses whose average GPA is greater than or equal to the value entered in the text box.

Example: If the user selects “CS” in the drop down menu and types “3.04” in the text field, your graph should only show CS courses with a GPA greater than or equal to 3.04.

Warning: Be wary of corrupt data in the data set, and make sure to handle them appropriately in your code.

Submission guidelines: Please create a folder (e.g. HW6) in your 4460 repository on GitHub with all the files necessary to run your visualization. We will use the latest copy that was uploaded before the deadline for grading.

Note that this is NOT a pair assignment. You are encouraged to seek help as needed; however you may not copy code.

Top


Homework 7: Test 1 Question

Due February 16
1 points

 

Write a short essay question for the upcoming test AND your answer to the question. No true/false or multiple choice questions! You will earn more points for questions that have to do with understanding and explaining rather than regurgitation! (“Name the four data types” is a regurgitation question; “Why do we care about different types of data, like nominal, ordinal etc.?” is an understanding question).

Post your question and answer on the T-Square wiki BEFORE CLASS. If you have a question that is like someone else’s that is already posted, then make up a new question. I will discuss selected questions with the entire class as part of our test review. One or two of the submitted questions will be on the test!

IMPORTANT: Include your name at the bottom of your question to receive credit.

Top


Homework 8: Tableau

Due March 8
4 points

 

Use and critique a full-featured Information Visualization system.

This assignment will familiarize you with a full-featured InfoVis system, Tableau.

The goals of the assignment are for you to learn the capabilities provided by Tableau, learn the basic visualization methods that it provides, and assess its utility in analyzing data.

You can write the report on this homework by yourself, or you can do it with a partner (which I encourage, it will be more fun and you will learn more). If you write with a partner, you will both receive the same grade. You may ask others for help with downloading and figuring out how to use Tableau. The paper and its ideas should be developed by you or by your two-person team.

Please submit this to T-Square ONLY.

 

Top


Homework 9: D3 (III)

Due March 29
4 points

 

The last programming homework incorporates all the concepts discussed so far. You will need to –

1. Use the CSV data set on Cereals. (Link to data file)
2. Do NOT modify the data file.
3. Draw a bar chart and a scatter plot side by side, on the same page.

On the bar chart, display the Manufacturer column on one axis, and the average Calories for that manufacturer on the other axis.

On the scatter plot,
1) Display Calories on one axis.
2) Display Sugars on the other axis.
3) Pick your own color scheme and encode Manufacturer data using colors.
4) Add a key for the graph denoting which color represents which Manufacturer.
5) Encode Serving Size Weight as the size of the scatter plot circles.
6) Add details on demand in a tooltip, to display the Cereal NameCalories, and Sugars on mouse-hover.

You will also need to implement the following events –

When an individual bar on the bar chart is clicked:
1) Change the opacity of all scatter plot circles that do not belong to the clicked Manufacturer, to 25%.
2) Use a transition, with duration and delays while affecting the opacity.

When an individual scatter plot circle is clicked:
1) Change the color of bars whose average Calories count higher than that of the clicked circle.
2) Use a transition, with duration and delays while modifying the color.

Submission guidelines: Please create a folder (e.g. PHW4) in your 4460 repository on GitHub with all the files necessary to run your visualization. We will use the latest copy that was uploaded before the deadline for grading. As always, make use of the code skeletons provided on T-Square. They serve as a good starting point, and you won’t have to code everything from scratch.

 

Top


Homework 10: Test 2 Question

Due April 5
1 points

 

Write a short essay question for the upcoming test AND your answer to the question. No true/false or multiple choice questions! You will earn more points for questions that have to do with understanding and explaining rather than regurgitation! (“Name the four data types” is a regurgitation question; “Why do we care about different types of data, like nominal, ordinal etc.?” is an understanding question).

Post your question and answer on the T-Square wiki BEFORE CLASS. If you have a question that is like someone else’s that is already posted, then make up a new question. I will discuss selected questions with the entire class as part of our test review. One or two of the submitted questions will be on the test!

Top

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s