Design 2B: Experimental Computation Syllabus
Spring 2019
Design 2B: Experimental Computation 
Rutgers, Mason Gross School of the Arts 
CSB 224 (Computer Lab)

Section 1
Mondays 10:00am–4:10pm – Jacob Rivkin jarivkin@gmail.com

Section 2
Tuesdays 10:00am–4:10pm – Melanie Hoff – hoffmelanie@gmail.com

Section 3
Thursdays 10:00am–4:10pm – Nika Fisher – nf294@scarletmail.rutgers.edu

Overview

This introductory interaction design course focuses on experimenting with possibilities generated from a wide range of digital media. Students will become familiar with these new technologies through hands-on, process-based exploration. Additionally, students will develop the skills needed to spearhead their own research, developing a process and methodology unique to themselves. The course aims to humanize technology, making it accessible and usable by everyone, as well as to push students to think for themselves.

These various digital media will be situated culturally and historically. While learning new technologies is important for any career, it is equally important to understand the basic implications and intentions surrounding them. How do the tools and platforms we work with shape the things we create? Additionally, how does the narrative change when your client is yourself?

Eventually, students will understand how these new skills and ways of thinking can become instrumental components to their individual art and design practices. Likewise, they will learn to interpret and learn from existing practices in the field.

The course is broken into three units: online publishing (web markup and programming languages HTML, CSS, and JavaScript), algorithmic design (Processing, p5.js, or paper.js), and physical computing (Arduino, circuit design, sensors). Workshops and in-class exercises will include learning markup languages HTML and CSS to make websites, drawing with code, programming to create generative patterns and animations, programming with variable data sources and APIs, and physical computing and sensors.

Throughout the semester, students will complete readings and write short responses in addition to discussing them in class. During each unit, students will learn skills through smaller, in-class exercises. By the end of each unit, they will have designed and produced a larger project within given constraints.

The aim of this course is not to teach any one particular software or programming language, but instead to familiarize students with a variety nonlinear visual platforms and the cultures surrounding them.

All Mason Gross students have access to art.rutgers servers and have their personal domains under the URL: https://artfiles.rutgers.edu/~<username>@art.rutgers.edu. Students are responsible for building a website on this URL to present the work (both exercises and projects) done for the class and publish written responses. In the first couple weeks, basic HTML and CSS coding will be taught through in-class workshops, allowing students the ability to create this portfolio website.

Learning Objectives

In this class, you will learn to:
  • Use code and technology as a medium for art and experimentation
  • Reflect on your own process and influences
  • Use your own experiences to inform the work you create
  • Learn an introduction to design principles online
  • Understand the internet in relation to art history, and the past

And be aware of:
  • what inspires you, what you’re interested in, what you like looking at
  • that everything has a precedent, and everything exists in relation to each other
  • how design and programming tools overlap and can be used in sync
  • how the process can be more important than the end product
  • an ability to use the browser as a canvas for experimentation and self expression

Tutorial Resources

All students of Mason Gross Visual Arts Department has free access to all lynda.com tutorial service, you can log in with your lab user and passwords.
All the platforms introduced in class are open source and very well documented online. So please take time to go through the online tutorials, and always try to troubleshoot online by yourself.