**Course Objectives:** This is a fundamental course in numerical analysis, with a focus on numerical linear algebra and optimzation methods, which are the building blocks for a variety of algorithms used in data science, machine learning, signal and image processing, and evolutionary dynamics. The primary goal is for students to gain a complete understanding of how to evaluate the efficacy of (general) numerical methods, specifically their accuracy, stability, and convergence properties. This is *not* a survey course. Students will write simple computer programs in MATLAB or python to gain understanding of how methods work, in particular to compare advantages and disadvantages of various algorithms. This course will not emphasize programming or the use of numerical software.

Numerical analysis is a fundamental topic in applied mathematics. Many practical problems that scientists try to solve are based on mathematical models, but few can be solved analytically, either due to their complexity, large number of variables, or lack of information. Computational algorithms are therefore needed for approximating these solutions. It is critically important to maintain the important mathematical properties of the underlying system when developing these computational algorithms. Numerical analysis is about developing good computational techniques for broad based problems and analyzing their properties. Numerical analysts seek to demonstrate when computational algorithms are trustworthy so that domain scientists can be confident in the results of their experiments. Numerical analysts also answer the question, "what assumptions of the underlying problem are necessary for this computational method to succeed?"