6
$\begingroup$

Many people say that TAOCP is not supposed to be read as a book (actually a volume of books), but if I decide to go that way, which math/computer science books/topics do I need to study to help me follow it? There is a related question on stackoverflow but I would like to read the suggestions of cs.se users.

$\endgroup$

migrated from cstheory.stackexchange.com Feb 15 '14 at 22:55

This question came from our site for theoretical computer scientists and researchers in related fields.

  • $\begingroup$ I just noticed that there is also a cs.se site. Moderators please decide if the question needs to be migrated $\endgroup$ – faif Feb 15 '14 at 17:31
  • 1
    $\begingroup$ To be honest, I don't think this is a good match for any Stack Exchange site. It's largely opinion-based, which doesn't really work here. $\endgroup$ – David Richerby Feb 15 '14 at 18:54
  • 2
    $\begingroup$ @DavidRicherby I don't see how questions like "What books should everyone read" are a good fit and mine isn't. $\endgroup$ – faif Feb 15 '14 at 21:17
  • $\begingroup$ It's an issue that has been raised recently but it's fair to say that there's not much consensus. This meta discussion didn't get very far. $\endgroup$ – David Richerby Feb 15 '14 at 21:53
  • 2
    $\begingroup$ @faif On the contrary, “what books should everyone read?” is extremely open-ended and not a good fit for SE. “Necessary background for book X” is a better fit, but in this particular case: 1. it's a huge book (series), are you really going to read everything? 2. Normally the introduction of the book should tell you. $\endgroup$ – Gilles 'SO- stop being evil' Feb 15 '14 at 22:53
13
$\begingroup$

Don Knuth is a teacher, and is always very thorough when he writes. So one should expect that he states all prerequisites in his books.

To ascertain that, I went to look in my own issue of the first volume.

Indeed the preface states some prerequisites on page v, which he sums up into "the single requirement that the reader should have already written and tested at least, say, four programs for at least one computer".

Starting page viii, he gives a few words regarding mathematical content. "the material has been organized so that persons with no more than a knowledge of high school algebra may read it, skimming briefly over the more mathematical portions; yet a reader who is mathematically inclined will learn interesting mathematical techniques [...]". He calls his organization a dual level of presentation.

Later he confirms that "a knowledge of elementary calculus will suffice for most of the mathematics in these books, since most of the other theory that is needed is developed herein ..."

Hence my best advice is to find out what you need by first reading the prefaces of the various volumes of TAOCP in the library. I suggest adding some lighter reading, such as comics. You may need it.

A word of warning though. Knuth tends to be too optimistic regarding the brains of other people.

$\endgroup$
  • 1
    $\begingroup$ "comics"? which ones? =) lets start a question for that :p $\endgroup$ – vzn Feb 16 '14 at 20:45
  • 2
    $\begingroup$ Clearly, "Understanding Comics" by Scott McCloud is the one you want to read first. $\endgroup$ – Pseudonym Feb 16 '14 at 22:44
3
$\begingroup$

I endorse everything in babou's answer, but I'm going to suggest one book which may be helpful.

"Concrete Mathematics: A Foundation for Computer Science" by Graham, Knuth and Patashnik is a textbook in a way that TAOCP isn't. Moreover, in a sense, it is a summary of the maths that Knuth used throughout his career (apart from the formal language stuff; people forget that Knuth's greatest research contribution to computer science is actually the theory of LR parsing) in convenient textbook form.

$\endgroup$
  • 1
    $\begingroup$ Thanks for the endorsement. However I would mitigate your statement about LR parsing. It was an important and remarkably analyzed theoretical result as well as an understanding of the techniques and practical limitations of deterministic pushdown parsing, which was very useful at a time of limited computing power. IMHO it has turned into a dead-end baroque technology whih is wasting the time of countless engineers, students and teachers, and distorting the systems they produce. Computer technology is far too conservative. No blame on Knuth. $\endgroup$ – babou Jan 22 '17 at 12:18
  • $\begingroup$ I agree with your assessment of LR parsing in practice (as opposed to in theory), although again I'd mitigate that by noting that one useful effect of the ubiquity of LR parsing is that everyone now agrees that DCFLs are the gold standard for programming language syntax. We do tolerate nondeterminism/ambiguity where appropriate, but the days of Fortran 77, pre-ISO Prolog, and Van Wijngaarden grammars are behind us. $\endgroup$ – Pseudonym Jan 22 '17 at 23:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.