**Course Objectives:** This is a *fundamental* course in numerical analysis, and builds from concepts of numerical interpolation and approximation, to integration and differentiation, and finally to ordinary and partial differential equations. The primary goal is for students gain a complete understanding of how to evaluate the efficacy of numerical methods, specifically their accuracy, stability, and convergence properties. This is *not* a survey course, although students will program methods to gain understanding of how methods work, in particular to compare advantages and disadvantages of various algorithms.

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 demonstrating that these properties hold both theoretically and computationally. Numerical analysts make sure that 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?" The general subjects we discuss in this course are critical to developing specific algorithms for solving problems in data science, signal and image processing, and evolutionary dynamics. We will use MATLAB to verify our understanding of the theoretical results, but developing programming skills are not the main focus of the course.