The methods of calculus are limited to Euclidean spaces. In this course, we show how the incredibly powerful tools of calculus, beginning with the limit concept, can be generalized to so-called metric spaces. Almost every space used in advanced analysis is in fact a metric space, and limits in metric spaces are a universal language for advanced analysis. The basic techniques of calculus were invented for the real line R. What should we do when we want to handle something more general than R? The fundamental notions of calculus begin with the idea that one point of R can be close to another point of R, and this is called "Approximation" or "taking a limit." Metrics are a way to transfer this key notion of being "close to" to a more general setting. The "points" of a metric space can be complicated objects in their own right. For example, they may themselves be functions on some other space. Ideas like this are ubiquitous in advanced mathematics today. One tries to throw away complicated details of the space being considered, and this makes it easier to see which theorem or technique can be applied next. In this way, the mathematician tries to avoid getting overwhelmed by the details, or to say it differently, we try to see the overall forest rather than the trees.