Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Python algorithms : mastering basic algorithms in the Python language
Hetland M., Apress, Berkeley, CA, 2010. 336 pp. Type: Book (978-1-430232-37-7)
Date Reviewed: Feb 16 2012

The words “algorithms” and “Python” in a book title probably invoke less-than-positive feelings in many readers. There are plenty of books on algorithms that do an excellent job either as introductory texts or as references. There are also plenty of books on programming algorithms and implementing data structures, usually with a bent toward C, C++, or a derivative language. There are a number of reasons few computer science books use Python as the language of choice. That trend is changing, but, leaving religious arguments aside, Python is an unusual choice for a book on algorithms.

Thankfully, Hetland does not make the reader speculate on his intent or the usefulness of the book. In the introductory chapter, he clearly defines his target audience as both “Python programmers who want to beef up their algorithmics, and students taking algorithm courses, who want a supplement to their plain-vanilla algorithms textbook.” That statement could be extended to other groups. For example, many professionals, regardless of their Python experience, could benefit from a concise and readable algorithms refresher. The author uses Python as executable pseudocode, which gives the reader with programming experience the opportunity to interact with working code. By assuming as little background as possible, the book is approachable for someone with a cursory knowledge of computer science fundamentals. This book could be used as a primary source for an introductory course in algorithms, given the more standard texts referenced throughout the material.

While approachable, this is not a dumbed-down algorithms book. Hetland covers all the topics one would expect in an introduction to algorithms, and clearly brings his years of teaching experience to presenting the material. This is reflected in the chapter layout. Each chapter includes a presentation of core material, a summary of what was presented, pointers to outside sources of supplementary information, and exercises to practice what was presented. This allows the author to unapologetically present mathematical concepts throughout the third chapter, while referring less savvy readers to Concrete mathematics [1] for help. (More advanced readers are encouraged to follow up with [1] to explore other concepts such as generating functions.)

Hetland’s teaching experience is also reflected in his winsome writing style. Jaime Escalante, the math teacher made famous in the film Stand and Deliver, frequently said, “Ganas [passion] is all you need” as a teacher or as a learner [2]. The best teachers impart passion for their subject, and Hetland is no exception. Examples abound, from choice expletives such as “Ouch!” to the footnote bemoaning his inability to add an exclamation point for fear of confusing the reader. His sense of humor, focus, and passion for the subject shine through and add to the book’s readability.

Reviewer:  Nathan Carlson Review #: CR139878 (1207-0662)
1) Graham, R. L.; Bluth, D. E.; Patashnik, O. Concrete mathematics: a foundation for computer science. Addison-Wesley, New York, NY, 1994.
2) Bermudez,E. From his sickbed, Garfield High legend is still delivering. LA Times, March 7, 2010 http://articles.latimes.com/2010/mar/07/local/la-me-escalante7-2010mar07 (01/03/2012).
Bookmark and Share
  Reviewer Selected
 
 
Python (D.3.2 ... )
 
 
Specialized Application Languages (D.3.2 ... )
 
 
General (G.1.0 )
 
 
General (D.1.0 )
 
 
Language Classifications (D.3.2 )
 
 
Nonnumerical Algorithms And Problems (F.2.2 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Python": Date
Practical Python
Hetland M., APress, LP, 2002.  648, Type: Book (9781590590065)
Mar 28 2003
Python programming: an introduction to computer science
Zelle J., Franklin B, 2003. Type: Book (9781887902991)
Dec 2 2004
Foundations of Python network programming
Goerzen J., APress, LP, Berkeley, CA, 2004.  512, Type: Book (9781590593714)
Dec 26 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy