Introduction to Java Programming and Data Structures , Comprehensive Version, 11/e (GE-Paperback)

Y. Daniel Liang




This text is intended for a 1-semester CS1 course sequence. The Brief Version contains the first 18 chapters of the Comprehensive Version. The first 13 chapters are appropriate for preparing the AP Computer Science exam.For courses in Java Programming.A fundamentals-first introduction to basic programming concepts and techniques Designed to support an introductory programming course, Introduction to Java Programming and Data Structuresteaches you concepts of problem-solving and object-orientated programming using a fundamentals-first approach. Beginner programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming, data structures, and Web programming. This course approaches Java GUI programming using JavaFX, which has replaced Swing as the new GUI tool for developing cross-platform-rich Internet applications and is simpler to learn and use. The 11th edition has been completely revised to enhance clarity and presentation, and includes new and expanded content, examples, and exercises. 


1. Introduction to Computers, Programs, and Java
2. Elementary Programming
3. Selections
4. Mathematical Functions, Characters, and Strings
5. Loops
6. Methods
7. Single-Dimensional Arrays
8. Multidimensional Arrays
9. Objects and Classes
10. Object-Oriented Thinking
11. Inheritance and Polymorphism
12. Exception Handling and Text I/O
13. Abstract Classes and Interfaces
14. JavaFX Basics
15. Event-Driven Programming and Animations
16. JavaFX UI Controls and Multimedia
17. Binary I/O
18. Recursion
19. Generics
20. Lists, Stacks, Queues, and Priority Queues
21. Sets and Maps
22. Developing Efficient Algorithms
23. Sorting
24. Implementing Lists, Stacks, Queues, and Priority Queues
25. Binary Search Trees
26. AVL Trees
27. Hashing
28. Graphs and Applications
29. Weighted Graphs and Applications
30. Aggregate Operations for Collection Streams

Appendix A   Java Keywords
Appendix B   The ASCII Character Set
Appendix C   Operator Precedence Chart
Appendix D   Java Modifiers
Appendix E   Special Floating-Point Values
Appendix F   Number Systems
Appendix G   Bitwise Operations
Appendix H   Regular Expressions
Appendix I   Enumerated types

Bonus Chapters 31–44 are available from the Companion Website at
31. Advanced JavaFX and FXML
32. Multithreading and Parallel Programming
33. Networking
34. Java Database Programming
35. Advanced Database Programming
36. Internationalization
37. Servlets
38. JavaServer Pages
39. JavaServer Faces
40. RMI
41. Web Services
42. 2-4 Trees and B-Trees
43. Red-Black Trees
44. Testing Using JUnit