Computational science should not be confused with computer science. Computer science is the study of algorithms, languages, and machines for solving problems. It is related to, but distinct from, computer engineering, which focuses on the design and construction of computing machines. Computational science focuses on a scientific or engineering problem and draws from computer science and mathematics to gain an improved understanding of the problem area. Even though computational science is quite distinct from most present day computer science, many of the topics typically considered to be in the domain of computer science are of much value to the computational scientist. For example, when choosing a numerical algorithm to map to a particular computer architecture, the computational scientist must be aware of fundamental issues from areas such as data structures and software design.

Figure 1 Computational Science View figure

The first requirement of a computational scientist is to have command of an applied discipline. The effective computational scientist must also be familiar with leading edge computer architectures and the data structure issues associated with those architectures. A computational scientist must have a good understanding of both the analysis and implementation of numerical algorithms and the ways that algorithms map to data structures and computer architectures. A familiarity with visualization methods and options is also necessary for computational research. For instance, recently, scientific visualization for the preprocessing of data sets and the interrogation of massive amounts of computational results has become an essential tool of the computational scientist. Thus a computational scientist works in the intersection of (1) an applied discipline; (2) computer science; and (3) mathematics. Computational science is a blending of these three areas to obtain a better understanding of some phenomena through a judicious match between the problem, a computer architecture, and algorithms.