I originally purchased this book because I haven't had formal schooling in "computer science", and I thought it would help give me a solid background as well as a good introduction to terms. It's written in a textbook style - intended for classroom use. The back cover calls it "the leading text in the move towards breadth-first curricula". Appendix includes answers to chapter questions.
It even has an interesting "social issue" discussion question section after each chapter which added interest to the material.
The book is dated - (2000) - but the concepts still applicable:
Part One - Machine Architecture (memory, data storage, binary system, compression, CPU, stored programs/program execution/communication with other devices)
Part Two - Software (evolution of OS / Networks / Security / Algorithms / Programming Languages - including history, traditional programming concepts, object-oriented programming, programming concurrent activities / Software Engineering
Part Three - Data Organization (Data Structures - arrays,stacks, queues, trees, pointers / File Structures - text files, indexing, hashing / Database Structures
Part Four - The Potential of Algorithmic Machines (Artificial intelligence, theory of computation)
I never finished the book - read parts of it here and there. Learned a lot . This would be a great book for the independent study student tackling computer science.