Introduction to Java Programming and Data Structures, Comprehensive Version, Global Edition, 12th edition
Published by Pearson (October 5, 2021) © 2022
- Y Daniel Liang Georgia Southern University
eTextbook
- A print text (hardcover or paperback)
- Free shipping
- A print text (hardcover or paperback)
- Free shipping
Revel
- A print text (hardcover or paperback)
- Free shipping
For courses in Java Programming.
A fundamentals-first introduction to basic programming concepts and techniques
Introduction to Java Programming and Data Structures seamlessly integrates programming, data structures, and algorithms into one text. With a fundamentals-first approach, the text builds a strong foundation of basic programming concepts and techniques before teaching students 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 a large number of 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
- 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
- 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.
- Introduction to Computers, Programs, and JavaTM
- Elementary Programming
- Selections
- Mathematical Functions, Characters, and Strings
- Loops
- Methods
- Single-Dimensional Arrays
- Multidimensional Arrays
- Objects and Classes
- Object-Oriented Thinking
- Inheritance and Polymorphism
- Exception Handling and Text I/O
- Abstract Classes and Interfaces
- JavaFX Basics
- Event-Driven Programming and Animations
- JavaFX UI Controls and Multimedia
- Binary I/O
- Recursion
- Generics
- Lists, Stacks, Queues, and Priority Queues
- Sets and Maps
- Developing Efficient Algorithms
- Sorting
- Implementing Lists, Stacks, Queues, and Priority Queues
- Binary Search Trees
- AVL Trees
- Hashing
- Graphs and Applications
- Weighted Graphs and Applications
- Aggregate Operations for Collection Streams
Bonus Chapters 31–44 are available from the Companion Website
- Advanced JavaFX and FXML
- Multithreading and Parallel Programming
- Networking
- Java Database Programming
- Advanced Database Programming
- Internationalization
- Servlets
- JavaServer Pages
- JavaServer Faces
- RMI
- Web Services
- 2-4 Trees and B-Trees
- Red-Black Trees
- Testing Using JUnit
Appendixes
- 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
Dr. Y. Daniel Liang earned his Ph.D. in Computer Science from the University of Oklahoma in 1991, and an MS and BS in Computer Science from Fudan University in Shanghai, China, in 1986 and 1983. Prior to joining Armstrong, he was an associate professor in computer science at Purdue University in Fort Wayne, where he twice received the Excellence in Research award.
Dr. Liang was trained in theoretical computer science. He was active in graph algorithms from 1990 to 1995 and published more than ten papers in several established journals such as SIAM Journal on Computing, Discrete Applied Mathematics, Acta Informatics, and Information Processing Letters. Since 1996, he has devoted to writing texts and published more than thirty books with Prentice Hall. His popular computer science texts are widely adopted in the world. Dr. Liang was elected a Java Champion in 2005 by Sun Microsystems and has given lectures on Java internationally.
Need help? Get in touch