In the American English term “Computer Science”, the emphasis is on the computer (i.e., on Aristotle’s formal cause). However, as Edsger Dijkstra allegedly put it once, Computer Science is no more [only] about computers than astronomy is [only] about telescopes, and indeed one often sees the term “Computing Science” instead, where the emphasis is on the processing of data on computers (i.e., on Aristotle’s efficient cause). In Denmark, Peter Naur proposed the terms “datalogi” and “Data Science”, where the emphasis is on the representation of information as data on computers for processing (i.e., on Aristotle’s material cause). In Germany, Karl Steinbuch proposed the term “informatik” in 1956, and in France, Philippe Dreyfus proposed the term “informatique” in 1962, terms that are rendered in English as “informatics”, where the emphasis is on the automated treatment of information by processing data on computers (i.e., on Aristotle’s final cause).
To sum up, data are representations of information in a computer, and these representations are processed to carry out a computation. And while the term “Computer Science” is the accepted one, alternative terms exist. For example,
Data represent information and is built using data constructors:
In a nutshell, the representation is separate from what is represented:
Harald: So a number is not its name?Mimer: Right. A number is not its name.Harald: So much for the multiplication tables.Mimer (surprised): The multiplication tables?Harald: Yes. We had to learn them by heart.Mimer: Well, they are still valid any way we look at them.Harald: Yes, but suddenly they are less simple.Mimer: Why? They also work in another language than the one you grew up with.Harald: Harumph.
Several of René Magritte‘s paintings illustrate this point, e.g., The Treachery of Images where the painting of a pipe is accompanied by the words “Ceci n’est pas une pipe” (“This is not a pipe”), a point Walter Jon Williams developed eloquently in his novel This is not a game.
A computer processes data. Given some input data that represent input information, it can:
In so doing, the computer carries out a computation:
A program is the recipe the computer executes to process data: a program computes a function from input information to output information.
A programming language is the language in which a program is written: a notation to express computations. There are many notions of computation (i.e., ways of representing information and ways of processing data), and for each of these notions, there are many notations (i.e., many programming languages).
What we need are notions, not notations.—Carl-Friedrich Gauss (quoted by Paul Lockhart in his Mathematician’s Lament)
Loki: It would indeed be nonsensical to refer to Astronomy as “Telescope Science”.
Mimer: Glad you agree.
Loki: By the token above, at the beginning of this lecture note, Astronomy should be referred to as “Telescoping Science”.
Mimer (who didn’t see this one coming): Telescoping Science.
Loki: Or better, on the ground that Computer Science is about data (cf. Data Science), Astronomy should be called Star Science, based on its etymology.
Mimer (recovering): You know what, Loki, you are right. And by that logic, top astronomers would be nominated to the Star Academy. It would make so much more science, I mean sense.
Loki: Glad you agree. Next step: meteorology, the science of meteors.
Added Loki’s closing quip about meteorology [16 Aug 2020]
Streamlined the opening section and added the postlude [11 Sep 2019]
Added the diagram [02 May 2019]
Created [14 Jan 2019]