# Computer Science

This course is the same as the course G63.2043.001 SCIENTIFIC COMPUTING
The course description below is copied from the math department webpage:
http://math.nyu.edu/courses/course_descriptions.html#G63.2043.001

3 points. Fall term. Wednesday, 5:10-7:00, A. Rangan.

Prerequisites: undergraduate multivariate calculus and linear algebra. Programming experience strongly recommended but not required.

This course is intended to provide a practical introduction to computational problem solving.
The order in which the subject material will be covered will approximate the following outline:
- The notion of well conditioned and poorly conditioned problems, with examples drawn from linear algebra
- The concepts of forward and backward stability of an algorithm, with examples drawn from floating point arithmetic and linear-algebra
- Basic techniques for the numerical solution of linear and nonlinear equations, and for numerical optimization, with examples taken from linear algebra and linear programming
- Principles of numerical interpolation, differentiation and integration, with examples such as splines and quadrature schemes
- An introduction to numerical methods for solving ordinary differential equations, with examples such as multistep, Runge Kutta and collocation methods, along with a basic introduction of concepts such as convergence and linear stability
- An introduction to basic matrix factorizations, such as the SVD, along with basic techniques for computing matrix factorizations, with examples such as the QR method for finding eigenvectors
- Basic principles of the discrete/fast Fourier transform, with applications to signal processing, data compression and the solution of differential equations.

This is not a programming course but programming in homework projects with Matlab/Octave and/or C is an important part of the course work.
As many of the class handouts are in the form of Matlab/Octave scripts, students are strongly encouraged to obtain access to and familiarize themselves with these programming environments.
No single textbook is required for this class, but there are several optional texts which are recommended:
Numerical Linear Algebra, David Bau III & Lloyd N. Trefethen, SIAM, 2000;
Scientific Computing with MATLAB and Octave, Alfio M. Quarteroni & Fausto Saleri, Springer, 2006 (available electronically through the library);
An Introduction to Programming and Numerical Methods in MATLAB, Stephen R. Otto & James P. Denier, Springer, 2005 (available electronically through the library)