What Is Computer Science the Science Of?

“What field do you work in?”
“Computer science.”
“Ah, a technophile then. Without physics and electronics, you wouldn’t be able to do anything.”
“Not exactly. Computer science is a science.”

What is computer science the science of?

This is a question that may arise when talking with a mathematics professor, a computer engineer, or even Grandma Josette at Sunday lunch. And while it may sound amusing, it deserves a serious answer: otherwise, how could we justify our long research efforts, locked away in laboratories?

The question may raise a smile, but it is far from anecdotal.

Let us quote, by contrast, Hal Abelson:

“Computer science is not really about computers, just as physics is not really about particle accelerators, and biology is not really about microscopes and petri dishes, and geometry is not really about surveying instruments.
The reason we think computer science is about computers is about the same reason the Egyptians thought geometry was about surveying instruments: when a field is in its early stages and you don’t yet understand it very well, it is easy to confuse the essence of what you are doing with the tools you use.”

A Science Applied to Machines?

The main objection, in my view, to the scientific status of computer science comes from the almost systematic association between computer science and computers. Yet, unlike in English, the French term refers to the automatic processing of information (information + automatic), rather than to the science of computers (computer science), even though the term informatics also exists.

This objection remains fragile, however, because computer science does indeed study information systems, whether artificial (such as computers) or natural.

Even if computer science were limited to the application of algorithms on machines, this alone would not invalidate its scientific nature. Such a discipline also irrigates other fields: bioinformatics or fundamental physics, for example, rely heavily on computational models. The resulting simulations are often very close to the phenomena studied, without thereby becoming less relevant or “purely constructed”.

More a Technique Than an Art?

It is sometimes argued that, in the 1950s, the pioneers of computer science believed in a revolution that was not really one, and that the appropriate term would instead be information technology (IT). From this perspective, one would see only technique or art emerging, never science in the strict sense.
The so-called “scientific” aspects would then fall under applied mathematics, or marginally under electronics or physics.

To move beyond this critique, we must return to the fundamental question of computer science. In Computing as a Discipline (1989), it is formulated as follows:

“What can be automated effectively?”

Computer science indeed combines science, engineering, and mathematics in a singular balance. But its foundation remains faithful to a classical (Baconian) conception of science: formulating hypotheses, testing them, and retaining explanatory models that withstand experimentation in order to better understand the world.
This is precisely the domain of theoretical computer science.

A Science of What, Then?

One can always debate the very notion of science, distinguish fundamental from applied science, or oppose hard sciences to human sciences (although understanding the constraints of a project sometimes depends more on psychology than on strictly formal analysis).

Yet examples of a resolutely “computer-scientific” approach abound:

Here, we are fully within what one expects from an exact science.

The remaining question concerns foundations:
to which laws, or to which major questions, should the various branches of computer science be connected?

The exercise is delicate, but far from impossible.

Just as physics is divided into thermodynamics, solid mechanics, or electromagnetism, computer science benefits from being approached transversally. Following the classification proposed by P. Denning, we can distinguish the following sub-disciplines:

Automation

Computability

Communication

Design

Interaction

Not Convinced?

You are not alone. This conclusion is far from unanimous among computer scientists.

Some, such as Abelson, Sussman, or Dijkstra (coming from a strong mathematical tradition) prefer to attach computer science to mathematics and reject the term science.
Others, more technophile (Zuckerberg or Graham, for example), prefer the notions of art or technology.

In my view, however, the introduction of computer science education from an early age, at school (finally!) or as a hobby, gradually leads to a reconsideration of these positions. The central place that computer science occupies today increasingly pushes practitioners to experiment, and therefore to adopt a more and more scientific reading of the discipline.