Software Techniques for Scientific Computation |
||
Course Overview Scientific/technical computing consists of combining mathematical models, algorithms, software and hardware units in such a way as to provide computational procedures that are useful for the solution of scientific/technical problems. The purpose of this course is to focus on the techniques, both abstract and practical, that facilitate the process of "combining" constituent components to create complete applications. The primary theoretical emphasis will be object oriented design principles and techniques. The primary practical emphasis will be upon knowledge required to build applications for PC platforms (organization of multi-component codes, inter-language calls, event-driven programming, static and dynamic libraries, etc.) The lectures in the first part of the course will follow the book ``Object-Oriented Modeling and Design" rather closely. In the latter part of the course we will concentrate on the process of creating windows based applications that have a scientific computing component. As discussed in the books preface, the books orientation is towards development based upon "modeling objects of the real world and then using the model to build language-independent design organized around those objects". Since the goal of the course is to provide knowledge required for scientific/technical computing, we will be expand this orientation to include the modeling of objects in the "mathematical" world. We will be using QT for creating platform independent user interfaces. There will be weekly assignments, a midterm and a final. Requirements: Upper division standing. PIC 10AB. At least one, and preferably two quarters of Numerical Analysis. You should enjoy the intellectual challenges associated with programming. |
||