Introduction to Programming for Visual Artists

Introductions, structure and tools of the course and about generative art.

Lecture 1 slides

About computing as an artistic medium

A a brief look into the history, some ideas behind, and current directions in computer generated art focusing on screen and print based generative art.

Early examples

The history of computer art dates back to 50s – where there was novel equipment available, people found creative and unintended use for it. Rendering a pin-up picture on a CRT screen of a huge US Airforce SAGE computer system is often quoted as the "world's first computer art"1.

Pin-up program running on an SD Console

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

Displaying a pinup image on a multi-million dollar war machine has its own poetry, but it certainly feels a bit like a joke or a gag. Rather than a very serious artwork, it can be seen as a display of the curiosity and need to explore creative an unintended uses of machinery simply because one can. And that possibility itself can be a driving force for artistic expression. Also, the machinery has a certain role and meaning in the surrounding society which inevitably is a conceptual part of the artistic output.

Other examples of early computer art stem from universities and research laboratories, where mathematicians and engineers would explore the computational medium in an artistic context. Frieder Nake is often referenced as a pioneer of computer art and his work 13/9/65 Nr. 2 ("Hommage à Paul Klee") is often cited in books and articles about the earliest phase of computer art (mid-1960s).2

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

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

System designs instead of individual artworks

Nake participated in the discussions around the role of digital art in the art world during the pioneering times of the digital art movement. Interestingly, he declared not to continue producing computer art in 1971 when he published a short and provocative note There should be no computer art for Page, the Bulletin of the Computer Arts Society. This aside, Nake makes a great argument about the nature of computer generated art in an 2010 interview, which is also very relevant for this course:

Nake argues that computer art shouldn't be viewed as individual pieces. Single pieces are important for the art world, but a computer artists create system designs. These systems and sets of works emphasis the method not the artifact as the key aesthetic feature of the artwork.

Another artist that is also often referenced when discussing generative art is Sol LeWitt. He did not use computers for his work but his rule based artwork and sets of instructions for creating instances of his work can bee seen as algorithms of sort (see for example his wall drawing retrospective at MASS MoCA This is manifested in his famous quote "the idea becomes a machine that makes the art".

Sol LeWitt wall drawing

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

Digital emancipation

Compared to the early days of computer art, computing is now universally accessible in most parts of the world. Programming as an artistic medium is not restricted to universities and research laboratories anymore. However vast majority of the software and online-media we consume is dictated by a very few companies and people behind these technologies represent a quite homogenous demography3.

Given the societal importance of computing and the emerging AI-driven consumer and governance tools, there is a need for more diversity in the software industry. Many artist see that using programming as their artistic medium and teaching the required skills forward is an act of reclaiming the power from these mega-corporations4. This idea of democratizing technology is also behind of many coding initiatives with creative emphasis and the introduction of programming to national curricula in many countries5.

Many of the artist working with generative art or computing as their medium has some kind of background in computer science or technology. Many creative mediums from playing an instrument to painting require a certain technical level for sufficient self-expression and programming as an artistic medium is not different. However, I feel that artists and designers who boldly embrace programming and technology without prior background can greatly contribute to the societal discussion about technology and explore the creative potential from a more diverse viewpoint than a technical expert preoccupied in specific views.

Commentary on emerging technologies? (Machine learning, AI, blockchains...)

Buzzwords, such as Machine learning, AI, blockchains, etc. have been popping up in startup pitch decks for the past years and will undoubtedly continue to do so. And there's probably many more such as AR, VR and the list goes on. These are not exactly new technologies, but are becoming more and more accessible for creators and not only to computer scientists. Photoshop has AI filters, such as pre-trained style transfer models for famous paintings, there's a multitude of relatively easy to follow tutorials on deep fake videos, image generation with GAN-networks etc.6

For artists these tools allow new creative expression: to explore creative an unintended uses of technology simply because one can. More importantly, one could argue, through incorporating these tools in artistic work, artists can problematize, comment and participate in to the creation of these tools and their role in the society.

Blockchains offer an interesting practical solution for digital art, besides being an interesting conceptual topic for artists. The art world struggles without unique rare tradable artifacts and blockchain technology is providing this to digital art. Crypto art or Non-Fungible Tokens (NFT) allow artist to create tokens that prove ownership of a digital artwork. Information of ownership is stored in a token as a smart contract and immutably recorded on the token's blockchain. This token can be sold forward and all the transactions are recorded in the blockchain and distributed over the network. Smart contracts allow different revenue models for artists such as getting a share of the transaction every time the work is sold. This is obviously interesting for the art market but the environmental impact of blockchain and proof-of-work computation is under debate7.

Beeple, EVERYDAYS: THE FIRST 5000 DAYS, the first the first purely digital artwork (NFT) being offered by Christie's

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)


Below is a few examples of sets of works from different artists. You can recognize immediately that the sets have certain underlying structures, but the individual instances of that system are quite diverse. I encourage a similar approach on this course and personally I find it very rewarding to discover new and surprising results by slightly adjusting different parameters on a system I created.

The course examples, exercises and assignments are created with this approach in mind. Rather than staring with a specific end result in mind, I encourage you to start with a very limited set of elements and experiment with those iteratively. The limitations you face will help you focus on the current step in your learning and amplify your creative output. You will only have a limited set of tools in the beginning of the course but embrace those limitations as creative restrictions.

Ryoji Ikeda - Test pattern

Ryoji Ikeda has a very minimalistic approach embracing randomness and noise. Test pattern is a system that converts any type of data (text, sounds, photos and movies) into barcode patterns and binary patterns of 0s and 1s. The work has manifested in many forms from prints to huge installations.

Ryoji Ikeda, test pattern

Ryoji Ikeda - test pattern #068, #083, #110, #003, #027, #054, Taipei Fine Arts Museum, Taipei, TW (photo: by LU Kuo-wei, courtesy of Taipei Fine Arts Museum, 2019 ©TFAM)

Saskia Freeke - daily art

Saskia Freeke is an artist, creative coder, interaction designer, visual designer and educator. Her work focuses on structure, geometry and playfulness. A big part of her artistic practice is the ongoing daily art project that she started January 2015. You can view her art at

Dmitri Cherniak - Ringers

The Ringers series is composed of 1,000 generative art NFTs. Each of these works is unique though they were all created by Cherniak’s special p5js script, which the artist worked on for years and which is immutably stored on Ethereum via Art Blocks.

Cherniak explains on the Art Blocks site:

There are an almost infinite number of ways to wrap a string around a set of pegs. On the surface it may seem like a simple concept but prepare to be surprised and delighted at the variety of combinations the algorithm can produce. Each output from 'Ringers' is derived from a unique transaction hash and generated in Javascript in the browser. Feature variations include peg count, sizing, layout, wrap orientation, and a few colorful flourishes for good measure.

Ringers by Dmitri Cherniak

Presented in it's entirety: 'Ringers' - Dmitri Cherniak (@dmitricherniak) on Twitter

Tim Rodenbroeker - Programming posters

Tim Rodenbroeker uses Processing for his generative works and also teaches creative coding and computational thinking in the realms of graphic design. His Programming posters series is a great example of using restrictions as a creative catalyst. On the project website he explains that the series was explicitly limited to certain colors (#2921AF and white) technology (Processing) and medium (print on A series paper).

Tim Rodenbroeker - Programming posters

Tim Rodenbroeker - Programming posters, from

Ways of working

Each lecture is built around a tutorial that introduces new programming concepts and is followed by a creative tawsk where the new concepts are explored. The focus is on exploring a particular method and designing systems that produce sets of works.

The method follows the idea of daily skething. On each lecture, you will iterate on an example end explore the aesthetics and different visual outputs of a programming concept or an approach.

Examples of artists creating daily sketches with code:

The examples above demonstrate how a similar idea can be explored and iterated, pushed and pulled to different directions creating vastly different outcomes. Programming is as a medium offers great possibilities for such exploration and iteration compared to other other practices that are bound in the physical world.

Video excerpt from Zach Lieberman's presentation at Eyeo 2013



  2. For other examples of early computer art see The Recode project

  3. For example, according to the Stack Overflow developer survey 2020 68.3% of developers are white or of European descent, 91.5% are male.

  4. See for example Creative Coding Maniphesto by Tim Rodenbroeker

  5. Although the idea of teaching programming with a creative emphasis is not entirely new. Seymour Papert's Turtle language and Mindstorms book is an example of this way of thinking from the 80s.

  6. The Gradient has a good brief summary of AI art titled The Past, Present, and Future of AI Art if you want to read more.

  7. For criticism about the environmental impact of crypto art see for example The Unreasonable Ecological Cost of #CryptoArt (Part 1)