The use of computation and simulation has become an essential part of the scientific process.
Being able to transform a theory into an algorithm requires significant theoretical insight, detailed physical and mathematical understanding, and a working level of competency in programming.