1. Introduction to Code/Art and Open Data Visualization


Instructor: J.J. Sylvia IV (North Carolina State University)

Classroom: MacKinnon 308

Data visualization can consist of much more than charts and graphs. What are the unique powers available through code/art and how might we leverage these for Digital Humanities? Understanding the power of art to force a confrontation with difficult theoretical questions opens an important area of exploration for Digital Humanities. This course is aimed at a general audience interested in exploring these questions through a hands-on use of code for art tailored for those with no coding experience, but amenable to participants of all experience levels. This course will begin with an overview of some prominent examples of generative art projects that have used data. In viewing these images, we will consider the kinds of questions that can be explored through artistic visualization that might not be available through more standard practices.

Next, we investigate the generative nature of code as a method for creating visualizations. In what ways can art take advantage of the iteration afforded by code that allows massive amounts of repetition? What types of visualizations are available when these iterations are rooted in datasets?

Using p5.js, a language based on Processing and created to be accessible to beginners, educators, and artists, we explore the potential for using code and algorithms to generate data-based visualizations. We will learn how to use p5.js to
explore the generative concepts of repetition, modularity, transformation, and parameterization. Some of the skills we will learn include:

  • Drawing shapes
  • Using variables, functions, and arrays
  • Tracking and responding to the cursor, clicks, keystrokes, and touch screens
  • Rotating and scaling
  • Creating motion
  • Importing data and images, external and through a webcam
  • Using additional libraries for adding geo-location and speech recognition

Finally, using the core p5.js programming skills that we’ve learned, we will create our own projects that are based on open data that we access from the Open Guelph and Ontario Open Data Directive initiative. Participants are also encouraged to work with data they may already have available. No prior programming experience is necessary. Participants will have time each class meeting to work on personal projects with instructor guidance and should bring a laptop with WiFi.