Scientific Computing is a graduate-level introduction to problem solving using a combination of mathematical and numerical analysis. It is not a programming course, but will involve a fair amount of practical computing work.

Topics covered include:

  • direct methods for systems of linear equations
  • matrix eigenvalue problems and SVD decomposition
  • numerical interpolation, differentiation and integration
  • elementary signal processing, Fourier analysis
  • nonlinear systems of equations and unconstrained optimization
  • floating point arithmetic, conditioning and stability
  • ordinary and partial differential equations
  • Monte Carlo methods.


Multivariable calculus, linear algebra, programming experience. MATLAB will be used as the main language of the course. It is easy to learn if you have studied any other language. If you prefer, you may complete homework assignments in another language of your choice.


The course textbook is Numerical Methods: Design, Analysis, and Computer Implementation of Algorithms by Anne Greenbaum & Timothy P. Chartier. A reserve copy will be available on 2h reserve in the Courant Library. Some lectures will be drawn in part from the draft of an upcoming book Principles of Scientific Computing by Profs. Jonathan Goodman and David Bindel one PDF or as individual chapters.

Additional Resources available online

  1. Numerical Computing with MATLAB by Cleve Moler
  2. Cambridge Engineering guide to MATLAB
  3. An Introduction to Programming and Numerical Methods in MATLAB by Stephen R. Otto & James P. Denier (Springer, 2005).
  4. Some coding advice (thanks to Prof. David Bindel).
  5. Miscellaneous resources (thanks to Prof. David Bindel)

Assignments and grading

There will be regular (biweekly) assignments and a take-home final (see Assignments). You are encouraged to write up your homework and submit in PDF format, generated using LaTeX (latex), Word, etc. If you don't already know LaTeX, it is a typesetting system for producing high-quality scientific and mathematical documents, and it is worthwhile learning. The LyX word processor is an easy to use front-end for LaTeX.

Grading will be based 70% on assignments and 30% on a take-home final. Please see NYU's Academic integrity policies.

Matlab M-files related to some of the exercises are available from the authors here.

Announcements, etc.

For announcements (and a discussion board), please see the course *Blackboard* page. You have automatic access to the site once you register for the class. Lecture Notes and Assignments will be available from the Blackboard site as well.


The Courant Institute has computer labs with Linux workstations that have Matlab (matlab), Maple (xmaple), Mathematica (mathematica), the GNU (gcc,g++,gfortran), Intel and Pathscale C/C++/Fortran compiler suites, and other useful software installed.

You can purchase the student edition of MATLAB from the NYU computer store if you want to use it on your own personal computer. A free, open source alternative is OCTAVE, which is available for Linux, Windows or Mac OS X. While most of the core computing functionaltiy is comparable, MATLAB has much better developed graphics/plotting capabilities.
Professor: Leslie Greengard
1117 Warren Weaver Hall
Phone: (212) 998-3306
Office hours: Tues/Thurs 4-5
or by appointment

Warren Weaver Hall, room 1302
Thursdays, 5:10 - 7 pm
Fall Semester, 2012

Fang Fang (
Office hours: Room 1111, Friday 5-6