Software engineering frontiers in computational science and engineering

In 1991, the US Congress passed the High Performance Computing and Communications bill, commonly known as the HPCC bill, enshrining the Grand Challenges as national priorities. The very nature of these problems require the multidisciplinary teamwork of engineers plus computer, mathematical and physical scientists. But many important scientific and engineering problems are solved daily on workstations---these were dubbed the "petty challenges". Both classes of problem are demanding computational systems although quite different from non-scientific systems.We review a philosophical background for CSE, using this development to point out how seemingly innocuous decisions made by engineers and scientists can have disastrous results. Hence, software engineers should see CSE as a professional challenge. Our program is based on studying applications, the algorithms to solve problems arising in those applications, and the mapping of those algorithms to architectures. Using Computing Reviews categories, we outline the subjects required for understanding CSE systems.