dataToKnowledgeOverview
Syllabus
Assignments
Policies

Resources

 

5
Logistics
Wed 9:30-12:20 SUR 3240
Open Lab
Wed 6:30-7:20 SUR 2740

Instructor:Lyn Bartram
SUR 2759 (office)
SUR 3760 (lab)

email lyn@sfu.ca
voice
office (bad) 778 782 7439
lab (better) 778 782 8009
mobile (best) 604 908 9954

 
TA: Maha El Meseery
email melmesee@sfu.ca

 

 

 

 

 

 

 

 

 














































































 

 

 

 

 

 

 

 

 

 

 

 

 

 


Assignments

There are three kinds of assignments in the course: general learning (A1 and A3);   project-related development (A2, A4,A5, Final Project) and a Datavis Journal. There is no midterm. You must pass your assignments, your in-class exercises and your Final Project to pass the course.

Submissions and discussions are put on our Canvas site.

Grading:
  1. Assignment 1 [10%]: Using Tableau, generate visual data representations and report on what the visualizations reveal of the relationships and effects in the data. Due: Friday, Jan 19.
  2. Assignment 2 [10%] : Data importing and modeling.
  3. Assignment 3: [10%]. Visualization design: what makes a good and a bad visualization?
  4. Assignment 4. [10%] Visualization 1 ** Project stage 2.
  5. In-class Concept reviews [20%] periodic:
  6. Assignment 5 (10%): Visualization 2 ** Project stage 3. .
  7. Course Project Final. [20%.] Visualization prototype, pilot evaluation and project report.
  8. DataVis Journal.[10%].  Throughout the term, you will keep a Vis journal (in the Discussions on Canvas). This must comprise at least 6 entries, and they must be submitted regularly throughout the term.

There is no final exam, but you MUST PASS each the total of the concept reviews and the combined assignments to pass the course.


Assignment 1: Exploring Data Visually (individual) due Friday, Jan 19

Visualization allows us to discover patterns and effects in data that are less easily recognisable from statistical reports. For this assignment, you are to create two visualization sets using the commercial Tableau system, one each from the each of these two datasets: Titanic and National Life Expectancy. You should create not less than 1 and not more than 3 visualizations for each data set. The data are in excel files that are formatted to be read into Tableau easily. For each data set, you should answer the following questions.

  1. What patterns, or effects, do you see from the data? In other words, what variables of the data (the independent variables) affect other values (the dependent variables)? Write a few sentences that clearly describe each of your observations and reference the representation that shows the pattern (or lack of one).
  2. Why did you choose the visual representation that you did? Explain your choice(s): if you have more than one visualization, explain what each revealed (or did not reveal).

Hand In:


Assignment 2: Data wrangling (project pair) Due Friday, Feb 2.

Programming

Determine data sets that you want to use for your project. Begin the design of your data model to serve the questions that you are interested in pursuing. Implement this in d3, and import data that has at least  7 dimensions (total) of different types. Note: If you have not yet settled on your data for your project (and you should be thinking about it hard already), we will provide  sample datasets for you to use here. You should be able to carry out these basic operations:

  1. find the maximum and minimum
  2. sum values by a specified dimension (total of n in dimension d, where n is quantitative)
  3. average a set of values
  4. count how many records match a particular dimension criterion.
  5. print out the results from the above operations , as  well as the information about the data source(s) (where they are from).
  6. NOTE: as this will be web-based, these data will need to be accessible as either files on your server or as www URLs.

Advice

Write the code in javascript/d3. Note that you will find instructions how to do this online; but just copying and pasting the code will mean you miss critical functionality.

Advice

You will need to write a function that reads in a data file into your data model and organizes it propertly according to its unique key. You will also need to verify your data for missing and bad (out of range, out of type) values.

Data

You can use any data sets that you plan to use in your project. You will typically access these online and pull from them online, although you can download them locally.

NOTE: You are expected to process at least 50 and at most 10000 data items.

Data

To use your data file in a javascript or processing application, put the data in a folder entitled data within your app folder. 
When uploading the app to your assignment section on Canvas, don't forget to upload the data file!

Hand In

Please hand in (upload):

  • The code you wrote. If you extended the example code, then hand that in.
  • Upload your file to Canvas and also put a link to the running app in Canvas so we can run it from your submission.
    Be prepared to run the program   and show it to the TA.
  • A design brief for your code. What classes do what ? This can be very short, but it should explain the design to us enough that if your code does not work , we can assess enough of your work to assign you partial marks.
  • a list of the external libraries/code sources. Failure to attribute will result in automatic failing grade for the assignment.

PLEASE FOLLOW THE SAME NAMING CONVENTIONS AS YOUR ASSIGNMENT 1:

  • zip the file (if you have any external files)
  • name it <yourname>_A2.zip.

Bonus 1

Earn bonus points for good code. BUilld your data model so it can flexibly adapt to new dimensions and value types.

Bonus 2

Earn marks for full data wrangling - Check for missing and out-of-format data, and decide what to do about it. Perhapr prompt the user.

 

Assignment 3: Visualization redesign (individual) Due Sunday, Feb. 11

Design

Many visualizations suffer significant problems that can be corrected by redesigning them on a number of different dimensions, including:

  • how the data are mapped to appropriate visual features;
  • visualization tasks supported;
  • interaction techniques to enable those tasks and capabilities;
  • appropriate data and representation models; (do the data represented allow exploration of the questions posed or support the overall goal of the visualization?)
  • perceptual efficiency;
  • data richness and clarity.
  • etc.

For this assignment you are to choose 2 visualizations that are poorly designed. One should be designed for communication, and one should be designed for exploration. You will redesign these to address any issues you identify according to the above categories or others that may be important. You should not do this as a computational exercise but as a design exercise.

  • The two visualizations you choose should deal with data issues that are sufficiently complex to require some form of analytical support (in the form of better visualization). In other words, they should not be trivially small or unidimensional data sets, but rather complex.  You'll get consideration for choosing problems that fall well into the analytics space of problem solving.
  • If the visualization you choose to redesign does not originally have interaction, then do not simply propose interaction techniques to improve it. Stay within the context and redesign to the original constraints (ie, no interaction if there was none in the original).

Note:  You are not restricted to a single screen or view: in fact, you may propose a visualization of linked views, small multiples, or transitions between a set of views.

Hand In a report titled : <Yourname_a4.pdf> on Canvas that includes for each of your two visualizations:

  • a description of what the visualization is meant to support
  • the intended audience(s)
  • the type and scale of the data
  • a critique of the problems with the current visualization, grounded in what we have discussed in the course to date
  • a redesign, including  images. Redesign MUST include a complete description of  interaction techniques, including storyboards of how these work as required.
  • a description of the redesign, outlining all the changes that were made and justifying your choices. This should OBVIOUSLY include both a picture of the old vis and images of the new.

I should not have to say that pulling critiques and examples off websites or texts that exist will count as cheating.

Due: Sunday, Feb 11.

Assignment 4: First project visualization (project pair)

Purpose

 

Programming

 

 










 

 

 

 

 

 

Bonus Marks

 

 

For this assignment you are to create your first visualization dealing with the data you have chosen. This first vis can be STATIC: while you will probably add interactions to it later, for this assignment you just need to design and implement it.

You may write this assignment using any of Java, python or Javascript/d3/jQuery, etc. If you use javascript, this must run in a browser/server configuration, so put the code on your SFU web site or another website so we can run it.If you are writing a standalone app, you must provide full running support and instructions.

You may use libraries from another source, but YOU MUST ATTRIBUTE YOUR SOURCES. I expect you to write your own code for much of this, but part of modern development is the intelligent discovery and re-use of existing resources. YOU MUST BE ABLE TO DESCRIBE WHAT THOSE RESOURCES ARE DOING, however.

Your project will require several visualizations. This is the first visualization design and implementation. This assignment includes both the first visualization and a small report.This will represent only a part of the visualizations you build in total for your final project, but it shoud be your first cut at a useful data tool. It must:

  • show multiple dimensions
  • use the appropriate visual features mapped to the right dimensions in the right hierarchy
  • use the appropriate visualization type for the questions
  • be structured to answer at least one of the research questions you have for your project.

This may (indeed, probably will) represent only a part of the visualizations you build in total for your final project, but it shoud be your first cut at a useful data tool.  You must also inclide a brief report that covers:

  • the audience for the visualization (who and why?)
  • the answers or inquiries the visualization is meant to support;
  • how the data are mapped to appropriate visual features;
  • Visualization idiom chosen and why
  • A design brief for your code. What classes do what ? This can be very short, but it should explain the design to us enough that if  your code does not work , we can assess enough of your work to assign you partial marks.
  • a list of the external libraries/code sources. Failure to attribute will result in automatic failing grade for the assignment

    You can get bonus marks for:

    well structured and documented code (1 mark)

    adding support for flexible reconfiguration for the display, such as changing the scale of your axes, naming your categories. Note this requires defining and initializing variables rather than hardcoding values; (2 marks)

Assignment 5:  Second  project visualization . Due Wednesday, March 21

Purpose

 

Programming

 

 










 

 

 

 

 

 

 

 

 

 

Bonus Marks

 

 


For this assignment you are to extend your first visualization into a  system of two or more views faceting the data according to the research questions you have identified of interest to the target audience.  These visualizations should be interactivee, and including coordinated interaction is essential (brushing and linking).

You may write this assignment using any of Java, python or Javascript/d3/jQuery, etc. If you use javascript, this must run in a browser/server configuration, so put the code on your SFU web site or another website so we can run it.If you are writing a standalone app, you must provide full running support and instructions.

You may use libraries from another source, but YOU MUST ATTRIBUTE YOUR SOURCES. I expect you to write your own code for much of this, but part of modern development is the intelligent discovery and re-use of existing resources. YOU MUST BE ABLE TO DESCRIBE WHAT THOSE RESOURCES ARE DOING, however.

Your project will require several visualizations. This is the second  visualization design and implementation. This assignment includes both visualization and a small report. Again, this will represent only a part of the visualizations you build in total for your final project, but it should be a refined and extended design towards at a useful data tool. It must:

  • show multiple dimensions (1)
  • use data from more than one source (1)
  • user interaction, including but not limited to:
  • filtering (1)
  • brushing and linking (1)
  • details on demand (1)
  • Multiple Views (you should have multiple interactive visualizations) (2)
  • Visualization Idiom (use of correct visual encoding and type to answer the research questions)   (2)
  • Answer research questions: Be structured to answer at least one of the research questions you have for your project. (1)

Your submission MUST include:

  • A Report: Use the description above to write the report.
  • an online link to your visualization. Code and any data used.
  • A design brief for your code. What classes do what ? This can be very short, but it should explain the design to us enough that if  your code does not work , we can assess enough of your work to assign you partial marks.
  • a list of the external libraries/code sources. Failure to attribute will result in automatic failing grade for the assignment

    You can get bonus marks for:

    well structured and documented code (1 mark)

    Create a compressed (zip file) containing your report, code, and data to submit on canvas.

     

IAT 355 Introduction to Visual Analytics Spring 2018
©Lyn Bartram