Great Principles of Computing
Computing is usually viewed as a technology field that advances at the breakneck speed of Moore’s Law. If we turn away even for a moment, we might miss a game-changing technological breakthrough or an earthshaking theoretical development. This book takes a different perspective, presenting computing as a science governed by fundamental principles that span all technologies. Computer science is a science of information processes. We need a new language to describe the science, and in this book Peter Denning and Craig Martell offer the great principles framework as just such a language. This is a book about the whole of computing—its algorithms, architectures, and designs.
Denning and Martell divide the great principles of computing into six categories: communication, computation, coordination, recollection, evaluation, and design. They begin with an introduction to computing, its history, its many interactions with other fields, its domains of practice, and the structure of the great principles framework. They go on to examine the great principles in different areas: information, machines, programming, computation, memory, parallelism, queueing, and design. Finally, they apply the great principles to networking, the Internet in particular.
Great Principles of Computing will be essential reading for professionals in science and engineering fields with a “computational” branch, for practitioners in computing who want overviews of less familiar areas of computer science, and for non-computer science majors who want an accessible entry way to the field.
About the Authors
Peter J. Denning is Distinguished Professor of Computer Science at the Naval Postgraduate School, Monterey, California.
Craig H. Martell is Associate Professor in the Department of Computer Science at the Naval Postgraduate School.
—Tim Bell, Professor, Computer Science and Software Engineering, University of Canterbury
—Leonard Kleinrock, Distinguished Professor of Computer Science, University of California, Los Angeles
—Eugene H. Spafford, Professor of Computer Science, Purdue University