Natural complexity : a modeling handbook Part 1. What Is complexity: Complexity Is not simple Randomness Is not complexity Chaos Is not complexity Open dissipative systems Natural complexity About the computer programs listed in this book Part 2. Iterated growth: Cellular automata in one spatial dimension Cellular automata in two spatial dimensions A zoo of 2 D structures from simple rules Agents ants and highways Emergent structures and behaviors Part 3. Aggregation: Diffusion limited aggregation Numerical implementation A representative simulation A zoo of aggregates Fractal geometry Self similarity and scale invariance Part 4. Percolation: Percolation in one dimension Percolation in two dimensions Cluster sizes Fractal clusters Is it really a power law Criticality Part 5. Sandpiles: Model definition Numerical implementation A representative simulation Measuring avalanches Self organized criticality Part 6. Forest fires: Model definition Numerical implementation A representative simulation Model behavior Back to criticality The pros and cons of wildfire management Part 7. Traffic jams: Model definition Numerical implementation A representative simulation Model behavior Traffic jams as avalanches Car traffic as a SOC system Part 8. Earthquakes: The Burridge Knopoff model Numerical implementation A representative simulation Model behavior Predicting real earthquakes Part 9. Epidemics: Model definition Numerical implementation A representative simulation Model behavior Epidemic self organization Small world networks Part 10. Flocking Model definition Numerical implementation A behavioral zoo Segregation of active and passive flockers Why you should never panic Part 11. Pattern formation: Excitable systems The hodgepodge machine Numerical implementation Waves spirals spaghettis and cells Spiraling out Spontaneous pattern formation Part 12. Epilogue: A hike on slickrock Johannes Kepler and the unity of nature From lichens to solar flares Emergence and natural order Into the abyss: your turn Part A. Basic elements of the Python programming language: Code structure Variables and arrays Operators Loop constructs Conditional constructs Input output and graphics Part B. Probability density functions: A simple example Continuous PDFs Some mathematical properties of power law PDFs Cumulative PDFs PDFs with logarithmic bin sizes Better fits to power law PDFs Part C. Random Numbers and walks: Random deviates The classical random walk Random walk and diffusion Part D. Lattice computation: Nearest neighbor templates Periodic boundary conditions Random walks on lattices This book provides a short hands on introduction to the science of complexity using simple computational models of natural complex systems with models and exercises drawn from physics chemistry geology and biology. By working through the models and engaging in additional computational explorations suggested at the end of each chapter readers very quickly develop an understanding of how complex structures and behaviors can emerge in natural phenomena as diverse as avalanches forest fires earthquakes chemical reactions animal flocks and epidemic diseases. Natural Complexity provides the necessary topical background complete source codes in Python and detailed explanations for all computational models.