Fundamentals of computing - Tucker, Allen B (McGraw-Hill, 1995)
abstraction, data structures, and large software systems