Think Complexity

Think Complexity
by Allen Downey

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.


Think Complexity
by Allen Downey

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.


Think Complexity
by Allen Downey

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

Think Bayes
by Allen Downey

If you know how to program with Python and also know a little about probability, you’re ready to tackle Bayesian statistics. With this book, you’ll learn how to solve statistical problems with Python code instead of mathematical notation, and use discrete probability distributions instead of continuous mathematics. Once you get the math out of the way, the Bayesian fundamentals will become clearer, and you’ll begin to apply these techniques to real-world problems.

Bayesian statistical methods are becoming more common and more important, but not many resources are available to help beginners. Based on undergraduate classes taught by author Allen Downey, this book’s computational approach helps you get a solid start.

  • Use your existing programming skills to learn and understand Bayesian statistics
  • Work with problems involving estimation, prediction, decision analysis, evidence, and hypothesis testing
  • Get started with simple examples, using coins, M&Ms, Dungeons & Dragons dice, paintball, and hockey
  • Learn computational methods for solving real-world problems, such as interpreting SAT scores, simulating kidney tumors, and modeling the human microbiome.

Think Stats
by Allen B. Downey

If you know how to program, you have the skills to turn data into knowledge using the tools of probability and statistics. This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.

You’ll work with a case study throughout the book to help you learn the entire data analysis process—from collecting data and generating statistics to identifying patterns and testing hypotheses. Along the way, you’ll become familiar with distributions, the rules of probability, visualization, and many other tools and concepts.

  • Develop your understanding of probability and statistics by writing and testing code
  • Run experiments to test statistical behavior, such as generating samples from several distributions
  • Use simulations to understand concepts that are hard to grasp mathematically
  • Learn topics not usually covered in an introductory course, such as Bayesian estimation
  • Import data from almost any source using Python, rather than be limited to data that has been cleaned and formatted for statistics tools
  • Use statistical inference to answer questions about real-world data

Think Java
by Allen B. Downey, Chris Mayfield

Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program—a useful skill by itself—but you’ll also discover how to use programming as a means to an end.

Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what you’ve learned.

  • Learn one concept at a time: tackle complex topics in a series of small steps with examples
  • Understand how to formulate problems, think creatively about solutions, and write programs clearly and accurately
  • Determine which development techniques work best for you, and practice the important skill of debugging
  • Learn relationships among input and output, decisions and loops, classes and methods, strings and arrays
  • Work on exercises involving word games, graphics, puzzles, and playing cards

Think Simple
by Ken Segall

The secrets to Apple’s success and how to use them, from the Apple insider Ken Segall

In Think Simple, Apple insider and New York Times bestselling author Ken Segall gives you the tools to Apple’s success – and shows you how to use them. It’s all about simplicity.

Whether you’re in a multinational corporation or a lean startup, this guide will teach you how to crush complexity and focus on what matters; how to perform better, faster and more efficiently. Combining his insight from Apple with examples from companies across industries all over the world – including Ben & Jerry’s, Whole Foods, Intel and HyundaiCard – Segall provides a simple roadmap for any company to find success.


Embracing Complexity
by Jean G. Boulton, Peter M. Allen, Cliff Bowman

The book describes what it means to say the world is complex and explores what that means for managers, policy makers and individuals.

The first part of the book is about the theory and ideas of complexity. This is explained in a way that is thorough but not mathematical. It compares differing approaches, and also provides a historical perspective, showing how such thinking has been around since the beginning of civilisation. It emphasises the difference between a complexity worldview and the dominant mechanical worldview that underpins much of current management practice. It defines the complexity worldview as recognising the world is interconnected, shaped by history and the particularities of context. The comparison of the differing approaches to modelling complexity is unique in its depth and accessibility.

The second part of the book uses this lens of complexity to explore issues in the fields of management, strategy, economics, and international development. It also explores how to facilitate others to recognise the implications of adopting a complex rather than a mechanical worldview and suggests methods of research to explore systemic, path-dependent emergent aspects of situations.

The authors of this book span both science and management, academia and practice, thus the explanations of science are authoritative and yet the examples of changing how you live and work in the world are real and accessible. The aim of the book is to bring alive what complexity is all about and to illustrate the importance of loosening the grip of a modernist worldview with its hope for prediction, certainty and control.


Systems Thinking
by Jamshid Gharajedaghi

Systems Thinking, Third Edition combines systems theory and interactive design to provide an operational methodology for defining problems and designing solutions in an environment increasingly characterized by chaos and complexity. This new edition has been updated to include all new chapters on self-organizing systems as well as holistic, operational, and design thinking.

The book covers recent crises in financial systems and job markets, the housing bubble, and environment, assessing their impact on systems thinking. A companion website is available at interactdesign.com.

This volume is ideal for senior executives as well as for chief information/operating officers and other executives charged with systems management and process improvement. It may also be a helpful resource for IT/MBA students and academics.

  • Four NEW chapters on self-organizing systems, holistic thinking, operational thinking, and design thinking
  • Covers the recent crises in financial systems and job markets globally, the housing bubble, and the environment, assessing their impact on systems thinking
  • Companion website to accompany the book is available at interactdesign.com


About apujb86