Expand your Python skills by working with data structures and algorithms in a refreshing context―through an eye-opening exploration of complexity science. 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 exercises, case studies, and easy-to-understand explanations.
You’ll work with graphs, algorithm analysis, scale-free networks, and cellular automata, using advanced features that make Python such a powerful language. Ideal as a text for courses on Python programming and algorithms, Think Complexity will also help self-learners gain valuable experience with topics and ideas they might not encounter otherwise.
- Work with NumPy arrays and SciPy methods, basic signal processing and Fast Fourier Transform, and hash tables
- Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
- Get starter code and solutions to help you re-implement and extend original experiments in complexity
- Explore the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, and other topics
- Examine case studies of complex systems submitted by students and readers
Allen Downey is a Professor of Computer Science at the Olin College of Engineering and a former Visiting Scientist at Google, Inc. He has taught computer science at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master's and Bachelor's degrees from MIT.