Using the Python programming language, this course surveys scientific computing methods. In the first part, traditional numerical analysis techniques for the solution of ordinary and partial differential equations will be covered in the context of representative scientific problems. In the second part, as a modern numerical analysis framework, we will survey data-driven scientific computing methods that employ machine learning and other related techniques. The connection between traditional (“numerical analysis”) and modern (“machine learning”) approaches will be emphasized. Scientific computing know-hows (selected from symbolic computing, data input/output, revision control, profiling, optimization, and high-performance computing, etc.) will be also discussed.
Undergraduate-level matrix algebra; programming (e.g. MATLAB, Python)
* N.B.: Undergraduate and graduate students will be graded separately