The CS Detective: An Algorithmic Tale of Crime, Conspiracy and Computation, Jeremy Kubica, No Starch Press, San Francisco, California, 2016. 256 pp. $17.95 (paper). ISBN 9781593277499.
Four out of five stars
This book is different in the sense that it is an unusual combination of what is performed on modern computers with a low technology society with wizards and effective spells. The primary character is Frank Runtime and in a widely used plot device, he is a disgraced former police detective that is now a hardened, cynical private investigator. There is a robbery at police headquarters and Runtime is recruited to hunt the perpetrator(s) down. It is another case where he can do things that are forbidden to the police.
As the investigation continues, there are regular interludes where the algorithmic tactics employed by Runtime are explained to the reader. Most of the algorithms are search algorithms and some examples are breadth-first search, backtracking and binary search. While the explanations are thorough enough to advance the plot of a detective novel, they are not enough to be part of an in-depth education program. There is no mathematics that will be over the head of any reader.
The use of a society where technology is roughly at the middle of the eighteenth century and active magic is practiced is an amusing and unique tactic for detective stories. Therefore, that aspect makes the story entertaining, worthy of reading by people with little to no interest in learning algorithms.