SPRING
2019

CLASS SYLLABUS

Instructor: Bruce Donald Campbell

Faculty, Web Design + Interactivity - RISD
Providence, RI

Adjunct Faculty Computer Science (research), Brown University
Providence, RI

Email: bcampbel01@risd.edu
Web: http://bdcampbell.net

Prerequisites: None

DESCRIPTION

Our information-saturated society is awash in data, but how do you give it useful form? This course provides an answer to students who build on their coding experience to develop a personal data acquisition process. This collection becomes a sustainable set of interest for use throughout the semester as they are given opportunities to investigate popular visualization libraries like Processing and D3.js. The class explores PHP and server-side JavaScript as middleware scripting languages for manipulating data, as well as JavaScript interaction features for exploring visual interfaces to data as a cognitive augmentation. A goal is to master the use of a relational database management system (RDBMS) like MySQL or PostgreSQL.

GRADING

Class participation - 10%
Data Project - 30%
Visualization project - 60%

RESOURCES

CLASS LINKS

WEEKLY OUTLINE

TOPIC1

welcome and course overview

Course Overview

Data Visualization Pipelines
Visual Analytics
Data Visualization Techniques
Interactive Data Presentation
Dynamic Data Sources
Your Responsibilities in Class
Relational Database Management Systems

  • Introduction
  • Course Objectives
  • Course Motivation
  • Obtaining Data
  • Our Development Process
  • Ideas Brainstorming Session
In class:
  • Set up a Relational Database Management System
  • Base map generation (Javascript from ASCII GRD file v. Python from binary GRD file)
    (Narragansett Bay - try out enhancements given in class)
  • Investigate Processing and D3
Homework:
  • Begin the readings made available in class
  • Review activity done in class. Consider how to use an external image for a colormap in JavaScript.

TOPIC2

data processing and relational theory

Inputs and Outputs for data visualization

Data Quality Concerns

  • Three distinct roles involved in useful relational database management systems use:
    • Data Modeler
    • Database Administrator
    • Data Analyst
  • Consider roles associated with a restaurant database
  • Dynamic data mapping on base map exercise
In class: Homework:
  • Continue the readings made available in class — we will discuss next week
  • Review activity done in class. Consider how to mark buoy locations (and water temperature) in JavaScript.

TOPIC3

Color theory and seeing color

  • managing data in an RDMS
  • Tables
  • Attributes
  • Queries
In class:
  • Open discussion of seeing color and color theory readings
  • Consider queries associated with the Parts Tutorial
  • Consider possible data sets of interest to you
  • Perform our third week exercises and discuss techniques (use ri_grid.asc)
  • Exercise: Color gradients — how many can you sense (blue v. green)

TOPIC4

analytical reasoning

  • Introduction to Visual Analytics and analytical reasoning
In class:

TOPIC5

data modeling

In class:

TOPIC6

interactive data visualization strategies

  • Setting a narrative for analysis
  • The value of visualization in good story telling
  • Investigate visualization techniques from Bokeh, D3 and GoJS in anticipation of our first project.
  • Develop an internal dialogue regarding which genre to use in different scenarios
In class:

TOPIC7

Data representations
and transformations

  • The processing language and the artistic mind
  • Examples of using processing for data vis
In class:
  • Investigate D3 examples of global data visualization.
  • In class workshop for climate change project

TOPIC8

project 1 critique

  • Cognitive augmentation models
  • Investigating a train of thought
In class:
  • Follow the steps to add interactivity to a static visualization

TOPIC9

explicit goal-based data visualization

  • Introduction to COVE and CML (COVE Markup Language)
  • Examples of genres
  • Case study: M2 tides visualization
In class:

TOPIC10

dynamic data integration

  • Middleware systems for dynamic data management
In class:
  • Design front-end, middle, and back-end
  • Reasons to optimize in the back and middle
  • Examine PHP-based middleware templates
  • Production, presentation, and dissemination
  • Putting our visualizations on a Web server

TOPIC11

open project work studio

  • Sharing development and debugging strategies
  • Class Project Due Next Week
  • Feel good about your new skills

TOPIC12

final projects critique