Thursday, January 5, 2012

Computer Science via Generative Art and Vice Versa

Reporting this evening from Dallas (Texas) where I am attending a workshop about the Processing system, a unique way to learn programming concepts using generative art. Within 10 minutes of starting to use Processing, I was sucked completely into coding, and was producing animated abstractions. This was my first program  (a lot more interesting than any Hello World):

About 12 of us were sitting around the conference table and we were all heads down, heads up (to look at the overhead display where one of the presenters was explaining various features), heads down, heads up, type type type. College and University faculty, high school teachers, computer scientists, digital designers. Type, type type.

Before I knew it we were not only coding in Java (a language I generally dislike with a passion) but trying to figure out how to make loops, swoops, and geometric patterns bounce around the screen. And bounce they did - or grow, shrink, grow-shrink-grow-shrink. Change colors, size, shapes, speed up, slow down, fade in, out, turn corners, move around smooth rollercoaster-like curves...the only boundary was our imagination. When was the last time your first day of class was that productive and absorbing?

And this is no toy system.  Processing has some unique attributes. Not only does the system use a real language (Java), it is accessible (such an easy interface), it is powerful and it is fun. It is also open source, contains excellent online help, and there is an exhibition space for uploading your creations along with their code. As open source, you can download other people's creations and code as well.

Designed originally by people affiliated with the MIT Media Lab as a language for artists to explore coding as a medium, it is now becoming well known in the computer science education community. One of our workshop leaders, Ira Greenberg, is a painter by training; he downloaded an early version of Processing around 2001 and not long after wrote a book (the first ever I believe) "Processing - Creative Coding and Computational Art". Fast forward: Now Ira has a dual appointment in Computer Science and Engineering and in the Meadows School of the Arts at Southern Methodist University.

What you can't see from these pictures I created (before lunch) is that they are dynamic. Both pictures, especially the one on the right, were moving under the direction of my code. Now yes, I have a background in programming and teaching Java, but I have no particular expertise in graphics. And I really do despise Java. Such a pain ...Usually. Not today.

More to the point, the two creations of mine included here are far less sophisticated than what others in our group were creating; one participant, a public high school teacher, created a brilliant beautiful demo on recursion this afternoon. Someone else created what looked like an ever expanding universe of pulsating multi-shaped colored particles.

There were a lot of fried brains by the end of the day because people barely looked up - most were glued to their laptops straight through lunch. By the end of the day it clear that we were well on our way into sophisticated concepts  in science, math and computing. It just seemed to ... happen. I can't wait for tomorrow.

No comments:

Post a Comment