The CS Detective

The CS Detective

An Algorithmic Tale of Crime, Conspiracy, and Computation
by Jeremy Kubica
August 2016, 256 pp.
ISBN-13: 
9781593277499

Download Chapter 1-15 of The CS Detective for free!

Look Inside!

The CS DetectiveThe CS DetectiveThe CS DetectiveThe CS Detective

Meet Frank Runtime. Disgraced ex-detective. Hard-boiled private eye. Search expert.

When a robbery hits police headquarters, it’s up to Frank Runtime and his extensive search skills to catch the culprits. In this detective story, you’ll learn how to use algorithmic tools to solve the case. Runtime scours smugglers’ boats with binary search, tails spies with a search tree, escapes a prison with depth-first search, and picks locks with priority queues. Joined by know-it-all rookie Officer Notation and inept tag-along Socks, he follows a series of leads in a best-first search that unravels a deep conspiracy. Each chapter introduces a thrilling twist matched with a new algorithmic concept, ending with a technical recap.

Perfect for computer science students and amateur sleuths alike, The CS Detective adds an entertaining twist to learning algorithms.

Follow Frank’s mission and learn:

  • The algorithms behind best-first and depth-first search, iterative deepening, parallelizing, binary search, and more
  • Basic computational concepts like strings, arrays, stacks, and queues
  • How to adapt search algorithms to unusual data structures
  • The most efficient algorithms to use in a given situation, and when to apply common-sense heuristic methods
Author Bio 

Jeremy Kubica is a principal engineer at Google working on machine learning and algorithms. He has a PhD in robotics from Carnegie Mellon University and a BS in computer science from Cornell University. Kubica is the author of the popular Computational Fairy Tales blog.

Table of contents 

Acknowledgments
A Note to Readers
Chapter 1: Search Problems
Chapter 2: Exhaustive Search for an Informant
Chapter 3: Arrays and Indexes on a Criminal’s Farm
Chapter 4: Strings and Hidden Messages
Chapter 5: Binary Search for a Smuggler’s Ship
Chapter 6: Binary Search for Clues
Chapter 7: Adapting Algorithms for a Daring Escape
Chapter 8: Socks: An Interlude and an Introduction
Chapter 9: Backtracking to Keep the Search Going
Chapter 10: Picking Locks with Breadth-First Search
Chapter 11: Depth-First Search in an Abandoned Prison
Chapter 12: Cafeteria Stacks and Queues
Chapter 13: Stacks and Queues for Search
Chapter 14: Let’s Split Up: Parallelized Search
Chapter 15: Iterative Deepening Can Save Your Life
Chapter 16: Inverted Indexes: The Search Narrows
Chapter 17: A Binary Search Tree Trap
Chapter 18: Building Binary Search Ladders
Chapter 19: Binary Search Trees for Suspects
Chapter 20: Adding Suspects to the Search Tree
Chapter 21: The Binary Search Tree Property
Chapter 22: Tries for Paperwork
Chapter 23: Best-First Search: A Detective’s Most Trusted Tool
Chapter 24: Priority Queues for Investigations
Chapter 25: Priority Queues for Lock Picking
Chapter 26: Heuristics in Search
Chapter 27: Heaps in Politics and Academia
Chapter 28: Difficult Search Problems
Chapter 29: Search Termination
Epilogue

View the detailed Table of Contents (PDF)
View the Index (PDF)

Reviews 

“This book is both entertaining and educational, and a great stocking stuffer, especially for anyone involved with data analysis.”
The Vancouver Sun

“A great introduction for older kids or adults to the concepts contained therein. The story is filled with humor and adventure.”
Geek Dad

“Exceptionally well written, organized and presented...truly adds an entertaining and novel twist to making the learning algorithms fun, practical, and effective.”
Midwest Book Review

The CS Detective was featured in Kids, Code, and Computer Science.

“I love being able to wrap learning into this story and that it doesn’t seem like learning at all. This book is perfect for computer science students or amateur sleuths who enjoy a good mystery.”
The Old Schoolhouse

“I give this book 10 out of 10 horseshoes.”
CodeRanch

“Good wizards and evil wizards cast spells, which helps capture the interest of students in the upper middle and lower high school grades...The story is worth the time to learn about different binary searches.”
National Council of Teachers of Mathematics

“I think the book would be good for high school–college level students interested in search algorithms or computer science in general. I enjoyed the book and the refresher on CS topics.”
404 Tech Support