SUMMER2020

CLASS SYLLABUS

DAY/TIME/PLACE

Summer, starts June 22nd — 9:00am-12:00pm

Instructor: Bruce Donald Campbell

Faculty, Continuing Education - RISD, Providence, RI
Director, Watersheds Project, Providence, RI

Email: bcampbel01@risd.edu

Prerequisites: None

DESCRIPTION

The ability to visualize abstract concepts is made easier with digital tools, and one of the most versatile of these tools is the open-source program known as Processing. Initially developed to serve as a high tech sketchbook, Processing has evolved into a genuine medium for the delivery of creative content. A programming language at its core, it offers a practical environment for the creation of images, animations and interactive experiences. Free of cost, and even freer of difficulty, it also provides an introduction to computer programming basics that is ideal for the hands-on visual learner. As you learn, you become part of a broader community of artists, designers, scientists and other curious people using Processing for documentation, illustration, prototyping and production.

Applies to: AD-E, AN-E, DI-E, GR-E, VE-E, WE-E

GRADING

Class participation - 20%
Homework exercises - 20%
Class project - 60%


CLASS LINKS

SYLLABUS

Topic1

getting started with processing

Overview

In this topic, you learn about Processing as a language and the collections of visual components that are considered primitives to a visual presentation.

By the end of this topic you will: 

  • be able to add primitive shapes to a Processing canvas
  • understand the significance of strokes and how to script them to behave as you wish
  • understand the significance of fill and how to use fill to add color and texture to your primitives
  • understand how to draw curves with the Processing language
  • understand how scripting attributes modify the appearance of primitives
  • understand how color is described in a scripting language

Readings/Materials/Videos

Read the Welcome to Class document I've provided you.
Read the Topic 1 lecture support I provide you.
Look at the Processingjs.org site.
Our First Example based on an example from the Processing website.
Here's how to use transform code to get a truck to move.

Video 1: Participating in the Processing course
Video 2: I am Bruce, your instructor:
Video 3: Introduction to Processing:
Video 4: Using primitives in Processing code:
Video 5: Working on your first challenge:

To Do:

Example Homework 1

Topic2

useful language structures

Overview

In this topic, you learn about Processing as a language by considering some of the unique and innovative structures available for use in your code.

By the end of this topic you will: 

  • understand Processing data types and data structures
  • understand how to create a variable and why you would want to do so
  • understand the arithmetic operators available in Processing
  • understand the logical operators available in Processing
  • understand about how continuous looping is provided in the Draw() function 
  • understand how to create random behaviors in your Processing scripts


Readings/Materials/Videos

Read the Topic 2 lecture support I provide you.
Here's a bouncing ball and another and another from students.

Videos:

Video 1: Processing Data Types and Variables:
Video 2: Characters, Strings, and Key Presses:
Video 3: Mouse and Interactivity:

To Do:

Example Homework 2

Topic3

creating interactive inputs/outputs

Overview

In this topic, you learn about creating interactive input and outputs in your Processing scripts.

By the end of this topic you will: 

  • understand how to code for mouse interactivity
  • understand how to code for keyboard interactivity
  • understand how to code for clock-based interactivity
  • understand how code for touch interactivity


Readings/Materials/Videos

Read the Topic 3 lecture support I provide you.
Here's a city skyline project from our class.
Here was a special Pi Day extravaganza: We saw the message flash on March 14th

Videos:

Video 1: Using the Clock in Visual Interactivity with Processing:
Video 2: Considering 3-D in Processing Code Development:
Video 3: Using Background Images for Sense of Depth on a Processing Canvas:

To Do:

Example Homework 3

Topic4

gaining efficiency via arrays

Overview

In this topic, you learn about data structures and the power of using arrays for gaining efficiency in your Processing scripts.

By the end of this topic you will: 

  • understand how both Java and Javascript implement Processing
  • be able to run Processing scripts as embedded Java
  • understand arrays and be able to apply the knowledge to many different situations
  • understand why Trigonometry functions are so useful in Processing scripts


Readings/Materials/Videos

Read the Topic 4 lecture notes I provide you.

Take a look at a circle example of using Trigonometry functions.
Review a Topic 4 final examples from a previous class.
Consider this Processing-based game. Or this one (two player).

Videos:

Video 1: Using the Processing Java Environment and Sketch Canvas:
Video 2: Using Arrays for Script Complexity with Processing:
Video 3: Two-dimensional arrays and trigonometric functions in Processing:

To Do:

Example Homework 2

Topic5

looping constructs

Overview

In this topic, you learn about loops and how powerful they can be in driving compelling visual output with Processing

By the end of this topic you will: 

  • understand three loop types (frame, for, and while)
  • be comfortable writing frame loops and choosing update rates
  • understand the power of particle effects


Readings/Materials/Videos

Read the Topic 5 support I provide you.

Videos:

Video 1: Learning while loops and nested for loops visually via a Processing canvas:
Video 2: Using for and while loops inside of Processing’s built-in draw() function:

To Do:

Example Homework 5

Topic6

integrating libraries and frameworks

Overview:

In this topic, you learn about libraries and frameworks and popular ways to integrate them with your Processing code

By the end of this topic you will: 

  • understand the significance of libraries and frameworks
  • have shared your final Processing project creation with your classmates and experienced a critique.

Reading:

Read the Topic 6 support I provide you.

Video:

Video: Libraries and Frameworks to extend Processing for more complexity:
Homework:
Turn in your class project on the last day of class.

Topic Six Challenge: create an interesting 3-D scene using 3-D processing canvas.

Example Homework 5