This text is intended for engineering undergraduates and practising engineers, and the level of mathematics should not be beyond the scope of most first year undergraduates. Emphasis is placed on modern Fortran 90/95, and also on portability and standard Fortran 90/95 so that programs can be moved from one type of computer to another. The text aims to teach students to consider the proper design of a program before they begin to code, and it covers pointers and dynamic data structures.