The main exception might be high-assurance systems. They require clear description of requirements, formal specification of design + goals, proof one embodies the other, test cases that show it empirically, replication by third parties, and hostile review (pentesting) of all of that.
Praxis’ method was a practical application of these concepts used in industry:
Funny you ask this question, since yesterday there was a HN post about Herbert Simon.
Here is Allen Newell, Alan Perlis, and Herbert Simon's response (1967) to your question about whether computer science is even science. For context, the three of them are Turing Award winners and early pioneers of computer science.
https://www.cs.cmu.edu/~choset/whatiscs.html
Professors of computer science are often asked: "Is there such a thing as computer science, and if there is, what is it?" The questions have a simple answer:
Wherever there are phenomena, there can be a science to describe and explain those phenomena. Thus, the simplest (and correct) answer to "What is botany?" is, "Botany is the study of plants." And zoology is the study of animals, astronomy the study of stars, and so on. Phenomena breed sciences.
There are computers. Ergo, computer science is the study of computers. The phenomena surrounding computers are varied, complex, rich. It remains only to answer the objections posed by many skeptics.
It is a side effect on how it is called in US and some other english speaking coutries I guess.
What people in US call computer science, in Portugal is a math degree major, mostly called something like Computing Applied Maths.
Computer related degrees are called Informatics Engineering, where computer science subjects are mixed with software engineering content, the degree is certficied by Engineerings Order, and is protected professional title.
Or you have Business Informatics, more tailored to current software being used in companies with little theory, more focused in management stuff.
Very similar in Italy as well, where the math side is just called Informatics and the engineering side Informatics Engineering. The former is typically part of the hard maths department, the latter of Engineering. There is significant overlap of course, and both degrees allow being professionally certified by the Engineering Order.
It’s as much a science as mathematical physics, I would suppose? You can make predictions (scaling of an algorithm, correctness of a concurrent algorithm) and test them empirically.
Some people might call pure math a “science”, but this is at the very least applied math (ie more connected to physical reality than pure math).
I like to call it non-material science :) Sure call it math, but studying information and computation gets into what is logically or combinatorically possible, the nature of chaos and symmetry. not just a little system of manmade manipulable symbols.
Those are not science.