Introduction to Java Programming and Data Structures, 12th edition

Published by Pearson (December 4, 2019) © 2020

  • Y Daniel Liang Georgia Southern University

eTextbook

per month

  • Anytime, anywhere learning with the Pearson+ app
  • Easy-to-use search, navigation and notebook
  • Simpler studying with flashcards
from$53.32

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

Revel

from$99.99

  • Inspire engagement through active learning
  • Provide an immersive reading experience
  • Assess student progress with performance insights

MyLab

from$104.99

  • Reach every student with personalized support
  • Customize courses with ease
  • Optimize learning with dynamic study tools

For courses in Java programming.

Seamlessly integrates programming, data structures and algorithms in 1 text

With a fundamentals-first approach, Introduction to Java Programming and Data Structures, Comprehensive Version builds a strong foundation of basic programming concepts and techniques before teaching object-oriented programming and advanced Java programming. Liang explains programming in a problem-driven way that focuses on problem solving rather than syntax, illustrating basic concepts by example and providing many exercises with various levels of difficulty for students to practice.

The 12th Edition is completely revised in every detail to enhance clarity, presentation, content, examples and exercises.

Hallmark features of this title

  • Check Points provide review questions to help students track their progress as they read through the chapter and evaluate their learning.
  • The Chapter Summary reviews the important subjects that students should understand and remember. It helps them reinforce the key concepts they have learned in the chapter.
  • Notes, Tips, Cautions and Design Guides are inserted throughout the text to offer valuable advice and insight on important aspects of program development.
  • Problems and Case Studies teach problem-solving and programming concepts. The book uses many small, simple and stimulating examples to demonstrate important ideas.
  • Quizzes are accessible online and grouped by sections for students to self-test programming concepts and techniques.

New and updated features of this title

  • NEW: Both Comparable and Comparator are used to compare elements in Heap, Priority-Queue, BST, and AVLTree. This is consistent with the Java API and is more useful and flexible.
  • NEW: String matching algorithms are introduced in Chapter 22: Developing Efficient Algorithms.
  • UPDATED: Java 9, 10, 11 and FX11 are covered to keep the text up to date with current technologies. Examples are improved and simplified.
  • UPDATED: Lambda expressions are used in more examples and exercises in the data structures chapters to simplify coding.
  • UPDATED: Programming Exercises are grouped by sections to provide students with opportunities to apply the new skills they have learned on their own.
    • Additionally, more than 200 programming exercises with solutions, including several newly added exercises, are provided to the instructors on the Instructor Resource Website. These exercises are not printed in the text.

Features of Revel for the 12th Edition

  • CodeAnimation simulates the execution of the program and lets students step through the code, showing and explaining what is happening in the program.
    • Each step in a CodeAnimation is like an interactive graphical diagram. It allows the user to enter input interactively.
  • LiveExample enables students to practice coding by filling in the missing code and running live code and receiving immediate feedback on their submission.
    • This enables students to dive into the code and gain a deeper understanding of the code and learn coding techniques.
  • VideoNotes simulate the office-hours experience through narrated video tutorials that show how to solve problems completely, from design through coding.

Features of MyLab Programming for the 12th Edition

  • Hundreds of short, auto-graded coding exercises are mapped to the text. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable them to figure out what went wrong and why.
    • The exercises help students master programming fundamentals (syntax, flow of control), allowing instructors to focus on higher-level concepts (problem solving).
  • Updated VideoNotes provide step-by-step video tutorials specifically designed to enhance the programming concepts so students can view the entire problem-solving process outside of the classroom–when they need help the most.
  • Algorithm Animations demonstrate how algorithms work.
  • The Exercise Editor now allows instructors to create new programming exercises. In addition to assigning the hundreds of programming exercises already available, they can create and assign programming exercises to customize their courses.
  • Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking students' average submission rate and students' average number of attempts until correct.
  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
  1. Advanced JavaFX and FXML
  2. Multithreading and Parallel Programming
  3. Networking
  4. Java Database Programming
  5. Advanced Database Programming
  6. Internationalization
  7. Servlets
  8. JavaServer Pages
  9. JavaServer Faces
  10. RMI
  11. Web Services
  12. 2-4 Trees and B-Trees
  13. Red-Black Trees
  14. Testing Using JUnit

APPENDICES

  • A. Java Keywords and Reserved Words
  • B. The ASCII Character Set
  • C. Operator Precedence Chart
  • D. Java Modifiers
  • E. Special Floating-Point Values
  • F. Number Systems
  • G. Bitwise Operations
  • H. Regular Expressions
  • I. Enumerated Types
  • J. The Big-O, Big-Omega, and Big-Theta Notations

About our author

Dr. Liang earned his Ph.D. in Computer Science from the University of Oklahoma in 1991, and his M.S. and B.S. in Computer Science from Fudan University in Shanghai, China in 1986 and 1983. Prior to joining Armstrong State University (now merged with Georgia Southern University), he was an Associate Professor in computer science at Purdue University in Fort Wayne, Indiana, where he twice received the Excellence in Research award.

Dr. Liang is currently a Professor of Computer Science at Georgia Southern University. He was trained in theoretical computer science. He has published in the SIAM Journal on Computing, Discrete Applied Mathematics, Acta Informatics and Information Processing Letters. He is the author of more than 30 books. His popular computer science texts are widely used in the world.

Dr. Liang was elected a Java Champion by Sun Microsystems (now Oracle) in 2005. He has given lectures on programming internationally.

Need help? Get in touch

Revel

Inspire engagement through active learning. Revel® integrates interactives and assessments into a compelling digital narrative. By applying concepts as they read, students immerse themselves in learning, deepening their understanding. This mobile, user-friendly platform empowers students to learn and study on the go, anytime, anywhere, on any device.

MyLab

Customize your course to teach your way. MyLab® is a flexible platform merging world-class content with dynamic study tools. It takes a personalized approach designed to ignite each student's unique potential. And, with the freedom it affords to adapt your pedagogy, you can reinforce select concepts and guide students to real results.

Pearson+

All in one place. Pearson+ offers instant access to eTextbooks, videos and study tools in one intuitive interface. Students choose how they learn best with enhanced search, audio and flashcards. The Pearson+ app lets them read where life takes them, no wi-fi needed. Students can access Pearson+ through a subscription or their MyLab or Mastering course.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Help students learn, wherever life takes them

Your students deserve more than just a digital textbook. Revel® combines content, media, and assessment to create an engaging, immersive experience that lets them learn on the go — anytime, anywhere, on any device.