Scientific Computing
Course Home Page
Spring, 2006

Instructor: Jonathan Goodman
Office hours: Wednesday, 10-12, after class, or by appointment. Office: 617

Teaching Assistant: Gennady Kasyan,
Office hours: Tuesday, 4-5 or 7-8 or by appointment (send email at least 2 hours in advance) until midnight. Office: 607

Department of Mathematics
Department of Computer Science
Courant Institute of Mathematical Sciences

Final exam Thursday May 4 from 7:10 to 9, room 1302


Class communications will be on the NYU Blackboard system. Always check the Message board there before starting an assignment. There often are corrections or hints. If you are registered, use your netid to login to he NYUHome site, then click on "academics" and then "Scientific Computing". Once there, click on "Communication", then "Discussion Board", the "Message board". Please email me with individual issues such as grading but post questions or comments on the message board. I will post announcements and corrections there.

Course Description

This is a one semester graduate course covering the basics of practical scientific computing for mathematicians, computer scientists, physical scientists, and finance. Topics ranging from basic mathematical principles and algorithms of numerical analysis to practical issues ranging from software reliability to performance on modern computing hardware. The outline below contains details of contents.

The prerequisites are linear algebra, multivariate calculus, some computer literacy, and (for the Monte Carlo part) some exposure to elementary probability theory. Students are expected to program in C/C++ from the beginning. With considerable effort, a student could learn C/C++ while taking the course; see below for more on this. I write C/C++ to indicate that students may use C or C++. For the scientific computing software we build in this class, the distinction between C and C++ is monor. Students will also be expected from the beginning to use scientific visualization software. I highly recommend Matlab for this purpose. It is very easy to learn and use and gives high quality plots. A depricated alternative is Excel. Matlab for the PC is available to NYU students through the NYU Computer Store for $99. Matlab and C/C++ environments are also available on the SUN workstation network maintained by the Courant Institute. All students registered for the course are entitled to use this system.

The grade will be based on weekly homework assignments the majority of which involve computing. Students are encouraged to discuss and help each other with assignments with each other but must write software individually. I estimate that the course will require between 8 and 10 hours per week out of the classroom, depending on the student's background. Students will be expected to hand in printouts of the software together with some plots and possibly other output. Students must also include some comments on the results. All assignments must come to me as hard copy. I will not accept fax or email submissions. Assignments will be graded partly on the basis of the quality of the code, including the quality of the comments, clarity of the control structure, modularity, etc.

The text for the course is a series of lecture notes I am writing, which will be posted on this page as they become available.

Outline (to be revised)

Lecture notes


Final exam