A computer science tapestry - Astrachan, Owen L. (McGraw-Hill, 2000)