Book contents
- Frontmatter
- Contents
- Preface
- A quick tour through the book
- Acknowledgments
- Prologue: Blog entry from Jonathan Hey
- 1 Beginnings of a revolution
- 2 The hardware
- 3 The software is in the holes
- 4 Programming languages and software engineering
- 5 Algorithmics
- 6 Mr. Turing’s amazing machines
- 7 Moore’s law and the silicon revolution
- 8 Computing gets personal
- 9 Computer games
- 10 Licklider’s Intergalactic Computer Network
- 11 Weaving the World Wide Web
- 12 The dark side of the web
- 13 Artificial intelligence and neural networks
- 14 Machine learning and natural language processing
- 15 The end of Moore’s law
- 16 The third age of computing
- 17 Computers and science fiction – an essay
- Epilogue: From Turing’s padlocked mug to the present day
- Appendix 1 Length scales
- Appendix 2 Computer science research and the information technology industry
- How to read this book
- Notes
- Suggested reading
- Figure credits
- Name index
- General index
5 - Algorithmics
Published online by Cambridge University Press: 05 December 2014
- Frontmatter
- Contents
- Preface
- A quick tour through the book
- Acknowledgments
- Prologue: Blog entry from Jonathan Hey
- 1 Beginnings of a revolution
- 2 The hardware
- 3 The software is in the holes
- 4 Programming languages and software engineering
- 5 Algorithmics
- 6 Mr. Turing’s amazing machines
- 7 Moore’s law and the silicon revolution
- 8 Computing gets personal
- 9 Computer games
- 10 Licklider’s Intergalactic Computer Network
- 11 Weaving the World Wide Web
- 12 The dark side of the web
- 13 Artificial intelligence and neural networks
- 14 Machine learning and natural language processing
- 15 The end of Moore’s law
- 16 The third age of computing
- 17 Computers and science fiction – an essay
- Epilogue: From Turing’s padlocked mug to the present day
- Appendix 1 Length scales
- Appendix 2 Computer science research and the information technology industry
- How to read this book
- Notes
- Suggested reading
- Figure credits
- Name index
- General index
Summary
As soon as an Analytical Engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question will then arise – by what course of calculation can these results be arrived at by the machine in the shortest time?
Charles BabbageBeginnings
What is an algorithm? The word is derived from the name of the Persian scholar Mohammad Al-Khowarizmi (see B.5.1 and Fig. 5.1). In the introduction to his classic book Algorithmics: The Spirit of Computing, computer scientist David Harel gives the following definition:
An algorithm is an abstract recipe, prescribing a process that might be carried out by a human, by a computer, or by other means. It thus represents a very general concept, with numerous applications. Its principal interest and use, however, is in those cases where the process is to be carried out by a computer.
Thus an algorithm can be regarded as a “recipe” detailing the mathematical steps to follow to do a particular task. This could be a numerical algorithm for solving a differential equation or an algorithm for completing a more abstract task, such as sorting a list of items according to some specified property. The word algorithmics was introduced by J. F. Traub in a textbook in 1964 and popularized as a key field of study in computer science by Donald Knuth (B.5.2) and David Harel (B.5.3). When the steps to define an algorithm to carry out a particular task have been identified, the programmer chooses a programming language to express the algorithm in a form that the computer can understand.
- Type
- Chapter
- Information
- The Computing UniverseA Journey through a Revolution, pp. 84 - 101Publisher: Cambridge University PressPrint publication year: 2014