Introduction to Java Programming and Data Structures, Brief Version, covers basic problem-solving and object-oriented programming using a fundamentals-first approach. After learning key problem-solving techniques, you’ll move on to GUI programming, advanced GUI and web programming using JavaFX.