This still timely collection of papers by Donald Knuth, "the father of computer science," surveys the field of computer science and the nature of algorithms. Topics covered here include the relationship between computer science and mathematics, the connections between theory and practice, and the known limitations on what can be computed in a reasonable amount of time. AddThis still timely collection of papers by Donald Knuth, "the father of computer science," surveys the field of computer science and the nature of algorithms. Topics covered here include the relationship between computer science and mathematics, the connections between theory and practice, and the known limitations on what can be computed in a reasonable amount of time. Additionally, Knuth discusses the history of computer science from ancient Babylon through today.Particularly clear and accessible, these essays were written for a general audience rather than specialists in computer science. They are thus a valuable resource for not only computer scientists but for anyone interested in the history of this fascinating field....
|Title||:||Selected Papers on Computer Science|
|Number of Pages||:||276 Pages|
|Status||:||Available For Download|
|Last checked||:||21 Minutes ago!|
Selected Papers on Computer Science Reviews
“Selected Papers on Computer Science” is a poorly curated collection of essays, speeches, and articles authored by Donald Knuth (the father of algorithmic analysis in computer science). There are a few interesting chapters that stand on their own, but as a whole, this is more-or-less a dump of random memos that is hard to recommend to even the most die-hard CS enthusiast.The book starts off on a high note. The first few chapters focus on the relationship between computer science and mathematics, and for the most part, they’re pretty insightful. Knuth is a mathematician by training, and he does a good job explaining how computer science both draws on - and inspires - mathematics. Some of his examples are unnecessarily technical and discussed well past the point of pedagogical value, but he occasionally makes some interesting comments: Sometimes this tolerance for diversity is a weakness of computer scientists, because we don’t try as hard as we should to find uniform laws. But sometimes it is a strength, because we can deal fluently with concepts that are inherently nonuniform. (110)Of course, almost all of these essays are available via internet, and things go downhill pretty quickly from there. A few chapters in, you’re presented with four transcribed talks on the relationship between "theory and practice" that are, in places, word-for-word identical. Later on, there’s an examination of the extent to which Babylonians thought algorithmically, which - I’ll be the first to admit - sounds really interesting, but turns out to be nauseatingly, way-too-caught-up-in-the-details boring.The same can be said of the last few chapters in the book, in which Knuth muses, in WAY too irrelevant, low-level terms, about how fun it used to be to write assembly code for his IBM 650: RUNCIBLE had four version called AX, AY, BX, and BY, where X stood for object code that invoked subroutines for floating-point arithmetic while Y stood for object code that used the 650’s optional floating-point hardware; A stood for SOAP output, while B stood for directly loadable machine language problems punched five per card (bypassing the need for assembly). (232) … you get the idea.The preface suggests the book “assembles under one roof all the things (Knuth has) written about computer science for people who aren’t necessarily specialists in the subject,” but this statement feels like an after-the-fact attempt to find a common theme to tie together a random collection of un-vetted memos. Sure, a few of the chapters were interesting, but on the whole, this "book" was a huge letdown.Notable quotes:“People like myself look at mathematics as a device for articulating computer science, but there is of course a converse relation: many mathematicians see computer science as an instrument for developing mathematics.” (116)“It has often been said that a person does not really understand something until after teaching it to someone else. Actually a person not really understand something until after teaching it to acomputer, i.e. expressing it as an algorithm.” (10)“Methods are more important than facts. The educational value of a problem given to a student depends mostly on how often the thought processes that are invoked to solve it will be helpful in later situations.” (176)
There are some very interesting papers in here. I'd be lying if I claimed to have understood every mathematical manipulation Knuth performed, but I think I got the gist of each chapter. I especially liked the lectures on theory and practice.
Buy this book. I'm helping the author out. 8^) OK, he's a friend. OK, buy this book as a gift for your computer scientist friends if you don't read this book yourself.This is a book to understand the algorithmic philosophy of computer science. It's the first of 8 Selected Papers books by the author as he works on his magnum Opus The Art of Computer Programming (TAOCP). Algorithmic is the author's specific professional bias (get some one else if you want the database perceptive (I would tend to doubt that one exists yet).Every CS PhD should own this book (you own TAOCP, you might as well own this book, too (and the 7 other Selected Papers volumes).The primary selected paper began as a lecture to honor Knuth PhD adviser Marshall Hall (a mathematician) at Caltech. I was lucky enough to be in the audience, this was my second time meeting him before a long informal period of email communication (before he declared his end to email). Don spoke on the contrast between mathematics and computer science.The answer joke at the time (about 1980) about the difference was "Oh, about $10,000 per year." The comeback was "$20,000, that was last year's figure". This joke is not in the book.The paper was published in the American Mathematical Monthly and basically contrasts the difference between mathematical thinking and algorithmic thinking, among other things of note are the concept of associated costs for/of operations (which are not generally considered in mathematics). Also an emphasis on direction solution versus iterative and recursive solutions (this latter point is changing).If you aren't interested in read math, by now, buy this book as a gift to your favorite CS PhD or high-end programmer.These papers except for a collection of about 4 in the middle aren't linked. The exception are DEK's iteratively refining his ideas on algorithms as a concept. Of the other papers is a nice one about the usefulness of "Toy Problems". While published in a defunct obscure newsletter, I could have used this paper, even with its typo, earlier in my career. I thought it was a brilliant paper. I drove to a library over 100 miles to obtain a copy. Decades after printing, I unintentionally earned my first check from Don. It wasn't necessary.I like the various other papers in this volume for my own various personal professional reasons including the fact that one Challenge offered by Don, he said I came closest so far answering his question about 1 second performance characterization, especially since it required a non-standard computer architecture which I had the closest to any type known (a Cray Y-MP/C-90 (3 different ones actually)). You can see a more detailed review and summary I wrote on Amazon as well as a review by my ex-Division Chief Peter Norvig. If you are really generous, buy the latest editions of Knuth's TAOCP for your friends: yes, I know not cheap and not complete yet. I promise to minimize his distractions. Also buy his other 7 volumes in the Selected Paper series including topics on algorithms, programming languages and culminating in a volume on Fun and Games (#8). All very geeky. If you aren't geeky, I've warned you, but them for your geeky friends, they make great gifts. I read most of vol. 8 last year, hence the date.
A good, solid collection of CS papers from one of the industry's most well known members. Some of the papers are quite dated, but there is still a lot to learn from them, especially the Theory vs Practice papers, something very relevant to the current situation where some scripting can be done without much knowledge of the underlying theory and algorithms.