Learning D3.js by implementing Damien Hirst's spot painting techniques. Fun way to learn about D3 and to appreciate the complexity behind seemingly simple modern art.
The latter uses a phyllotaxis algorithm that models how sunflower florets replicate (even though I think Hirst traced his from a textbook it's fun to implement the algorithm).
Random color selection is also a much harder problem than you'd think (how to avoid repeating patterns) and I'm seeing that Hirst's allocation is not quite so random (rumours of steganography - http://www.damienhirst.com/controlled-substance-key-paint for the key if anyone is good at cryptanalysis).