I've been reading Matt Pearson's book recently: Generative Art: A Practical Guide using Processing.

The book
The book

It's a very good read for someone like me. I'm already a strong coder, but looking for discourse, examples, prototypical patterns and suggestions on the topic of generative art.

It's a relatively short book, but there's as much of the why, when and what as there is how. The author tries to please new coders and old hands, but it's really more for medium-level coders and above. If you are a new coder you could certainly work along with it but to get the best out of it (and not be anchored to the examples) you'd need to study something else simultaneously. Important concepts like OOP, data types, collections and sequence / selection / iteration are barely introduced before they are in heavy use. Not to mention the D-word (debugging!)

Having said that, from my perspective the code is pretty simple and, if you skip a few introductory bits here and there, keeps quite a good pace. It provides you with a starting point for several topics such as Randomness, Perlin / Noise, Emergence (Boids), Cellular Automota, Fractals, and ofcourse just enough trig and geometry to get you by. Fortunately I was already versed enough in these last two topics so I really was able to just focus on the generative stuff, which was much more new to me.

In each topic it takes you through some step-by-step coding exercises, offers examples of real works using each technique, and moves on. More importantly though it offers around-the-topic discussion, featuring the author's own personal take on things. Matt spends time on each subject, injecting something of his own perspective and it really transforms what could have been a dry recipe-book into something quite interesting. It's still a short book compared with the stereotypical programming behemoth, but has the right level of punch for someone at my stage of career.

I'm hoping to get started on some generative sketches pretty soon and publish the results online. I want to look at Processing.js a little more before I do that, to see what the best publishing options are.

Overall a good book and recommended.