Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The science of computing : shaping a discipline
Tedre M., Chapman & Hall/CRC, Boca Raton, FL, 2014. 292 pp. Type: Book (978-1-482217-69-8)
Date Reviewed: Apr 7 2016

What is computer science? Is it art, science, engineering, or mathematics? This book attempts to define “computer science” and lay the groundwork for making it a discipline on its own. Specifically, the book addresses the following: What is the identity of computing and can computing be regarded as a scientific discipline?

It is very difficult to shape a discipline. This means to set its fundamental core, describe its principles, and refine the basis of its manifestation. So, in order to shape the computing discipline, the author relies on three well-shaped disciplines: mathematics, engineering, and science. He explains them thoroughly in the first part of the book. Then, he builds analogies between each of these disciplines with the computing discipline. For instance, in Part 2, he makes a comparison between mathematics and computing--what they have in common and how they differ. In Part 3, the author tackles the technical aspect of computing from an engineering point of view. Both computer hardware engineering and computer software engineering are investigated. In Part 4, the most important part of the book, computing as science is revealed.

As I just mentioned, in Part 2, the author studies the link between mathematics and computing. He claims that computing can be characterized “as a discipline of mathematical nature.” He further supports the argument by relying on Hoare’s four “self-evident” computing principles: computers are mathematical machines, computer programs are mathematical expressions, a programming language is a mathematical theory, and programming is a mathematical activity. In chapters 2 to 4, the author lays down the roots, origins, and challenges of the computing discipline, starting from Leibniz’s automatic machine, passing through the mathematical theory of the universal Turing machine, and reaching the formal verification debate of computer software.

It is absolutely conceivable to acknowledge the tie between mathematics and the computing discipline. But, eventually, the latter evolved beyond pure theory and formalism; it touched the world of engineering.

In Part 3, specifically chapter 5, the author details the history of engineering the modern computer (the stories of the ENIAC and the EDVAC are well elaborated). Then, he focuses on the origins and consequences of the stored-program concept; the idea of storing program instructions in the same storage and in the same way as its data shifted the academic attention from computer engineering to programming. While the research in programming was evolving, programming itself remained “a black art that lack[ed] standards.” Hence, in the late 1960s, software engineering came more into focus and was “accepted as a central part of the academic discipline of computing.”

Software crises and struggles are well presented in chapter 6. Intriguing laws like Moore’s law, which states that “the number of transistors on integrated circuits doubles every two years,” and Wirth’s law, which states that “software is getting slower more rapidly than hardware becomes faster,” are emphasized. The author claims that software engineering remains engineering, not science, due to the evolving characteristic of the computing discipline (for example, distributed computer systems, their complexity, and the variety of consumer devices).

Part 4 investigates the science of computing. In chapter 7 of this part, the author explains the birth and adoption of the name “computer science” in the world. According to Tedre, there is no use of the term before 1958, inclusively. He says that the term “computer sciences” in its plural form was first coined in a paper by Louis Fein that was published in the Communications of the ACM in 1959.

In chapter 8, the author discusses the nature of the science of computing. Specifically, if computing is science, then it is the science of what? He answers the question by referring to Denning, in 2007: “Computing is the study of natural and artificial information processes.”

Besides, the author brings our attention to the fact that if we choose a bottom-up approach to define the field, by capturing similarities in its practices, then we are confronted with an expanding number of ongoing new applications. On the other side, the author continues, if we attempt to fix a definition of the field and try a top-down approach to delineate its practices, thereafter we are also confronted with another problem: the assurance of exact and truthful applicability of practices. So, according to the author, the result of any of these approaches has indefinite outcomes. However, studying such approaches is interesting because it will help us illustrate the principles of the field. For instance, the author refers to Denning’s framework of the “great principles of computing,” which adopts six windows that define the structure and operation of computations. The windows are illustrated as the edges of a hexagon and called “computing mechanics.” They are communication, computation, recollection, coordination, evaluation, and design.

The author proceeds to describe the methodology in the computing discipline, which is well exposed in chapter 9. He provides quantitative proofs, which show that the application and importance of a specific method (for example, data analysis, field study, concept implementation, mathematical analysis, case study, and so on) vary depending on the computing field in which it is applied; even more, the methodological aspect of computing is based on individual experience.

Part 5 concludes the book.

This book is deep, theoretical, philosophical, and very educational. It is based on a PhD thesis that claims that computing can be regarded as a scientific discipline. However, it proves and concludes that computing is neither a single unique discipline nor a multi-discipline; it is a living discipline. This fact strengthened my belief that “computer science” inherits science, engineering, and mathematics in its core, while it continually transcends its disciplinary roots in an ongoing and expanding manner with no foreseen frontiers or limitations. Those who are interested--who have the will, drive, and curiosity to excavate the identity of computer science--should read this book. It is recommended as a reference and a text to rely on when defending the identity of the wonderful computing discipline.

Reviewer:  Mario Antoine Aoun Review #: CR144302 (1606-0394)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
History of Computing (K.2 )
 
 
Computers And Society (K.4 )
 
 
Physical Sciences And Engineering (J.2 )
 
 
The Computing Profession (K.7 )
 
Would you recommend this review?
yes
no
Other reviews under "History of Computing": Date
Binding time: six studies in programming technology and milieu
Halpern M., Ablex Publishing Corp., Norwood, NJ, 1990. Type: Book (9780893916916)
Sep 1 1993
An interview with Fernando Jose Corbató
Frenkel K. Communications of the ACM 34(9): 82-90, 1991. Type: Article
Sep 1 1992
Route 128
Rosegrant S., Lampe D., Basic Books, Inc., New York, NY, 1992. Type: Book (9780465046393)
Jun 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy