Math 157: General Course Outline
157. Software Techniques for Scientific Computation. Lecture, three hours; discussion, one hour. Prerequisites: courses 151A, Program in Computing 10C. Software structures, concepts, and conventions that support object-oriented programming. Identification of class structure, problem partitioning and abstraction. Design and implementation of computer applications requiring scientific computation, visualization, and GUI components. Inter-language interfacing. P/NP or letter grading.
General Information. The goal of Math 157 is to provide knowledge required for scientific/technical computing, which 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 course focuses on the techniques, both abstract and practical, that facilitate the process of "combining" constituent components to create complete applications. The primary theoretical emphasis is on object-oriented design principles and techniques. The primary practical emphasis is upon knowledge required to build applications for UNIX and PC platforms (organization of multi-component codes, inter-language calls, event-driven programming, and static and dynamic libraries).
Both C++ and Java are used in the course. Knowledge of C++ is assumed, but knowledge of Java is not assumed.
Students enrolling in the course should enjoy the intellectual challenge associated with programming.
This course was designed by Chris Anderson and offered for the first time Winter Quarter 1997. Enrollments have been about 30.