The second edition features lots of improvements and new material. The most significant additions include - finite difference methods and implementations for a 1D time-dependent heat equation (Chapter 1. 7. 6), - a solver for vibration of elastic structures (Chapter 5. 1. 6), - a step-by-step instruction of how to develop and test Diffpack programs for a physical application (Chapters 3. 6 and 3. 13), - construction of non-trivial grids using super elements (Chapters 3. 5. 4, 3. 6. 4, and 3. 13. 4), - additional material on local mesh refinements (Chapter 3. 7), - coupling of Diffpack with other types of software (Appendix B. 3) - high-level programming offinite difference solvers utilizing the new stencil (finite difference operator) concept in Diffpack (Appendix D. 8). Many of the examples, projects, and exercises from the first edition have been revised and improved. Some new exercises and projects have also been added. A hopefully very useful new feature is the compact overview of all the program examples in the book and the associated software files, presented in Chapter 1. 2. Errors have been corrected, many explanations have been extended, and the text has been upgraded to be compatible with Diffpack version 4. 0. The major difficulty when developing programs for numerical solution of partial differential equations is to debug and verify the implementation. This requires an interplay between understanding the mathematical model,the in volved numerics, and the programming tools.