AllenDowney
Programming is a tool for teaching, learning, exploring, and thinking
1. Writing 150 pages that are targeted for your class and your students is easier than writing "the bible" for your field.
2. The quality of the first draft might not be great, but if you are getting feedback and constantly improving, it's not long before you are better off than using one of the expensive tomes.
3. If you start with other free material, you can get off to a fast start (several people have now written books that started with my material, and then evolved beyond recognition).
Many of my examples start with code, so the first draft of the chapter is mostly explaining the worked example.
It's not very different from the work most profs do when they are developing a class, but at the end you have a book that has co-evolved to fit your students and the learning goals.
'Game of Thrones' Fans Develop Formula to Determine Who Might Survive Series
Draft of Think DSP: a Python-based introduction to digital signal processing
Bayesian election forecasting: a simple explanation
The code examples are not quite ready for prime time, but I will release them soon and update the (missing) link in the book.
Internet use is associated with non-religion
Software engineering practices all grad students should adopt
Excerpt from Think Bayes: statistical analysis of belly button bacteria
Webcast on Friday: Intro to Bayesian Statistics using Python
I re-read the chapter and decided that example was doing nothing except confusing half the audience and antagonizing the other half.
Just kidding (mostly), but your point is correct: there is no book that is right for all audiences. But if you can program, and the mathematical approach to this material doesn't do it for you, this book might.
So I would recommend
1. Think Python 2. Think Stats 3. Think Bayes
This kind of feedback is exactly why I like to post drafts early. Expect this example to magically disappear very soon :)
As the book comes along, I am finding that many ideas that are hard to explain and understand mathematically can be very easy to express computationally, especially using discrete approximations to continuous distributions.
For example, I just posted a section on ABC
http://www.greenteapress.com/thinkbayes/html/thinkbayes008.h...
that (I think) really demonstrates the strength of this approach.
Of course, my premise only applies for people who are as comfortable with programming as with math, or more so.