ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Introduction to Programming in Python: An Interdisciplinary Approach
Robert Sedgewick, Kevin Wayne and Robert Dondero
Addison-Wesley Professional; 1 edition (2015)
Jim Segrave
Appeared in:

The title is a bit misleading – this is not a book for learning to program in Python, it is on overview of the sorts of subjects university computer science courses will cover. It does teach some things about Python programming as part of showing how problems can be solved, but it is hardly complete in that area; for example list comprehensions are never mentioned, dictionaries appear only in passing in the last chapters of the book.

As might be expected given the authors, there is a heavy emphasis on algorithms and the use of recursion in particular. It is assumed the reader is a science or engineering student, the vast majority of the exercises deal with mathematical concepts that occur in such an environment. However it is not a text on design and analysis of algorithms, it does not delve deeply into the mathematics behind analysing time and memory usage.

The book does put a heavy emphasis on good programming practices – tasks should be broken down into functions which have single purpose, programmers should pay attention to and measure how programs perform as a function of input size, advice on how to choose an API when building modules as part of a larger program, etc. There are a huge number of interesting challenges in the exercises for each chapter which can keep the reader busy for quite some time.

In summary, this is not a book you will keep as a reference on your bookshelf, you won’t be going back to it over and over again. From a learning Python perspective, this is not what you will want. From a comp-sci perspective, I found too much of the treatment to be insufficient in depth. It’s a good overview of what there is to learn in the field, but doesn’t treat any of the topics sufficiently on its own.