# Reference answer for textbooks in subfields other than algorithms

Someone just asked a question on the main site requesting a good introductory text for "Theory of Computation", which I'm guessing is going to get closed as "Primarily Opinion Based".

I agree that such a question is "primarily opinion based," but is likely to be a useful resource for the kinds of people that often ask questions here, and likely to be good "search bait". Additionaly a quick search on "book" shows that we have several open questions about book recommendations for algorithm design and/or analysis.

But for anything other than algorithms we do relatively poorly. (The question goes unanswered, or gets closed.) My question is:

Can we create a reference question for book recommendations? (Or several reference questions, one for each sub-topic, kind of like those pointed to by the meta post Reference answers to frequently asked questions).

I realize (through searching meta) that there is a general dislike for broad reference requests, but I think there is a good argument for making an exception for this case.

• Can you articulate the argument for making an exception in this case? You say there is a good argument, but you don't provide the argument in your question. (And, are you familiar with the standard arguments against book list recommendation questions and "big list of X" questions?)
– D.W. Mod
Jun 9, 2014 at 19:48
• there are some such big lists on tcs.se etc & there is even a tag big-list & despite a lot of high rep user opposition, there seems to be no such official se-wide policy on so called "list questions"
– vzn
Jun 12, 2014 at 4:24
• this 14v Q got migrated from tcs.se computer science books for young adults. dislike blanket policy & think that openminded "occasional exceptions" to antilist policy are at least worth considering on case-by-case basis.
– vzn
Jun 12, 2014 at 5:23
• WL vote for you to create the list by editing your post here, youve already halfway done it. :) see also tcs.se What Books Should Everyone Read? and What are the recent TCS books whose drafts are available online?
– vzn
Jun 27, 2014 at 16:41

But for anything other than algorithms we do relatively poorly.

Yes, this is the usual fate of book lists on Stack Exchange. The medium is not conducive to this kind of content.

Can we create a reference question for book recommendations?

I don't follow: having established that they don't work, let's go and do it?

You speak of making an exception — but why?

I can see one way in which book recommendations can work: when rather than calling for one book per answer (which ends up as a jumble of duplicates, irrelevancies and incoherencies), a question calls for a curriculum. This means that each answer should:

• list as many books as are necessary to cover the subject;
• omit books that are redundant, or posits them as alternatives;
• explain how each book fits in the context of teaching a course or learning by one's self.

This also means that we as a community must police such answers, and in particular ensure that “maybe try this one book it's great” answers are deleted.

Algorithm books on a range of topics is a variation of this — “given my budget, what books should I buy for my library?”. It similarly calls for answers that spend the whole budget, as opposed to single-item answers. Even there many answerers just added their items as separate answers; only one answerer really tried.

Books to prepare before reading Knuth's The Art Of Computer Programming (TAOCP) is a bit different: it has a precise goal in mind. As it happens, the correct answer to that question happens to list 0 books.

https://cs.stackexchange.com/questions/10042/book-to-learn-algorithm-complexity I've just closed, neither the question nor the answer seem salvageable.

Book for algorithms beyond Cormen is icky. It's very open-ended and has mediocre but not catastrophic answers, I've left it open for now.

I've edited Theory of computation introductory curriculum in this vein. Of the two already-posted answers, one asserts that one book is enough for a course, so I've left it alone; the other was just making conversation and I've deleted it.

• I had in mind the following successful but "primarily opinion based" questions from cstheory. "what's the most elegant algorithm?" 89 answers, 90944 views. "What's your favorite paper?" 68 answers, 90962 views. "Which algorithms are actually useful?" 29 answers, 136763 views. Those are 3 of the top 4 voted questions. Jun 9, 2014 at 1:41
• @WanderingLogic Top-voted doesn't mean useful… these questions tend to get upvotes meaning “hey, I want to participate too!” rather than “hey, that's useful”. Researcher-only sites are more disciplined than general-purpose sites, so these threads work a bit better (“best programming book” on SO has at least a dozen answers to say K&R, and at least two “Zen and the Art of Motorcycle Maintenance”…). But still, I don't see how to get value from those CSTheory threads: they're far too broad; even if the answers are somewhat relevant to TCS, most are irrelevant to a given reader. Jun 9, 2014 at 7:52
• actually convention is against so-called "list questions" across many/most sites, but there is apparently zilch "official" se policy on these types of questions.
– vzn
Jun 12, 2014 at 4:22