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


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.


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





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
  • Begin the readings made available in class
  • Review activity done in class. Consider how to use an external image for a colormap in JavaScript.


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.


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)


analytical reasoning

  • Introduction to Visual Analytics and analytical reasoning
In class:


data modeling

In class:


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:


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


project 1 critique

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


explicit goal-based data visualization

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


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


open project work studio

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


final projects critique