Numerical computing is an interconnected combination of computer science and mathematics in which we develop and analyze algorithms for solving important problems in science, engineering, medicine, and business -- for example, simulating an earthquake, choosing a stock portfolio, or detecting cancer tumors in medical images. The students will learn principles and practices of basic numerical computation based on seven to eight mini-projects. This is a key aspect of scientific computation. This class will cover several topics, including: graph clustering, graph partitioning, solving linear systems of equations, page rank algorithm and large-scale nonlinear optimization. As much as possible, numerical methods will be presented in the context of real-world applications.