I'm a senior in high school studying for the ap computer science exam in java. I have the run-of-the-mill "5 steps to a 5" or "Barron AP CS" books. But I feel those books don't do an adequate job explaining the material; it covers everything but doesn't provide sufficient explanation or the why's. I'm looking for a book (textbook) that I could read and study with that will prepare me for the AP CS exam and wondering if anyone could point me in the right direction (typically any college-level CS1 textbook). For those who have programming experience in Java or have taken any CS classes, have any ideas? Thanks a lot.