This course presents the fundamentals of numerical methods for inviscid and viscous flows. The following topics are covered: finite-difference and finite-volume approximations, structured and unstructured grids, the semidiscrete approach to the solution of partial differential equations, time-marching methods for ordinary differential equations, stability of linear systems, approximate factorization, flux-vector splitting, boundary conditions, relaxation methods, and multigrid.