Nice quote about mathematics, science, and engineering.

“The first paradigm,

theory, is rooted in mathematics and consists of four

steps followed in the development of a coherent, valid

theory:

(1) characterize objects of study (definition);

(2) hypothesize possible relationships among them

(theorem);

(3) determine whether the relationships are true

(proof);

(4) interpret results.

A mathematician expects to iterate these steps (e.g.,

when errors or inconsistencies are discovered.

The second paradigm, abstraction (modeling), is rooted

in the experimental scientific method and consists of

four stages that are followed in the investigation of a

phenomenon:

(1) form a hypothesis;

(2) construct a model and make a prediction;

(3) design an experiment and collect data;

(4) analyze results.

A scientist expects to iterate these steps (e.g., when a

model’s predictions disagree with experimental evidence).

Even though “modeling” and “experimentation”

might be appropriate substitutes, we have chosen the

word “abstraction” for this paradigm because this usage

is common in the discipline.

The third paradigm, design, is rooted in engineering

and consists of four steps followed in the construction

of a system (or device) to solve a given problem:

(1) state requirements;

(2) state specifications;

(3) design and implement the system;

(4) test the system.

An engineer expects to iterate these steps (e.g., when

tests reveal that the latest version of the system does

not satisfactorily meet the requirements).”

Comer, D.E., Gries, D., Mulder, M.C., Tucker, A., Turner, A.J., Young, P.R. and Denning, P.J., 1989. Computing as a discipline. Communications of the ACM, 32(1), pp.9-23.