These are actually copied out of Donald Knuth’s The Art of Computer Programming, Volume I. No copyright infringement is intended. This is considered fair use, under the category of “Educational.” It is very enlightening.
- Begin reading this procedure, unless you have already begun to read it. Continue to follow the steps faithfully. (The general form of this procedure and its accompanying flowchart will be used throughout this book.)
- Read the Notes on the Exercises, pp. xvii-xix.
- Set N equal to 1.
- Begin reading chapter N. Do not read the quotations which appear at the beginning of the chapter.
- Is the subject of the chapter interesting to you? If so, go to step 7; if not, go to step 6.
- Is N ≤ 2? If not, go to step 16; if so, scan through the chapter anyway. (Chapters 1 and 2 contain important introductory material and also a review of basic programming techniques. You should at least skim over the sections on notation and about MIX).
- Begin reading the next section of the chapter; if you have reached the end of the chapter, go to step 16.
- Is the section number marked with “*”? If so, you may omit this section on first reading (it covers a rather specialized topic which is interesting but not essential); go back to step 7.
- Are you mathematically inclined? If math is all Greek to you, go to step 11; otherwise go to step 10.
- Check the mathematical derivations made in this section (and report errors to the author). Go to step 12.
- If the current section is full of mathematical computations, you had better omit reading the derivations. However, you should become familiar with the basic results of the section; these are usually stated near the beginning or in italics right at the very end of the hard parts.
- Work the recommended exercises in this section in accordance with the hints given in the Notes on the Exercises (which you read in step 2).
- After you have worked on the exercises to your satisfaction, check your answers with the answer printed in the corresponding answer section at the rear of the book (if any answer appears for that problem). Also read the answers to the exercises you did not have time to work. Note: In most cases it is reasonable to read the answer to exercise n before working on exercises n + 1, so steps 12-13 are usually done simultaneously.
- Are you tired? If not, go back to step 7.
- Go to sleep. Then, wake up, and go back to step 7.
- Increase N by one. If N = 3, 5, 7, 9, 11, or 12, begin the next volume of this set of books.
- If N is less than or equal to 12, go back to step 4.
- Congratulations. Now try to get your friends to purchase a copy of volume one and to start reading it. Also, go back to step 3.
Here is the corresponding flowchart:

Why did I post this? Obviously, you wouldn’t read the blog in this manner. But the open-minded approach is exactly what I’m looking for. In programming, you have to be open-minded, and look for a different solution. This is the attitude that I convey when I’m writing this blog, or coding at home; I’d appreciate the same from all my readers.
Oh, and of course, I recommend that everyone pick up a copy of Knuth’s masterpiece. He began working on it in 1962, and he’s just past half-way finished (in terms of volumes). Appreciate all the work. Take it in.
