About the book

Since you clicked on the link, you must be interested in my project for writing a textbook for this course and interested in how you can get more extra credit points, er, I mean, in how you can help me. Thanks for your interest. Here are a few things about the book.

Why am I doing this?

There are a lot of textbooks out there on algorithms and/or data structures, and some of them are very good books. Why am I trying to enter this market?

Even though there are a lot of textbooks out there, they are pitched at different levels. Some aren't rigorous enough for what we do. Others are too advanced. Both in this class and in the book, I'm shooting for a sweet spot I call "rigorous, but for sophomores."

Moreover, the book I used to use in this class---which was pretty good in a lot of ways and was pitched to about the right level for us---had what seemed to me a fatal flaw. It wasn't clear enough on the distinction between the abstract and the concrete, seen especially in the distinction between ADTs and data structures. I consider this to be one of the most important concepts of the course.

Finally, there is the series of projects I developed for this course at Wheaton, which is a crucial component to any course in data structures and algorithms. I hope that other schools can find the project series useful too, and the best way to present them is with a textbook for them to support.

And, it just seemed like a fun thing to do. I really enjoyed writing the DMFP book, and I wanted to try my hand at another textbook.

Where does the name come from?

The working title Algorithmic Commonplaces is a reference to the theological work Loci Communes Rerum Theologicarum (ie, Theolgoical Common Places) by Philip Melanchthon. The idea of the title in that work was that major theological subjects are organized into "loci" or places. I'm identifying things like graphs, binary search trees, dynamic programming, hash tables as the loci of a data structures and algorithms course. I don't know whether that will be the final title, but I kind of like it.

What suggestions am I looking for?

I've found that when I give extra credit to students who find mistakes, I get a lot of reports about mechanical errors like spelling and punctuation. That's all good and fine---I want to know about those. But my publisher also has professional copyeditors who can find things like that.

What I really could use from you is higher-level feedback, like

I would appreciate greatly any comments that would help me make material improvements to the book.

For the writing style, I've tried to follow three rules: don't be passive, don't be moody, don't be tense. You will find almost all of the language is in the active present indicative. Since I'm talking about mathematical facts, I try to present it all as things are are, not things that were, will be, would be, could be, or should be. If you find me breaking out of that style, please point that out to me.


Thomas VanDrunen
Last modified: Wed Jan 8 13:50:30 CST 2020