Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Dive into algorithms: a Python adventure for the intrepid beginner
Tuckfield B., No Starch Press, San Francisco, CA, 2021. 248 pp. Type: Book (978-1-718500-68-6)
Date Reviewed: May 2 2022

Algorithms--their concepts, theory, and methods--are not limitedto computer science. My recipe for making chili for dinner is analgorithm, as are my lesson plans for my courses, and the Internal Revenue Service (IRS) tax return forms I file every April. Even my method for writing book reviews follows an algorithm. Of course, algorithms pervadeall of computing; it could be said that computing itself is essentiallya collection of algorithms. Look for a definition of the term andyou will find many general and specific examples, for example, “a setof instructions for solving a problem or accomplishing a task.”According to Knuth [1]--and I’m paraphrasing here--an algorithm is an effective,finite series of well-defined steps using specified inputs, producingoutputs related to the inputs.

The computing literature on this subject is varied and extensive,including Sedgewick and Wayne’s classic Algorithms [2] and Cormen et al.’s Introductionto algorithms [3], to name just two prominent examples. AuthorBradford Tuckfield adds to this collection with Diveinto algorithms, an introduction to the topic using Python that iswritten for a wide audience of students, developers, andgeneral readers. Tuckfield, a technical writer and data scientistat Kmbara, has also written about machine learning andnatural language processing.

The book’s first two chapters introduce the basic ideas and historyof algorithms using physical and mathematical examples, and beginright away with Python code modeling and visualizing the requiredsteps. Some assumptions are made about the level of programmingand mathematical knowledge needed, although they are reasonablybasic.

The remaining chapters of the book cover some traditional algorithmictopics such as min/max methods, sorting and searching, geometry,language, and a bit of machine learning and artificial intelligence (AI).The first technical chapter on min/max algorithms discusses anddemonstrates gradient ascent. The accompanying Python code isgenerally sparse yet readable, and the author includes the requiredsetup instructions for Windows, MacOS, and Linux in the book’sintroduction.

The chapter on sorting and searching begins a discussion ofalgorithmic performance and efficiency that continues in severalof the subsequent chapters, such as the chapter on the travelingsalesman problem. The chapter on AI presents an entertaininganalysis of the dots-and-boxes game, including algorithms forscoring and for finding winning moves.

The author concludes with a (very) brief chapter on the problem ofchecking the results of algorithms and the related P=NP question.However, the value of the book lies in the variety of applicationareas presented: math functions, geometry, language, and decisiontrees. Some of the more complex algorithms presented includePython code that might be a bit challenging for beginners, but theexplanations of the required steps are generally pretty clear. Thebook is certainly a worthy addition to the literature on algorithms.

More reviews about this item: Amazon

Reviewer:  Harry J. Foxwell Review #: CR147435 (2207-0089)
1) Knuth, D. E. The art of computer programming. Addison-Wesley Pub. Co., Reading, MA, 1973.
2) Sedgewick, R.; Wayne, K. Algorithms (4th ed.). Addison-Wesley, Boston, MA, 2016.
3) Cormen, T. H.; Leiserson, C. E.; Rivest, R. L.; Stein, C. Introduction to algorithms (3rd ed.). MIT Press, Cambridge, MA, 2009.
Bookmark and Share
  Editor Recommended
Featured Reviewer
 
 
Python (D.3.2 ... )
 
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