Review: Selected Papers on Computer Science
Book Info:
| Description | |
|---|---|
| Title | Selected Papers on Computer Science [Amazon] |
| Author | Donald Knuth |
| Pages | 276 |
This is the most accessible of Don Knuth’s books. Although it was published nearly twenty years ago, it remains a classic in computer science. On Amazon, there is an interesting comment about the book from Peter Norvig (Director of Google Research). The major topic is the origins of computer science during a period when the discipline was still finding its footing. Throughout the chapters, we witness the debates and struggles among scientists over whether computer science is truly a “science” rather than merely a branch of mathematics [Chapters 1, 2, 3].
This parallel makes me reflect on the current state of Deep Learning. Perhaps five or ten years hence, Deep Learning will emerge as a distinct discipline, much as Computer Science separated from mathematics several decades ago.
Several chapters stand out as particularly compelling:
- Chapter 0: a sweeping overview of Computer Science.
- Chapter 1: Computer Science and its relation to mathematics—exploring the difference between modern mathematics and computer science. The author also dives into the analysis of that classic algorithm: hashing.
- Chapters 2 and 3: An overview of algorithms and the author’s approach to solving algorithmic problems. Although published decades ago (1976 – 77), when such ideas may have been novel, these algorithms—shortest paths, searching, and combinatorial optimization—have since become foundational pillars of CS.
- Chapters 6 – 9: Theory and Practice—the essence of the entire book crystallizes in these chapters. Historic texts illuminate the most important aspects of CS.
- Chapters 11 – 13: The history of Computer Science—from ancient civilizations employing algorithms to solve practical problems, all the way to John von Neumann’s pioneering analysis of merge sort.
History of Computer Science and Deep Learning
While reading the book, I had the feeling that the period of 1950 – 1975 perhaps
exploded into computer science research, which is pretty much similar to Deep
Learning nowadays. That was the time when few universities had opened
Computer Science departments and people still debated about the name of this
science, whether its name is “Computer Science”, “Information Technology”,
or “Information Processing”. That is also the time when people thought that
the problem which can only be solved on
How about Deep Learning?
Nowadays, people remain skeptical about Deep Learning in many aspects. Somebody compared it to alchemy because of the lack of rigorous analysis and mathematical fundamentals. However, according to the current development of Deep Learning and avoiding the media hype, I am confident about the future of Deep Learning. At least, in my opinion, it will become an interdisciplinary field and completely transform into “chemistry”. In retrospect, perhaps Computer Science was compared to “alchemy” in the period of 1940 – 50 due to its lack of rigor.
Study about History of Computer Science
I was fascinated by the analyses in detail about “ancient” algorithms as well as the elaborate way to discuss the draft of merge sort from John von Neumann. IMO, this really is the way people should study the history of Computer Science. It is not about memorizing who and when algorithms were created, it is about the motivation and approach which the inventor tackled the problem as well as analyzing the methods in the circumstances in which the technology is limited. Through these insights, we will respect the contribution from algorithms and their authors. In addition, we can gain more methods, approaches for other problems.
Don Knuth is especially interested in this particular subject, there are many videos and documents in which he discussed exhaustively:
- Let’s Not Dumb Down the History of Computer Science: it is worth every minute watching. I love this comment from Youtube: “Discover how discoveries are discovered”.
- History of pattern generation algorithms: [fasc4b]
- Hamiltonian path: [fasc8a].