Programming for Visual Artists

ARTS-A0701 – Digital Art 1

2024 - Intro lecture


  • Introductions, goals

  • Practical things

  • Feedback from previous courses

  • About generative art

  • What is p5.js


Share (for example) your:

  • Name
  • Study background
  • Expectations and hopes about the course


  • Have you programmed before?
  • Have you done animations, VJing, computer graphincs, interactive things, etc. before?
  • Do you already have something in your own practice where you might need techniques related to this course?

Practical things

Course schedule

  • Mon, 26.2: Introduction, P5.js editor, shapes, coordinates and colours
  • Tue, 27.2.: Variables, randomness
  • Mon, 4.3: Animating with trigonometric functions
  • Tue, 5.3: Animating with noise
  • Mon, 11.3.: If-else, for-loop
  • Tue, 12.3.: For-loop, noise
  • Mon, 18.3.: Audio input, Interaction
  • Tue, 19.3.: Images and video
  • Mon, 25.3.: Recap, personal project
  • Tue, 26.3.: Personal project
  • Mon, 8.4.: Personal project, course feedback
  • Tue, 9.4.: Presentations / exhibition?


  • Every or every other lecture will have an assignment
  • Every lecture has time for tutoring and working on the assignments
  • Aim is to finish the assignments during lectures
  • Final project in the end of the course
  • Submissions on MyCourses


  • You will need to pass 6 out of 8 assignments
  • You will need to pass final project


Assignments are graded 1-5, 6 best are included in the final grade. Final project is also graded 1-5.


Assignments make up 60% of the final grade and the final project makes up 40%.

Tools and communication

About generative art

Sol LeWitt wall drawing, Metz, Bava Alcide57, CC BY-SA 3.0 via Wikimedia Commons

When an artist uses a conceptual form of art, it
means that all of the planning and decisions are made beforehand and the execution is a perfunctory
affair. The idea becomes a machine that makes the art.

Frieder Nake 13/9/65 Nr. 2 ('Hommage à Paul Klee'), Photo by Frieder Nake 2005

 Frieder Nake Paragraphs on Computer Art, past and present:

Pin-up program running on an SD Console (Lawrence A. Tipton / SMECC, image downloaded from The Atlantic)

Pin-up program running on an SD Console (Lawrence A. Tipton / SMECC, image downloaded from The Atlantic)

 Artificial intelligence software (Obvious collective), Edmond de Belamy, 2018. Public domain via Wikimedia Commons.

Beeple, 'EVERYDAYS: THE FIRST 5000 DAYS', the first the first purely digital artwork (NFT) being offered by Christie's. (courtesy of Christie's Images Ltd. 2021)

Feedback from previous courses

Some curated course feedback

  • more extension materials
  • more general discussion so we can go through everyone's work and feedbacks
  • more interaction with other students and see what everyone has been doing for the different assignments in a non-formal way as some people might not feel comfortable sharing what they did.
  • I want to see other students' projects, so maybe it would be better that you ask students to share their work to a place or on Instagram. it also can be a good way to raise interaction in the class.
  • The evening slot for 3 hours coding is quite tiring
  • The assignments could be more about specific tasks, not just experimenting with code. I feel like it could make me learn more.
  • I have the feeling that the time for the person project (1 week) is to short. I  think it would be nice to have the exhibition planned a bit earlier so we can prepare for it better.
  • Would like to hear more about how it can be applied on the web, as some of the students have their own website, it would be great to make it more interactive. It can be a extra resources.
  • Maybe more resources/references where we can see other p5js code examples.
  • The one thing I missed was having a more engaging class dynamic, that could ease the fact that the class is until 8pm...

What is p5.js

#p5js on instagram