Complexity science uses computation to explore the physical and social sciences. In *Think Complexity*, you’ll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.

Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of worked examples, exercises, case studies, and easy-to-understand explanations.

In this updated second edition, you will:

- Work with NumPy arrays and SciPy methods, including basic signal processing and Fast Fourier Transform
- Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
- Get Jupyter notebooks filled with starter code and solutions to help you re-implement and extend original experiments in complexity; and models of computation like Turmites, Turing machines, and cellular automata
- Explore the philosophy of science, including the nature of scientific laws, theory choice, and realism and instrumentalism

Ideal as a text for a course on computational modeling in Python, *Think Complexity* also helps self-learners gain valuable experience with topics and ideas they might not encounter otherwise.