Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Introduction to Programming for the Visual Arts with p5.js

University of California, Los Angeles via Kadenze


This course is an introduction to writing code within the context of the visual arts. It asks two primary questions:

What is the potential of software within the visual arts?
As a designer or artist, why would I want (or need) to write software?

Software influences all aspects of contemporary visual culture. Many established artists have integrated software into their process. Prominent architects and designers not only use software, they commission custom software to help them realize their unique ideas. The creators of every innovative video game and Hollywood animated film write custom software to enhance their work.

As a comprehensive first introduction to the potential of software development within a broad range of the arts, this course aspires to teach you to engage the computer more directly with code. Programming opens the possibility to create not only tools, but systems, environments, and new modes of expression. It is here that the computer ceases to be a tool and becomes a medium.


Session 1: Hello 
In this session, we will cover the following topics: 1) What is Code? 2) Form and Computers 3) Drawing: Define and draw simple shapes; and 4) Color: Change the fill and stroke for shapes. Session 2: Variables And Loops 
This session will cover variables and how to store, modify, and reuse data; loops, and how to use Random to get random values from the computer. Session 3: Flow And Response 
In this session, we will cover the following topics: 1) Setup and Draw: Creating programs that run over time. 2) Input, Responding to the mouse and keyboard. 3) Drawing. 4) Make different tools with code. 5) Conditionals, Making decisions in code. 6) Easing. Session 4: Media: Load And Display Images, Shapes, And Fonts 
This session will cover external media, file formats, how to load and display images, how to load and display vector shapes, how to load fonts and display text, and how to handle sound files. Session 5: Synthesis A, Nonlinear Narrative 
In this session we will begin putting the elements together. We will use longer examples including modes, events, and transitions. Session 6: Motion: Move And Choreograph Shapes 
In this session you will learn about types of motion in code, how to create motion with code, transformations, and timers. Session 7: Functions: Build New Code Modules 
This session will introduce functions. We will cover the basics of functions, functions with parameters, and returning values from functions. Session 8: Objects: Create Code Modules That Combine Variables And Functions 
In this session you will learn how to define a class, add fields and methods to a class, create an instance of a class, and create multiple instances of a class. Session 9: Synthesis B, Game 
This session will focus on putting the elements together to create work including motion, objects, and arrays. It will also cover collisions. Session 10: Extend: Adding Cameras And More 
This session will cover using video and video playback, adding camera images and analysis, manipulating the DOM, integrating existing JavaScript libraries, and working with p5.js in instance mode.

Taught by

Lauren McCarthy, Casey Reas and Chandler McWilliams



4.8 rating, based on 10 Class Central reviews

Start your review of Introduction to Programming for the Visual Arts with p5.js

  • Profile image for Rates

    Rates completed this course and found the course difficulty to be medium.

    If you want to learn how to code but get turned off by the idea of writing dull shopping list programs, this course is for you. It's code in the context of art, making it very accessible to artists and designers. The assignments are all based around making interactive pictures you can share on the web. You will learn fundamental coding concepts and with a little effort will take you to the start of intermediate level coding, ready to take on more advanced computer science topics. I Really enjoyed it.
  • Anonymous

    Anonymous is taking this course right now.

    It is amazing to see the other student work in the gallery of this course! Also I can't believe I get to Learn from Casey Raes , the inventor of processing!
  • Profile image for Martina Solés
    Martina Solés

    Martina Solés is taking this course right now and found the course difficulty to be medium.

    It's amazing to learn directly from Casey Reas, Lauren McCarthy and Chandler McWilliams.

    The sessions are always really interesting. The method usually follows this logic: Chandler explains in detail every concept, keeping it easy to understand; Casey gives you cool (retro) referents and a some history related to the session (always really interesting! ); then Lauren makes you think forward with all the possibilities of her program, with demonstrations step by step.
  • Anonymous

    Anonymous completed this course.

    If you are interested in computers and/or art , would like to be creative - take this course. The lessons are formidable and the tutors fantastic. I've took many online courses in the area of programing, web development etc., but this one is one I love from start to the end. I wish, there will be a part 2 someday.

    Awesome, 5 / 5, and a big THANKS to Casey, Lauren, Chandler and the invisible crew who made it .
  • Anonymous

    Anonymous is taking this course right now.

    I am a complete beginner to coding and I found this course easy to understand. The course starts with basic concepts and makes its way up to more complex processes, which makes it great for beginners and more advanced students as well.
  • Anonymous

    Anonymous is taking this course right now.

    This is a great introductory primer for visual artists curious to understand how to make coding a part of their visual arts practice.
  • Anonymous

    Anonymous completed this course.

    Excellent introduction to P5 and the concepts of generative art. Well done and thank you to the creators of the course.
  • Anonymous

    Anonymous is taking this course right now.

    This course is awesome, makes visual coding so accessible - five stars. The instructors are clear and knowledgable and the assignments are engaging. One suggestion: in cases where the instructor's code formatting won't correctly in later/current versions of p5.js, it would be helpful to mention that in the comments section.
  • Anonymous

    Anonymous completed this course.

    This is the course to take if you are creative and want to play with technology. The syllabus is good and I love the short format of the lectures.
  • Garry Gerwer is taking this course right now.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.