Instructor
Aleksandar Donev, 1016 Warren Weaver HallE-mail: donev@courant.nyu.edu ; Phone: (212) 992-7315
Office hours: 3-4 pm Tuesdays, 4-5pm on Thursdays, or by appointment
Graders
Homeworks 1 and 2: Jason Kaye, email kaye at cims.nyu.edu, office hours: Fridays 5-6pm, 506 WWH, on 9/25, 10/2, 10/9 and 10/16Homeworks 3 and up: Romeo Alexander, email romeo at cims.nyu.edu, office hours: Wednesdays 5-6pm, 930 WWH, starting 10/21
Course description
This course is a graduate-level introduction to practical introduction to computational problem solving, including both mathematical analysis of numerical algorithms (numerical analysis) and practical problem solving. This is not a programming course but programming in homework projects with Matlab (Python, Fortran, C/C++, or other language of your choice) is an important part of the course work.
Take a look at the homepage
of
the Spring 2012 course as this course will be
similar.
3 points per term
Topics covered include:
- floating point arithmetic, conditioning and stability
- direct methods for systems of linear equations
- matrix eigenvalue problems and SVD decomposition
- numerical interpolation, differentiation and integration
- nonlinear systems of equations and unconstrained optimization
- Fourier and wavelet transforms
- ordinary and partial differential equations
- Monte Carlo methods.
Main Textbook(s) (optional)
As a good textbook that I will sometimes point you to for additional reading, I recommend Numerical Methods: Design, Analysis, and Computer Implementation of Algorithms by Anne Greenbaum & Timothy P. Chartier (library call number QA297.G15 2012). Unfortunately, this book is not available in electronic format via NYU. Codes can be found at the author's website.
Very nice case studies demonstrating applications of scientific computing in various disciplines can be found in the book Scientific Computing with Case Studies by Dianne P. O'Leary (library call number QA401.O44 2009 ). Additional case studies can be found here.
Some of the lectures will be more closely based on a draft of an upcoming book Principles of Scientific Computing by my colleagues Jonathan Goodman and David Bindel, to be found here as one PDF or as individual chapters.
Additional Readings
There are many free online materials that can be consulted as additional reading, depending on your background and interests. Here are some suggestions (more may be added as the course progresses) that you have special access to through the NYU/Courant library:
- Numerical Computing with MATLAB, by Cleve Moler, available for free in PDF form at the MATLAB site.
- The Cambridge Engineering guide to MATLAB has lots of useful information.
- An Introduction to Programming and Numerical
Methods in MATLAB, Stephen R. Otto & James P.
Denier, Springer, 2005, available in PDF
format through the library. This book provides an
elementary introduction to Matlab with less focus on
actual scientific computing.
Prerequisites
A solid background
(undergraduate level) in multivariate calculus and linear
algebra. Experience with writing computer programs (in
Matlab, Python, Fortran, C, C++, or other language) is
strongly recommended as homework assignments will involve
programming from the start and you will be expected to catch
up on your own (winter break is a good time to learn
programming!).
Prior knowledge of Matlab is
not required, but it will be used as the main language for
the course. If you have experience with other languages
(Fortran, C, C++, Python), Matlab will be easy to learn and
use, and comes with a great help facility. Please look at
some of the "Additional Readings" above for programming
guides.
Assignments and grading
There will be regular
(biweekly or weekly) challenging
assignments and a take-home final. The assignments will be
mostly computational. You will be expected to submit a PDF
of your solutions, as explained in more detail under Assignments. The grade will be
60% based on assignments and 40% on a take-home final which
will be similar to the homework assignments. Assuming the
total possible number of points (excluding extra credit) is
100, the grade scale will be based on the weights used in
computing your GPA:
- >92.5 = A
- 87.5-92.5 = A-
- 80.0-87.5 = B+
- 72.5-80.0 = B
- 65.0-72.5 = B-
- 57.5-65.0 = C+
- 50.0-57.5 = C
- 42.5-50.0 = C-
- <42.5 = F
Communication
The NYU Courses webpage will
be used for messages related to the assignments and any
scheduling changes, as well as material that is for
your personal use only such as sample solutions
of past assignments. If you register for the class, you
automatically have access. All course materials including
lecture notes and assignments will be posted on this site as
they become available.
You should feel free to email the instructor
with any questions, concerns, or special requests such as
deadline extensions, meeting outside of office hours, etc.
Computing
You can purchase student edition Matlab from the NYU computer store if you want to use it on your own personal computer. If cost is a problem, Octave (octave) provides a free alternative to Matlab that you can download for Linux, Windows or Mac OS X. Note however that the plotting facilities in Octave are not up to par with Matlab's and this may put you at a disadvantage for homework assignments.
You are encouraged to submit reports as PDFs produced using LaTex (latex), as a good practice in learning how to use mathematical typesetting software for future papers and thesis reports. I recommend trying out the LyX word processor as a front-end GUI to LaTex, especially if you are new to LaTex.
Also see these resources listed by my colleague David Bindell. In particular, some coding advice that may be useful in general.