Features
Personalized Learning with MyProgrammingLab
Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming. A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook. 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. For instructors, a comprehensive roster tracks correct and incorrect answers and stores the code inputted by students for review.
- Programming practice: Your students will gain first-hand programming experience in an interactive online environment.
- Immediate, personalized feedback: Students will gain intelligent, immediate feedback by mining our large database of submissions to provide student-specific responses.
- Dynamic roster: Your students’ submissions are automatically evaluated, both saving you time, and offering students immediate learning opportunities. The color-coded roster gives you a quick glance of your classes’ progress. Easily drill down to receive information on a single student’s performance or submissions for a specific problem.
- Graduated complexity: Problems are broken down into short, understandable sequences of exercises, where each sequence relates to a particular topic. Within each sequence the level and sophistication of the exercises increase gradually but steadily.
- Step-by-step VideoNote tutorials: Step-by-step video tutorials enhance the programming concepts presented in the book by allowing students to view the entire problem-solving process outside of the classroom—when they need help the most.
- A powerful homework and test manager: MyProgrammingLablets you create, import, and manage online homework assignments, quizzes, and tests that are automatically graded. You can choose from a wide range of assignment options, including time limits, proctoring, and maximum number of attempts allowed. The bottom line: MyProgrammingLab means less time grading and more time teaching.
- Comprehensive online course content: Filled with a wealth of content that is tightly integrated with your textbook, MyProgrammingLab lets you easily add, remove, or modify existing instructional material. You can also add your own course materials to suit the needs of your students or department. In short, MyProgrammingLab lets you teach exactly as you'd like.
Note: MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.
Fundamentals-First Approach
- Fundamentals-First: The book is fundamentals-first, which introduces basic programming concepts and techniques before objects and classes. The fundamental concepts and techniques of loops, methods, and arrays are the foundation for programming. Building the foundation prepares students to learn object-oriented programming and advanced Java programming.
- Why Fundamentals-First? Learning basic logic and fundamental programming techniques like loops and step-wise refinement is essential for new programmers to succeed. Students who cannot write code in procedural programming are not able to learn object-oriented programming. A good introduction on primitive data types, control statements, methods, and arrays prepares students to learn object-oriented programming.
- From Fundamentals to Object-Oriented: Often students have difficulty adapting to the object-oriented paradigm. The book addresses this issue in chapter 10 on transition from procedural programming to object-oriented programming. The chapter focuses on class design. Several examples are used to demonstrate the advantages of object-oriented programming so that students learn how and when to apply OOP effectively.
Problem-Driven Motivation
- Problem-Driven Focus: Students learn to approach programming as a method for problem solving by beginning with a discussion of obstacles and goals. Interesting and practical examples are used not only to illustrate syntax but also to teach problem solving and programming.
- Why Problem-Driven?: Programming isn't just syntax, classes, or objects. It is really problem solving. Loops, methods, and arrays are fundamental techniques for problem solving. From fundamental programming techniques to object-oriented programming, there are many layers of abstraction. Classes are simply a layer of abstraction. Applying the concept of abstraction in the design and implementation of software projects is the key to developing software. The overriding objective of the book, therefore, is to teach students to use many layers of abstraction in solving problems and to see problems in small and in large detail. The examples and exercises throughout the book emphasize problem solving and foster the concept of developing reusable components and using them to create practical projects.
- Programming, Data Structures, and Algorithms in One Text: The book seamlessly integrates programming, data structures, and algorithms into one text. It employs a practical approach to teach data structures. We first introduce how to use various data structures to develop efficient algorithms, and then show how to implement these data structures. Through implementation, students gain a deep understanding on the efficiency of data structures and on how and when to use certain data structures. Finally we introduce design and implement custom data structures for trees and graphs.
- Engaging Problems: Interesting and practical problems introduce each chapter and are solved within the chapter. The book uses a wide variety of problems with various levels of difficulty to motivate students. The problems cover many application areas in gaming, math, business, science, animation, and multimedia.
A Superior Pedagogical Design that Fosters Student Interest
The book uses the following elements to help students get the most from the material:
- The Objectives at the beginning of each chapter list what students should learn from the chapter. This will help them determine whether they have met the objectives after completing the chapter.
- The Introduction opens the discussion with representative problems to give the reader an overview of what to expect from the chapter.
- Key Points highlight the important concepts covered in each section.
- Check Points provide review questions to help students track their progress as they read through the chapter and evaluate their learning.
- Problems and Case Studies, carefully chosen and presented in an easy-to-follow style, teach problem solving and programming concepts. The book uses many small, simple, and stimulating examples to demonstrate important ideas.
- 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.
- Test Questions are accessible online, grouped by sections, for students to do self-test on programming concepts and techniques.
- Programming Exercises are grouped by sections to provide students with opportunities to apply the new skills they have learned on their own. The level of difficulty is rated as easy (no asterisk), moderate (*), hard (**), or challenging (***). The trick of learning programming is practice, practice, and practice. To that end, the book provides a great many exercises. Additionally, more than 100 programming exercises with solutions are provided to the instructors on the companion Website. These exercises are not printed in the text.
- Notes, Tips, Cautions, and Design Guides are inserted throughout the text to offer valuable advice and insight on important aspects of program development.
The Most Extensive Instructor and Student Support Package Available
Text-specific Website: The author maintains a website at www.pearsonhighered.com/liang that includes:
- Answers to review questions
- Solutions to even-numbered programming exercises
- Source code for the examples in the book
- Interactive quiz (organized by sections for each chapter)
- Supplements
- Algorithm animations
- Errata
- VideoNotes: VideoNotes are step-by-step video tutorials specifically designed to enhance the programming concepts presented in Introduction to Java Programming. Students can view the entire problem-solving process outside of the classroom—when they need help the most. Go to www.pearsonhighered.com/videonotes for a brief VideoNotes demo.
The Instructor Resource Website, accessible from www.pearsonhighered.com/liang, contains the following resources:
- Microsoft PowerPoint slides with interactive buttons to view full-color, syntax-highlighted source code and to run programs without leaving the slides.
- Solutions to all programming exercises. Students will have access to the solutions of even-numbered programming exercises.
- More than 100 additional programming exercises organized by chapters. These exercises are available only to the instructors. Solutions to these exercises are provided.
- Web-based quiz generator. Instructors can choose chapters to generate quizzes from a large database of more than two thousand questions.
- Sample exams. Most exams have four parts:
- Multiple-choice questions or short-answer questions
- Correct programming errors
- Trace programs
- Write programs
- Projects. In general, each project gives a description and asks students to analyze, design, and implement the project.
- Copyright 2015
- Edition: 10th
-
Book
- ISBN-10: 0-13-381346-0
- ISBN-13: 978-0-13-381346-3
NOTE: Before purchasing, check with your instructor to ensure you select the correct ISBN. Several versions of Pearson's MyLab & Mastering products exist for each title, and registrations are not transferable. To register for and use Pearson's MyLab & Mastering products, you may also need a Course ID, which your instructor will provide.
Used books, rentals, and purchases made outside of PearsonIf purchasing or renting from companies other than Pearson, the access codes for Pearson's MyLab & Mastering products may not be included, may be incorrect, or may be previously redeemed. Check with the seller before completing your purchase.-- This text is intended for a 1-, 2-, or 3-semester CS1 course sequence. Comprehensive coverage of Java and programming make this a useful reference for beginning programmers and IT professionals.
Daniel Liang teaches concepts of problem-solving and object-oriented programming using a fundamentals-first approach. Beginning programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming, advanced GUI and Web programming using Java. Liang approaches Java GUI programming using JavaFX, not only because JavaFX is much simpler for new Java programmers to learn and use but because it has replaced Swing as the new GUI tool for developing cross-platform-rich Internet applications on desktop computers, on hand-held devices, and on the Web. Additionally, for instructors, JavaFXprovides a better teaching tool for demonstrating object-oriented programming.
MyProgrammingLab for Introduction to Java Programming is a total learning package. MyProgrammingLab is an online homework, tutorial, and assessment program that truly engages students in learning. It helps students better prepare for class, quizzes, and exams—resulting in better performance in the course—and provides educators a dynamic set of tools for gauging individual and class progress.
Teaching and Learning Experience
To provide a better teaching and learning experience, for both instructors and students, this program offers:
- Personalized Learning: Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
- Fundamentals-First Approach: Basic programming concepts are introduced on control statements, loops, functions, and arrays before object-oriented programming is discussed.
- Problem-Driven Motivation: The examples and exercises throughout the book emphasize problem solving and foster the concept of developing reusable components and using them to create practical projects.
- A Superior Pedagogical Design that Fosters Student Interest: Key concepts are reinforced with objectives lists, introduction and chapter overviews, easy-to-follow examples, chapter summaries, review questions, programming exercises, and interactive self-tests.
- The Most Extensive Instructor and Student Support Package Available: The author maintains a website at www.pearsonhighered.com/liang that includes multiple interactive resources.
Note: MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.
0133813460 / 9780133813463 Intro to Java Programming, Comprehensive Version & MyProgrammingLab with Pearson eText -- Access Card Package
Package consists of
0133761312 / 9780133761313 Intro to Java Programming, Comprehensive Version
0133762513 / 9780133762518 MyProgrammingLab with Pearson eText -- Access Card -- for Intro to Java Programming, Comprehensive Version, 10/e
Table of Contents
Chapter 1 Introduction to Computers, Programs, and Java
Chapter 2 Elementary Programming
Chapter 3 Selections
Chapter 4 Mathematical Functions, Characters, and Strings
Chapter 5 Loops
Chapter 6 Methods
Chapter 7 Single-Dimensional Arrays
Chapter 8 Multidimensional Arrays
Chapter 9 Objects and Classes
Chapter 10 Object-Oriented Thinking
Chapter 11 Inheritance and Polymorphism
Chapter 12 Exception Handling and Text I/O
Chapter 13 Abstract Classes and Interfaces
Chapter 14 JavaFX Basics
Chapter 15 Event-Driven Programming and Animations
Chapter 16 JavaFX UI Controls and Multimedia
Chapter 17 BinaryI/O
Chapter 18 Recursion
Chapter 19 Generics
Chapter 20 Lists, Stacks, Queues, and Priority Queues
Chapter 21 Sets and Maps
Chapter 22 Developing Efficient Algorithms
Chapter 23 Sorting
Chapter 24 Implementing Lists, Stacks, Queues, and Priority Queues
Chapter 25 Binary Search Trees
Chapter 26 AVL Trees
Chapter 27 Hashing
Chapter 28 Graphs and Applications
Chapter 29 Weighted Graphs and Applications
Chapter 30 Multithreading and Parallel Programming
Chapter 31 Networking
Chapter 32 Java Database Programming
Chapter 33 JavaServer Faces
Appendixes
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 34—42 are available for the Comprehensive Version from the companion Website at www.pearsonhighered.com/liang:
Chapter 34 Advanced JavaFX
Chapter 35 Advanced Database Programming
Chapter 36 Internationalization
Chapter 37 Servlets
Chapter 38 JavaServer Pages
Chapter 39 Web Services
Chapter 40 2-4 Trees and B-Trees
Chapter 41 Red-Black Trees
Chapter 42 Testing Using JUnit