Understanding Procedural Coding by Andrew Bowie, Mary Jo Bowie & Regina M. Schaffer