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.

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, th …