Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Intro to Coding with p5.js Workshop

A one-week workshop taught at Anderson Ranch, August 2016

Explore the creative potential of networked, shareable art in this introduction to coding with p5.js—a platform for making interactive, visual experiences online. Students experiment with creating simple visuals, as well as integrating video, sound, sensors and mobile devices. Tutorials and code samples are balanced with individual reviews and time to work in the studio. This is an excellent initiation into the artistic possibilities of code.

Student Work

projects page


Monday - Hello world

  1. Intro Meet and greet, workshop overview, objectives.
  2. Drawing Instructions An exercise inspired by the Conditional Design group. Read their manifesto and check out the archive of instructions and drawings. Check out knots, hatching, and convex city plan.
  • Break into partners. As a team, devise a set of instructions to create a drawing. Write out the instructions on paper provided.
  • Switch instructions with another pair. You create a drawing based on their instructions, and they create a drawing based on yours.
  1. Discussion: context
  1. Playing around
  • Download the p5.js editor.
  • Try adding some of the lines of code from this list into the places where it says setup() and draw(). Press the play button to run your code.
  • Can you figure out what each of the lines does? What is the difference between setup() and draw()?
  1. Tutorial: Basic drawing Download examples here. More walk through examples here.

  2. Tutorial: Variables Download examples here.

  3. Studio: Found object

  • Go for a walk around the ranch and surrounding area and find an object that intrigues or inspires you.
  • Replicate it with code. It can be as realistic or abstract as you like.
  • Include one element that is different each time you load the sketch.
  • Include one element that changes as you move the mouse.

Tuesday - Play it

  1. Review: Found objects
  2. Download examples here.
  3. Tutorial: Logic I - if With a partner, make inverse programs.
  4. Tutorial: Logic II - animation Add an element of timing to your found object piece.
  5. Tutorial: Logic III - interactivity Make a sketch with two inputs (ex: a rollover button and a clickable button, or a keypress and a mouse click)
  6. Studio: Brainstorm games
  • Concept: Using what you've learned so far, come up with a simple single player game. Try to keep the mechanic and interaction as simple as possible to start out. Here is some inspiration.
  • Mechanics:
    • What is the goal? What does the user do?
    • How do you win or finish? (OR DO YOU)
  • Details:
    • How do you detect if the player is achieving the goal?
    • How do you communicate to the player how they are doing?
    • What are the different “states”? Are there levels? Just a playing mode vs gameover mode?
    • Is there timing involved?
    • What are the different mini problems you will need to tackle to put this together?
  1. Studio: Paper prototype games Find a way to create some kind of paper prototype that you can test with others, or a storyboard that you can walk through with another person. Try to represent the different elements that come into play at different event times.
  2. Tutorial: Logic III - state
  3. Studio: Build games
  4. Discussion: FTP

Wednesday - Where are you?

  1. Tutorial: Logic Review Download logic examples.
  • State variable as counter
  • State variable as switch
  • State variable as switch, with button
  • State variable as toggle, with button
  • State variable as level
  1. Studio: Build games
  2. Tutorial: Media Download media examples.
  • Images
  • Text
  • Sound
  1. Tutorial: Functions Download functions examples.
  • Functions that calculate.
  • Functions that draw.
  • Functions with parameters.
  1. Studio: Make a location-based artwork For this project we will be making a location-based artwork to be used around Anderson Ranch. Here is some geolocative art inspiration.
  • On your mobile phone, go to this url: Be sure to allow location services.
  • Walk around the ranch and surrounding areas with your notebook. Note interesting locations, and record the lat/lon at that location, and a short description. Start thinking about what you might like to see at each location, and a general concept for the piece.
  • Flesh out your concept and sketch what you will see/hear/etc at each location on paper. How will people know to find each location? Will they wander and stumble, will your piece direct them, or will they carry an accompanying map?
  • Begin to sketch the different location views in code. You can make a separate sketch for each.
  • Test Sketch here
  • Test GPS Sketch here

Thursday - Take it further

  1. Studio: Location-based pieces
  1. Studio: Final projects Work on final projects, individual crits and tutorial.

Friday - Wrap it up

  1. Studio: Final projects Work on final projects, individual crits and tutorial.
  2. Discussion: p5 community
  3. Final review, wrap-up, next steps.


Web Hosting Options


Intro to Coding with p5.js Workshop | Anderson Ranch 2016






No releases published


No packages published