This easy-to-understand textbook presents a modern approach to learning numerical methods (or scientific computing), with a unique focus on the modeling and applications of the mathematical content. Emphasis is placed on the need for, and methods of, scientific computing for a range of different types of problems, supplying the evidence and justification to motivate the reader. Practical guidance on coding the methods is also provided, through simple-to-follow examples using Python.