The evolution of both scientific and engineering developments results in an ever growing demand to address problems of increasing complexity in a swift and precise manner. Numerical simulations using digital computing devices are a valuable asset in meeting these demands. The resulting evolution of digital computers has lead to the development of several programming techniques and paradigms, which are shortly outlined. While it is critically important to be aware of the capabilities as well as the limitations of the deployed digital tools, which are also briefly touched upon, it is not sufficient for the setting of scientific computing, since at least a rudimentary understanding of the problem domain to be treated is also required.
As both purely scientific as well as applied engineering make extensive use of mathematical formalisms, it is only natural to use the mathematical structures as a guide. This is especially important in order to transcend the still comparatively primitive abstractions, consequently also the implemented structures. Therefore a two pronged approach has been chosen, presenting on the one hand the theoretical outline, including the mathematical backbone as well as a physical application of the outlined mathematical structures, while on the other hand showing realizations of the described structures.
Thus, the two parts mirror each other as both progress from essential base components, such as sets and algebraic structures, to form abstract constructs of increasing complexity and sophistication, including entities from differential geometry, integration, and probability.
The components are then put to use in order to model what is perceived as physical reality with a special attention to the field of dynamics, including even a small foray into the field of quantum mechanics. Again, the corresponding sections of theory and treatment in the environment of application attempt to mirror each other.