area
sect 1
Texts
Notes on Texts
Books for computer science can generally be divided up into several
categories : introductory texts, exploitation texts,
research monographs,
professional/upper level undergrad/graduate level education
and reference.
Theodore Sturgeon (a science fiction writer) once said about science
fiction : "Ninety percent of science fiction is shit. But then, ninety percent of everything is shit."
This is as true in computing as in any field (including english literature). The problem is that the ninety percent is tossed at instructors free by publishers that want to sell more books and wading through this to find the good stuff takes a lot of effort. However, there are some very good books in the field and one of these days this will point to a web page listing some of them.
Introductory Texts
For some fields Sturgeon was overly optimistic. Introductory texts are
such a field. For first year CS books the number is probably above 99
percent. Most of these are written primarily to keep students content
and uncomplaining, and are aimed at students both in the target field and
at students who think that that field (whatever it may be) is a complete
waste of time and whose goal is to take the course, learn as little as
they can manage
and get on to something else quickly.
Think about how long you'll generally keep such a text - for
the most part it will be the term you take the course and after that
you'll throw it out or sell it back to the bookstore.
Note that getting
a book from the bookstore, using it for a term and selling it back usually
amounts to renting the book for 10 weeks. Figure out how much that works
out to per week and decide if its worth it to you.
If it looks like it belongs in high school or elementary school,
its probably a good bet that it does.
exploitation books
Exploitation books are the ones that tend to fill the shelves at big bookstores. "3D Graphics for Visual Basic", "Programming for Emptyheads" and the like. Avoid these. In general, avoid most books that use the word "for" as
part of the title. There are exceptions, but looking at my shelves, I don't see anything with a "for" in the title that is worth keeping. "In" and "Using" are also words you should consider with suspicion, but I do have a couple of good books that have titles including "Using".
Nobody really likes reading code. Books full of code are thus full of pages you won't read. Why then pay for them?
Smiley faces or stick pictures of people in the text are signs that you should run away quickly.
Other clues that a book might be junk include two color pages. Lots of simple drawings are also good indicators. If it looks like its aimed at someone in high school, its probably not worth buying or keeping.
Other Educational Books
Knuth's "The Art of Computer Programming" does have exercises
and problems. Some of these have probably been used for PhD
dissertation topics. This series belongs on every CS
professional's bookshelves.
These are far more condensed, less likely to talk down to you and more
likely to contain real information.
Reference Books
Reference books are just that. They are references to a language
or system. Manuals. Specification documents.
References are tough reading usually. However, if you are going to
write real programs in a language or system you cannot do without them.
If you're going to be a computer professional, you should learn to read
them now - and you should buy and keep reference books in any language
or system that you use a lot.
Research Monographs
Research monographs are usually the result of a couple of years of
hard work by an expert in the field. They are only rarely (in CS
at least) really "research" topics as such - instead being advanced
technical introductions to projects and ideas that are a bit more on
the fringe. You can learn quite a bit from one of these and in advanced
courses they're good to use as texts.
Books to Buy
In general, I try to pick texts from the last few groups. They treat the reader
as an adult and as someone who knows the field.
I will try to select decent introductory texts for freshman level courses.
After that though, I assume you've decided CS is your major or at least
an important interest and I'd prefer to treat you as an adult and a
professional. I rarely (if ever) assign problems directly out of the
books so you are free to purchase them or not as you wish, and to purchase
them from whatever source seems the best.
Most of the books I get free from
the publishers are worth just about what I pay for them. The
good ones sell themselves so the publishers don't have to send
them out.
Search (someday)
Notes
References
Oh foo