This book can be used as a textbook in courses in numerical analysis, numerical linear algebra, and numerical PDEs at the advanced undergraduate and graduate levels in computer science, math, and applied math departments. The theory is written in simple algebraic terms and therefore requires preliminary knowledge only in basic linear algebra and calculus.