Open for Enrollment

You can also start immediately after joining!
Join Now

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Go at your own pace
11 Sessions / 6 hours of work per session
Price
Premium membership $20/month (Preview session 1 free)
Included w/ premium membership ($20/month)
Skill Level
Beginner
Video Transcripts
English, Spanish; Castilian, Russian, Chinese, Portuguese
Topics
p5.js, Interactive Artwork, Javascript

Not available for purchase in India

Open for Enrollment

Introduction to Programming for the Visual Arts with p5.js

Open for Enrollment
You can also start immediately after joining!

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Go at your own pace
11 Sessions / 6 hours of work per session
Price
Premium membership $20/month (Preview session 1 free)
Included w/ premium membership ($20/month)
Skill Level
Beginner
Video Transcripts
English, Spanish; Castilian, Russian, Chinese, Portuguese
Topics
p5.js, Interactive Artwork, Javascript

Not available for purchase in India

Course Description

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.

Reviews
schedule

This course is in adaptive mode and is open for enrollment. Learn more about adaptive courses here.

Session 1: Hello (December 24, 2024)
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. You will also be introduced to p5.js so you can start creating your own work!
7 lessons
1. Introduction
2. What is Code?
3. What is p5.js?
4. Basic Drawing - Part 1
5. Basic Drawing - Part 2
6. Color
7. Drawing Custom Shapes (Premium Exclusive)
Session 2: Variables and Loops (December 31, 2024)
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.
7 lessons
1. Variables: Store, Modify, & Reuse Data (Premium Exclusive)
2. Changing Variable Values with Math (Premium Exclusive)
3. Loops & Iterations (Premium Exclusive)
4. Nested Loops (Premium Exclusive)
5. Code & Image (Premium Exclusive)
6. Moving Forward (Premium Exclusive)
7. Demo: Embedded Iteration (Premium Exclusive)
Session 3: Flow and Response (January 7, 2025)
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.
6 lessons
1. Setup & Draw: Programs That Run Over Time (Premium Exclusive)
2. Conditionals (Premium Exclusive)
3. Functions for Working with Numbers (Premium Exclusive)
4. Interaction & Events (Premium Exclusive)
5. Examples of Interactive Work (Premium Exclusive)
6. Demo: Embedded Iteration Continued (Premium Exclusive)
Session 4: Media: Load and display images, shapes, and fonts (January 14, 2025)
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.
8 lessons
1. Drawing Images (Premium Exclusive)
2. Drawing Text: Part 1 (Premium Exclusive)
3. Drawing Text: Part 2 (Using Web Fonts) (Premium Exclusive)
4. Drawing Text: Part 3 (Using System Fonts) (Premium Exclusive)
5. Sound Files (Premium Exclusive)
6. Using Media (Premium Exclusive)
7. Demo: Slit-Scan Part 1 (Premium Exclusive)
8. Demo: Slit-Scan Part 2 (Premium Exclusive)
Session 5: Synthesis A, Nonlinear Narrative (January 21, 2025)
In this session we will begin putting the elements together. We will use longer examples including modes, events, and transitions.
4 lessons
1. Nonlinear Narratives (Premium Exclusive)
2. Hypertext Experiences (Premium Exclusive)
3. Type Interaction (Premium Exclusive)
4. Advanced Keyboard Interaction (Premium Exclusive)
Session 6: Motion: Move and choreograph shapes (January 28, 2025)
In this session you will learn about types of motion in code, how to create motion with code, transformations, and timers.
8 lessons
1. Basic Animation (Premium Exclusive)
2. Transformations (Premium Exclusive)
3. Motion (Premium Exclusive)
4. Timers (Premium Exclusive)
5. Choreography Through Coding - Part 1 (Premium Exclusive)
6. Choreography Through Coding - Part 2 (Premium Exclusive)
7. Making Patterns Using Transforms - Part 1 (Premium Exclusive)
8. Making Patterns Using Transforms - Part 2 (Premium Exclusive)
Session 7: Functions: Build new code modules (February 4, 2025)
This session will introduce functions. We will cover the basics of functions, functions with parameters, and returning values from functions.
8 lessons
1. Functions: Part 1 (Premium Exclusive)
2. Functions: Part 2 (Premium Exclusive)
3. Functions: Parameterizing a Form (Premium Exclusive)
4. Using Randomness (Premium Exclusive)
5. Return Values Using Functions - Part 1 (Premium Exclusive)
6. Return Values Using Functions - Part 2 (Premium Exclusive)
7. Art Using Systems (Premium Exclusive)
8. Drawing Using Recursion (Premium Exclusive)
Session 8: Objects: Create code modules that combine variables and functions (February 11, 2025)
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.
6 lessons
1. Objects (Premium Exclusive)
2. Objects - Part 2 (Premium Exclusive)
3. Objects - Part 3 (Premium Exclusive)
4. The Super Formula (Premium Exclusive)
5. The Super Formula - Part 2 (Premium Exclusive)
6. The Super Formula - Part 3 (Premium Exclusive)
Session 9: Arrays: Working with lists of variables (February 18, 2025)
In this session you will learn what arrays are, how to declare and create arrays, how to assign and ready values, and more.
6 lessons
1. Data & Visualization (Premium Exclusive)
2. Data & Visualization - Part 2 (Premium Exclusive)
3. Using Arrays for Data Visualization (Premium Exclusive)
4. Visualizing Randomness (Premium Exclusive)
5. Art Using Arrays for Visualization (Premium Exclusive)
6. Sculpting Data for Visualization (Premium Exclusive)
Session 10: Synthesis B, Game (February 25, 2025)
This session will focus on putting the elements together to create work including motion, objects, and arrays. It will also cover collisions.
5 lessons
1. Making a Simple Game (Premium Exclusive)
2. Planning Our Game (Premium Exclusive)
3. Adding Functionality (Premium Exclusive)
4. Adding Functionality - Part 2 (Premium Exclusive)
5. Finishing Our Game (Premium Exclusive)
Session 11: Extend: Adding cameras and more (March 4, 2025)
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.
7 lessons
1. Creating a Button (Premium Exclusive)
2. Adding a Mouse Event Handler to a Button (Premium Exclusive)
3. Creating other HTML elements (Premium Exclusive)
4. Creating a Slider (Premium Exclusive)
5. Controlling a Video (Premium Exclusive)
6. Using the Webcam (Premium Exclusive)
7. Using Mic Input (Premium Exclusive)
Show off your Certificate of Accomplishment

Verify Your Achievements
Whenever you complete a course as a premium member, you can earn a verified Certificate of Accomplishment. These certificates are proof that you completed an online course on our platform.

Easily Shareable
Using its unique link, you can share your certificate with everyone from future employers and schools, to friends, family, and colleagues. It's the perfect tool to help you land that new job or promotion, apply to college, or simply share your achievements with the world.

Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors And Guests
What You Need to Take This Course
Additional Information

Please note: Taking part in a Kadenze course as a Premium Member, does not affirm that the student has been enrolled or accepted for enrollment by UCLA. 

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of students. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow students courtesy. No one wants to feel attacked - ever. For this reason, insults, condescension, or abuse will not be tolerated.

  • Show Respect. Kadenze is a global community. Our students are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.

  • Post Appropriate Content. We believe that expression is a human right and we would never censor our students. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts which violate this Code of Conduct harm our community and may be deleted or made invisible to other students by course moderators. Students who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Students with Disabilities: Students who have documented disabilities and who want to request accommodations should refer to the student help article via the Kadenze support center.  Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.