Computational Beauty of Nature, by Gary Flake, is a very nicely written walk through topics related to chaos and complexity, including fractals, chaos, artificial life, adaptive systems, and neural networks. This is THE one book for folks who want to dive into these topics one level deeper than the popular science books. Each chapter has references to the primary source books and articles, if you want to pursue the topics in greater depth.
The book’s website has a set of Java applets and C programs to run the simulations — for example, you can play with the parameters of L-System fractals to simulate different kinds of plant shapes. The source code is available to download and play with.
Flake does a lovely job of explaining the math and modeling concepts, in a manner that is comprehensible to those of us without extensive math backgrounds. Sometimes his one-page intros go a bit fast for me, but it’s easy enough to hit Google, find a relevant tutorial, then go back and finish the chapter. I needed to do this for the sections on matrix math and circuit design — this is a very pleasurable way to learn.