Fundamentals of computing II : abstraction, data structures, and large software systems - Tucker, Allen B. (McGraw-Hill, 1993)