Knuth's most famous work, the "Art of Computer Programming" series, is justly famed. Bill Gates said something like "If you can read it all the way through, write me and I'll hire you". But most people can't make it through -- they're put off by the use of assembly language, or by the amount of mathematics. I can understand that, and I always wished there was some way to get the essence and excitement of "Art of Computer Programming" without the full treatment. Now there is.
"Selected Papers in Computer Science" succeeds beautifully in showing what its like to be a computer scientist, and how that is related to but different from being a mathematician. At the heart of the book are four essays on "Theory and Practice". Actually, it should be "Practice and Theory", because the only sensible way to progress in any field is to get some practical experience first, and then acquire the theory necessary to understand what you did, and to allow you to do more. Knuth covers this very well for computer science. I am in the habit of dog-earing pages in a book that offer an especially important insight. Looking back at my copy of "Selected Papers", I see that about 40 pages are so marked; an amazingly high ratio for a book of 270 pages. Try a test: read 10 pages from the book at random, if you don't find at least one important insight, then probably this book (and perhaps computer science in general) is not for you. If you do, you can be assured that the full book will give you many more.
Chapter Table of Contents: 0. Algorithms, Programs, and CS 1. CS and its Relation to Math 2. Math and CS: Coping with Finiteness 3. Algorithms 4. Algorithms in Modern Math and CS 5. Algorithms Themes 6.-9. Theory and Practice I..IV 10. Are Toy Problems Useful? 11. Ancient Babylonian Algorithms 12. Von Neumann's First Computer Program (sorting) 13. The IBM 650: An Appreciation from the Field 14. George Forsythe and the Development of Computer Science 15. Artistic Programming Audence: 1) Computer Science faculty and graduate students. 2) Mathematicians. 3) other scientists who want to understand their computer science colleagues. Knuth is best known for his huge corpus The Art of Computer Programming [TAOCP] (at this time vols. I-III) This text (Selected Papers) really isn't for beginning programmers (TAOCP is better for this even if more dense). "Selected" is not a How-to book. It's the Philosophy of the PhD on the computing field. Math: Yes. Selected Papers has a fair amount of algebra. The level of math required to understand and appreciate the book: for several of the papers, the reader needs an understanding of combinatorics: 'n!' as factorial (not exclamination point), running sums, matrix algebra, and a bit of calculus. Other papers have practically no math (the last 3 and the opening chapter). Heavy emphasis appears on the concept of the iterative nature of Algorithms (in contrast to other sciences which seek closed form solutions). Can you read it w/o the math? Sure, but you would be losing major points (read it with a knowledgeable friend). The Reading: I really liked the paper on Toy problems. I needed this earlier in my career. Many computer scientists who like fun but get criticism will like this essay. It alone is worth the price of the book. The easy reading introductory parts of various papers are readable withminimum math and have valuable insights (like Knuth's informal observation that 2% of the general populice feels comfortable thinking algorithmically). The early chapters on algorithms show the importance of experimental randomization methods. The astute review reader will notice 4 chapters (really 4 speeches) on the ideas of Theory and Practice. A lot of this material is redundant, but it conforms to the ideas of stepwise refinement and it shows some of the development of DEK's thinking. Note: he describes; he does not offer solutions. Knuth has an obscure challenge during DEK's address to IFIP (T&P IV), slide 33. I worked toward this without knowing it. I'll be honest with the review reader: I know the author, and he asked me to promote this book. And it's a book well worth promoting. The book is a pleasure to those interested in the field. Chap 4: I sat in the audience for this presentation. Every library should have a copy for inspection if not enough to have on every computer scientist's book shelf (next to TAOCP, and other books by Don)., and it can be a good gift book to scientists.
I left a very good review for the Hardcover edition of this book. It is the SAME book and definitely a must have. Depends on your pocket and your dedication to the subject whether you want to invest in the much costlier hard cover edition or this paperback edition. As a student I bought this cheaper one, but then now since I am working professional, I invested in the hardcover edition so that it remains in my library longer. Regardless, a must buy. I recommend that you read my review of the hardcover edition for more details.
Reading this book helped me to remember why I got into computer science in the first place: it's a whole lot of fun. As Alan Perlis admonished us, we musn't ever lose that.
All of Don Knuth's books express how fun computer science is, but this one does it in a smallish paperback form with content that's easier to digest as bedside or subway reading than some of his other more famous volumes.
All CS students (undergraduate or graduate) should own a copy of this book. It outlines some of the earliest works in Computer Science and is helpful if you are trying to pick research topics or want to learn something specific about a topic. Also the bibiliography will point you to other authorative sources on the same topics. It covers a wide range of CS concepts and definitely is good reference guide.
If this book is your first Donald Knuth's Book, the way you think about Computer Science will change. The author gives us the opportunity to think about Computer Science and Algorithms like a brillant scientist. If you are a student you must read this book... and if you are not, I hope you already have it !
Knuth, if you know, is one of the authorities in Algorithm design and various aspects of computer science. If I remember correctly, he teaches at Stanford. This book is a collection of some of his research papers. It is well organized and can definitely supplement your library. U can read stuff that interests you, especially as a student (undergrad or grad). Definitely will help you if you have similar research interests as Knuth.