The science of computing: shaping a discipline.

*(English)*Zbl 1310.68006
Boca Raton, FL: CRC Press (ISBN 978-1-4822-1769-8/pbk; 978-1-4822-1770-4/ebook). xii, 280 p. (2015).

The book highlights the historical investigation of computer science and its relation to mathematics and engineering.

What is computer science? How can we define it? Is it just a mathematical tool? What role does computer science play in the academic environment and in the industrial environment? All these questions are answered in the book.

There are three definitions of computer science: according to the mathematical tradition, the engineering tradition and the scientific tradition. The book starts with the roots of computer science in mathematics in the times of ancient Greece, indicates the “Language of Thoughts” of Leibniz, describes the contributions of George Boole and Gottlob Frege and continues with the question “what can be computed?” and its relation to Hilbert’s Entscheidungsproblem. The section closes with the Church-Turing thesis. Obviously, computer science is inspired or born out of mathematical problems; however, with the birth of the first electronic computers and programming languages a new debate started of how to teach computing. Is it required that programmers have a strong mathematical background? Can we mathematically prove that a program is correct? The history of programming languages is told from the mathematical and engineering perspectives. The struggle for a correct name for computer science through the recent history is described. For example, in Germany the computer science discipline is called “Informatik”, it is obviously related to the term information. Computer science is the science of the artificial; it is as well an empirical science. Both views are explained deeply with their relation through history.

By reading the book it becomes clear to the reader that computer science is a relatively new discipline whose definition is still not fully shaped. Every one interested in computer science should profit from reading this book.

What is computer science? How can we define it? Is it just a mathematical tool? What role does computer science play in the academic environment and in the industrial environment? All these questions are answered in the book.

There are three definitions of computer science: according to the mathematical tradition, the engineering tradition and the scientific tradition. The book starts with the roots of computer science in mathematics in the times of ancient Greece, indicates the “Language of Thoughts” of Leibniz, describes the contributions of George Boole and Gottlob Frege and continues with the question “what can be computed?” and its relation to Hilbert’s Entscheidungsproblem. The section closes with the Church-Turing thesis. Obviously, computer science is inspired or born out of mathematical problems; however, with the birth of the first electronic computers and programming languages a new debate started of how to teach computing. Is it required that programmers have a strong mathematical background? Can we mathematically prove that a program is correct? The history of programming languages is told from the mathematical and engineering perspectives. The struggle for a correct name for computer science through the recent history is described. For example, in Germany the computer science discipline is called “Informatik”, it is obviously related to the term information. Computer science is the science of the artificial; it is as well an empirical science. Both views are explained deeply with their relation through history.

By reading the book it becomes clear to the reader that computer science is a relatively new discipline whose definition is still not fully shaped. Every one interested in computer science should profit from reading this book.

Reviewer: Andreas Wichert (Porto Salvo)