My youngest sister is taking the AP CS exam next month, and I was helping her study a few weeks ago. The first question she asked me (she's taken a semester and a half of AP CS at this point) was: what's the difference between an Array and an ArrayList?
To explain this, I had to go into: primitives, objects, and references; auto-boxing and un-boxing; generics; memory allocation and garbage collection; the different APIs (one uses length, another uses size)...
About 80% of her textbook was stuff like this. Details of the Java language that have very little to do with learning Computer Science. Only about 20% of her textbook as devoted to "algorithms".