—KNUTH (The Art of Computer Programming I, 1)Practise yourself, for heaven's sake, in little things;
and thence proceed to greater.—EPICTETUS (Discourses IV, i)
The title of Chapter 1 of The Art of Computer Programming by Donald Ervin Knuth is “Basic Concepts”. And the title of section 1.1 is “Algorithms”.
If in doubt about where to begin and when in doubt about where to go next when traversing the field of Computer Science, we could do worse than asking ourselves—in the spirit of adherents of Christianity who in the 1990s popularized the phrase What would Jesus do “as a reminder of their belief in a moral imperative to act in a manner that would demonstrate the love of Jesus through the actions of the adherents”—What would Knuth do?
Etymology
First, therefore, let's briefly review the history and etymology of the word algorithm. Many believe that Al Gore had a lot to do with the invention of the word algorithm. And although this author has yet to find the smoking gun in The Art of Computer Programming that conclusively proves the theory, Knuth does tell us that “The word [algorithm] did not appear in Webster’s New World Dictionary as late as 1957” (vol. 1, 1).
. . . Aha!
As Jon Bentley preaches at the beginning of “Aha! Algorithms” (Column 2) in his book Programming Pearls (certainly, dear reader, you are not swine):
In his book Aha! Insight (from which I shamelessly stole my title), Martin Gardner describes the type of contribution I have in mind: “a problem that seems difficult may have a simple, unexpected solution.” Unlike the advanced methods of the field, the aha! insights of algorithms don't come only after extensive study; they're available to any programmer willing to think seriously before, during, and after coding.
An AlGore-rhythm
A Procedure for Roaming Around
- All roads lead to Rome. If you're not having fun on the road you're on, then try some other door. Otherwise, follow the yellow brick road religiously.
- Go home.
- Answer the question. If you answer incorrectly, then go to reëducation; return, then repeat. If you answer correctly, you will be offered a drink.
- Drink. If your drink seems strange and is making you mad, have another. Otherwise, repeat.
- Smell the roses.
- Sweat the small stuff.
- Find your muse.
- Continue. . .