The theme of this course is Richard Hamming's famous dictum, "The purpose of computing
is insight, not numbers." The course introduces students in quantitative
disciplinesEngineering, Physical and Biological Sciences, Economics, Applied Mathematics or Commerceto techniques of mathematical modeling, as well as the numerical solution of problems for which closed-form, analytic solutions are unknown.
The course will cover theoretical and practical aspects of numerical analysis carried out on digital
computers. The examples will be drawn from various fields including physics, engineering,
ecology, and economics. The subjects covered will include solution of equations, evaluation of
functions, and analysis of data.
Under the rubric of practical aspects will be emphasis on key elements of computer
programming technique: clarity, simplicity, maintainability, documentation, and safety; as well as
testing and debugging. Issues of algorithmic efficiency and execution speed will be discussed in
detail.
Language: Students may use any programming language for exercises and assignments. However, since the instructor is only familar with FORTRAN, BASIC, Pascal, C and Forth, only programs in these languages will receive comments and suggestions. Programs submitted in other languages (C++, Logo, Lisp, Scheme, Awk, Perl, APL, Python, Haskell, Eiffel, Java, etc. etc.) will be graded on a results-only basis. Languages with built-in black box solversMaple, Mathematica, Matlab or MathCad, e.g., as well as certain spreadsheetsare acceptable only to the extent that the programs submitted to fulfill assignments eschew such features. My reason for this is that black boxes negate the primary goal of understanding the algorithm (although I encourage students to use such facilities to check their work).
Prerequisites: Students are expected to have mastered differential and integral calculus; to possess
some familiarity with linear equations, matrices and determinants; and to be comfortable with
complex arithmetic. The student should be able to program in one or more of the permitted languages.
Forth systems that operate under MS Windows 9X+ are available to students wishing to gain
familiarity with that language.
Grading
For the life of me I do not know how to give a fair in-class exam in this course. So the final grade will be based on homework, a minor project (aka midterm), and a major project.