Programming for Visual Artists

Aalto University, 2025-2026

2025-2026 Course Materials

Sessions, web sketches, Lab, PDF slides, Processing source links, and student studies.

Sessions Session pages collect slides, web sketches, and source links.
Browser Web sketches run in the page where possible.
Lab The Lab edits p5.js companion sketches in the browser.
Source Processing files remain linked with the course materials.

Web Sketches

These p5.js companion sketches run directly in the page.

Web-first where possible

PDFs and .pde files remain available. Sketches with a browser version are embedded here and also linked to the Lab.

Shapes Function

Click to regenerate a composition made from one reusable abstract-shape function.

Session 05parametersrandomness
You can: click the sketch to regenerate, add a fourth shape type, or constrain the color palette.

Student Studies Gallery

The gallery contains 22 local mirrors from the OpenProcessing course curation, with source files and original links.

Local Mirrors

Open the gallery to view the course copies of Study 1 and Study 2 sketches.

Sketch Lab

Edit the p5.js companion sketches directly in the browser.

Run Your Code in Place

Choose a sketch, edit its JavaScript, and press Run your changes. The preview updates in the same page.

Download Only When Needed

The original .pde files are linked from session pages and sketch cards.

Processing vs p5.js

The web sketches are translations, not replacements. Use this quick map when you want to move between the browser versions and the classroom Processing files.

Canvas Setup

In Processing, you use size(600, 400) inside setup(). In p5.js, you use createCanvas(600, 400) inside function setup().

Drawing Loop

In Processing, you write void draw(). In p5.js, you write function draw(). Both redraw continuously unless you stop them.

Transforms

In Processing, you use pushMatrix() and popMatrix(). In p5.js, you use the shorter push() and pop().

Variables

In Processing, you often declare types such as float x. In p5.js, you usually use let x, const x, or class fields in JavaScript.

Slides Reader

Read the PDF slides without leaving the course page. Choose a session and the reader updates in place.

Choose a slide deck

Session 01 - Drawing, coordinates, and first functions
Open PDF if reader fails

Projects

Use these prompts to turn weekly sketches into larger creative work for the course.

Creative Study 1

Make a small interactive sketch using mouse position, color, and at least one custom function.

Creative Study 2

Make a generative composition using loops, randomness or noise, and one visual system you can clearly adjust.

Final Project

Develop an interactive or generative artwork that combines code structure with a personal visual direction.

Sessions

Use a session page when you want that week's slides, web sketches, instructions, and Processing material together.