An introduction to program design - Sargent, David (McGraw-Hill Book Company, 1991)