Invitation to Computer Science by Michael Schneider
This book provides a overview of the entire field of computer science, making it an appropriate book for high school AP programs as well as the freshman-level survey course taught in 2-year junior colleges or 4-year universities. It treats a wide array of fundamental concepts, including algorithms, hardware design, computer organization, operating systems, languages, programming, and social and ethical issues. It aims to be a readable and accessible book for students with no prior background in programming, computing, or computer science.