Course description
An introduction to scientific computing at the MS level for people interested in practical computing. Covers the main theoretical ideas and fundamental algorithms. Attention paid to good programming practice for scientific computing software. Computing assignments (Python) and theoretical exercises.
Specific topics include sources of error, floating point, finite difference, quadrature, and interpolation formulas. order of accuracy and uses of error expansions, dense linear algebra (conditioning of linear algebra problems, factorizations, uses of SVD), FFT and applications, optimization (gradient descent, Newton's method), ODE solution, basic Monte Carlo.
Prerequisites:
Good linear algebra, multi-variate calculus, some programming (Python preferable). Also helpful: basic probability and differential equations.
Assignments, exams, grading:
The final grade will be based on weekly homework assignments (worth 50% of the grade), a final computing assignment (worth 20%) and an in-class written final exam (worth 30%).
Communication:
Please use the Brightspace site for content and homework communications. This way everyone sees and benefits from questions and answers, and there can be class discussion. related comm. Email the instructor for issues that do not involve others such as scheduling appointments, homework extensions, advice, etc.
Academic integrity:
Students are encouraged to explore and collaborate widely to understand the material. This includes looking at print and online sources and interacting with experts and each other. Students may receive some help with assignments, but each student must create (write up, code, run) solutions individually. Students may not share ("borrow" or lend) assignment solutions -- all writing must be done individually. Students may not plagairize solutions from other sources such as books or web sites. Violation of these policies may result in grade lowering or more serious penalties, depending on severity.