For courses in Java Programming.
A fundamentals-first introduction to basic programming concepts andtechniques
Introduction to Java Programming and Data Structures seamlessly integrates programming, data structures,and algorithms into one text. With a fundamentals-first approach, the textbuilds a strong foundation of basic programming concepts and techniques beforeteaching students object-oriented programming and advanced Java programming.Liang explains programming in a problem-driven way that focuses on problemsolving rather than syntax, illustrating basic concepts by example andproviding a large number of exercises with various levels of difficulty forstudents to practice. The 12th Edition is completely revised in everydetail to enhance clarity, presentation, content, examples, and exercises.
- 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
- 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
- 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
Provide students with the most relevant and current coding practices
- 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.
- 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.
Help students understand the fundamentals of programming
- UPDATED - VideoNotes Tutorials provide step-by-step video tutorials specifically designed to enhance the programming concepts presented in the text.
- 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.
Foster critical-thinking and problem-solving skills
- 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.
- 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, grouped by sections, for students to self-test on programming concepts and techniques.
MyLab® Programming is not included. Students, if MyLab Programming is arecommended/mandatory component of the course, please ask your instructor forthe correct ISBN. MyLab Programming should only be purchased when required byan instructor. Instructors, contact your Pearson representative for moreinformation.
Teach your course your way
- The Exercise Editor now allows you to create new programming exercises. In addition to assigning the hundreds of programming exercises already available, you can create and assign programming exercises to customize your course.
- Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking:
o Students' average submission rate.
o Students' average number of attempts until correct.
Empower each learner
- Interactive Practice provides first-hand programming experience in an interactive online environment.
- The error-specific messages include both the feedback from the compiler and plain English interpretations of likely causes for the student's incorrect answer. Feedback for many exercises includes test case tables that show a student's output against expected output.
- Pearson eText is a simple-to-use, personalized reading experience available within MyLab. Students can use their computer or the mobile app to easily highlight and take notes all in one place, even when offline.
Deliver trusted content
- 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.
- Hundreds of short, auto-graded coding exercises are mapped to Introduction to Java Programming and Data Structures. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students 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).
Provide students with the most relevant and current codingpractices
· Java9, 10, 11 and FX11 arecovered to keep the text up to date with current technologies. Examples areimproved and simplified.
· Lambdaexpressions areused in more examples and exercises in the data structures chapters to simplifycoding.
· BothComparable and Comparator areused to compare elements in Heap, Priority-Queue, BST, and AVLTree. Thisis consistent with the Java API and is more useful and flexible.
· Stringmatching algorithms areintroduced in Chapter 22: Developing Efficient Algorithms.
Help students understand the fundamentals of programming
· Updated VideoNotes Tutorials provide step-by-step video tutorials specifically designedto enhance the programming concepts presented in the text.
Foster critical-thinking and problem-solving skills
· Updated ProgrammingExercises aregrouped by sections to provide students with opportunities to apply the newskills they have learned on their own. Additionally, more than 200 programmingexercises with solutions, including several newly added exercises, are providedto the instructors on the Instructor Resource Website. These exercises are notprinted in the text.
MyLab® Programming is not included. Students, if MyLab Programming is arecommended/mandatory component of the course, please ask your instructor forthe correct ISBN. MyLab Programming should only be purchased when required byan instructor. Instructors, contact your Pearson representative for moreinformation.
Teach your course your way
- The Exercise Editor now allows you to create new programming exercises. In addition to assigning the hundreds of programming exercises already available, you can create and assign programming exercises to customize your course.
- Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking:
o Students' average submission rate.
o Students' average number of attempts until correct.
Empower each learner
- Interactive Practice provides first-hand programming experience in an interactive online environment.
- The error-specific messages include both the feedback from the compiler and plain English interpretations of likely causes for the student's incorrect answer. Feedback for many exercises includes test case tables that show a student's output against expected output.
- Pearson eText is a simple-to-use, personalized reading experience available within MyLab. Students can use their computer or the mobile app to easily highlight and take notes all in one place — even when offline.
Deliver trusted content
- 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.
Produktdetaljer
Biografisk notat
Dr. Liang earnedhis Ph.D. in Computer Science from the University of Oklahoma in 1991, and hisM.S. and B.S. in Computer Science from Fudan University in Shanghai, China in1986 and 1983. Prior to joining Armstrong State University (now merged withGeorgia Southern University), he was an Associate Professor in computer scienceat Purdue University in Fort Wayne, Indiana, where he twice received theExcellence in Research award.
Dr. Liang is currently a Professor of Computer Science at GeorgiaSouthern University. He was trained in theoretical computer science. He haspublished in the SIAM Journal on Computing, Discrete Applied Mathematics, ActaInformatics, and Information Processing Letters. He is the author of more thanthirty books. His popular computer science texts are widely used in the world.
Dr. Liang was elected a Java Champion by Sun Microsystems (nowOracle) in 2005. He has given lectures on programming internationally.