Think Complexity

Author: Allen B. Downey
Publisher: O'Reilly
Pages: 142
ISBN: 978-1449314637
Audience: Intermediate Python programmers
Rating: 3
Reviewer: Michael Driscoll

This books cover provides the subtitle "Exploring Complexity Science with Python". Is this a good combination?

Think Complexity is written for someone in an intermediate college level class. It has examples of Python code and talks about algorithms a lot. Personally, I think it would be probably be suitable as a 300 level class or higher just because of all the math and science related stuff.

Banner

The author goes all over the places and references Wikipedia often. Chapter 1 is about Complexity Science, which seems to lean towards the idea of “question everything” and “ask questions” without really caring about the answers. It is briefly defined as: an interdisciplinary field (at thne intersection of mathematics, computer science, and natural science) that focuses on discrete models of physical systems. In particular, it focuses on complex systems which are systems with many interacting components. Downey also considers it be a "New Kind of Science" as in Stephen Wolfram's 2002 book on cellular automata.

Chapter 2 is about graphs, but not graphing. Instead, the author is referring to a “system that contains discrete, interconnected elements”, such as a map. Chapter 3 is about the analysis of algorithms and has some interesting mini-studies about search algorithms and hash tables.

Chapter 4 is all about Small World Graphs and contains lots of references to scientists like Watts, Strogatz and Dijkstra. Chapter 5 deals with Scale-Free Networks and various types of distributions thereof.

Chapter 6 introduces the concepts of Cellular Automata and the various classes that Stephen Wolfram came up with for categorizing their behavior. This topic is continued in Chapter 7 with the Game of Life idea.

As you can see, the chapters vary wildly in content both from chapter to chapter and within the chapters themselves. They are also very short as most clock in at around 10 pages. Chapters 8-10 talk about such heady topics as Fractals, Fourier transforms, and Agent-Based Models. The last four chapters are case studies.

There isn’t a lot of code in this book. It’s mostly an ideas book to make the reader think. Some of the code examples are interesting though. For example, the author teaches the reader how to construct an abstract class in Python very clearly and how to design it so that it cannot be instantiated but must be sub-classed and overridden instead. The author also has a couple of examples where he uses SciPy or NumPy to illustrate some of his ideas.

If you’re looking for a rather random book on science with a smattering of Python code (or you just want to learn a little bit about Complexity Science), then this book might be for you. On the other hand, if you’re hoping to learn about Python in the scientific world, then you’re not going to learn much from this work.

Further Reading

Cellular Automata - The How and Why

A New Kind of Science Is Ten

 

Banner


C# 5.0 Unleashed

Author: Bart De Smet
Publisher: Sams, 2013
Pages:1700
ISBN: 978-0672336904
Aimed at: Intermediate to advanced programmers
Rating: 4.8
Reviewer: Mike James

This is the latest update to the C# Unleashed volume and the good news is that this encyclopedic tome has only grown by a few pages. Does it [ ... ]



An Introduction to Programming with Java Applets 3e

Author: Elizabeth Sugar Boese
Publisher: Jones & Bartlett
Pages: 428
ISBN: 978-0763754600
Aimed at: Complete beginners, students learning a first language
Rating: 4
Pros: Gentle introduction, attractive layout
Cons: Focus on applets which are not as important as they used to be
Reviewed by: Alex Armstro [ ... ]


More Reviews

 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.