Programming Art

One of the key messages to keep re-iterating in our push for more computing in schools is that it is not just about training up the next generation of software developers, for two reasons:

  1. Computing provides useful general knowledge for everyone, including the core principles of computing (determinism, information storage, etc), and useful skills (algorithmic thinking, debugging, modelling, etc)
  2. It’s not just software developers who program — increasingly, programming is becoming useful in all sorts of other jobs and areas (business analysis, scientific simulation and analysis, etc)

Mark Guzdial has written about the latter point before, but I saw a nice example of it in Denver last week — fittingly, after the SIGCSE computer science education conference. I’ll show it at the end of this post, but first: some context.

Computing Meets Art

The Livingstone/Hope “Next Gen” report is mainly known in computing education for its push for more coding in schools, but it was equally concerned that schools gave students art skills, so that they could become the special effects makers and game developers of tomorrow. It’s often thought that art is diametrically opposed to programming: the one being fuzzy and creative, the other being cold, logical and regimented. Of course, this is wrong in all sorts of ways. Art does involve creativity, but it also involves mastery of a craft: artists have always used mediums such as paint, photography, sculpture or literature. These require building — many sculptures are just as impressive for their engineering as their artistic message.

(I saw this sculpture -- a tree made of glistening steel -- at the Raleigh art museum after last year's SIGCSE)
(I saw this sculpture — a tree made of glistening steel — at the Raleigh art museum after last year’s SIGCSE)

Just as art is not devoid of craft, programming is not devoid of creativity. There is creativity within the process of programming itself, and also within the end product. To look at the procedural graphics of Eskil Steenberg’s Love is to see programming and graphics used creatively to create a visually stunning end product:

So, to come to the point: last week I was in Denver Art Museum, which had a few interactive exhibits by Brian Knep, who is exactly the sort of person that the Next Gen report wanted to see in schools. The exhibits were projected on to the wall, and featured little cartoon characters jostling around in a procedural simulation. It was not a pre-recorded video — it also allowed interaction. (Theoretical aside: is it ever possible to distinguish a non-interactive simulation from a sufficiently long pre-rendered video?) When you pressed a button on the left, the characters were fired over to the right hand side, and when you pressed a button on the right, the characters were sucked back to the left hand side:

So here was an exhibit (and a popular one, too) in an art museum completely driven by technology and programming. The engineering behind the seamless multiple projector setup, and the programming were used as a digital medium to create an art museum piece. These are the kinds of things that a digitally equipped populace can start to produce. Computing for everyone!

2 thoughts on “Programming Art

  1. We have a degree program here at Georgia Tech called “Computational Media” which is joint between the College of Computing and the School of Literature, Media, and Communications which is in our Ivan Allen College of Liberal Arts, i.e., Computing + Media in a Liberal Arts context. My son is a CM major, and last semester, he took a course on integrating digital media into theatre. This last February, his work was actually part of a play that our campus drama group put on — he built a Kinect interface so that actors could control a display with their on-stage motions. I think that this is another example of what you saw at the Denver Art Museum, Neil.

  2. We bring a little of this into our ‘creativity and computing’ module for Y1 primary trainee teachers at Roehmapton.
    We look at algorithmic art examples from Artemis Papert’s collection at, play with fractals in Scratch 2.0, generate photo-realistic imaginary landscapes in Terragen Classic and have a go at creating snowflake pictures using Geogebra. All great fun, extending skills across a number of ‘cool tools’ and offering some useful insights into computation and data representation.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s