A colleague has just told me about a new book called “Think Complexity” by Allen B. Downey. To cut from the summary, it’s about: “complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science”.
Some of the later chapters look at fractals, cellular automata and agent-based models, which is the main reason I’m reading it. I’m only a few chapters in but it’s really well written and the Python code examples are brilliant. The author has also included short exercises that are really interesting. You do need to be reasonably OK with Python to work through the code though.
Plus it’s free! http://www.greenteapress.com/compmod/