This course introduces several numerical simulation techniques used in computational physics, including Monte Carlo statistical methods, and their application to a variety of physical problems. Topics covered include properties of floating-point numbers, solution of large linear systems, Monte Carlo integration, random numbers and statistical reliability, the Metropolis algorithm, finite-size scaling, and the solution of stochastic differential equations. The course will also cover some topics in advanced MATLAB programming, including vectorization, optimization, and debugging techniques.