A Computer Science Tapestry
first edition
second edition