
Big Java
Late Objects
by Cay S. Horstmann
2nd Edition
Publisher: Wiley
Book Details
| Print ISBN | 9781119330455 |
| eText ISBN | 9781119321071 |
| Publisher | Wiley |
| Publishing Year | 2017 |
| Edition | 2nd Edition |
| Language | English |
Big Java: Late Objects, 2nd Edition is an introductory textbook designed for a two-semester sequence in computer programming. The volume requires no prior coding experience, asking only for a modest background in high school algebra to begin developing core software design skills.
Core thematic areas include fundamental programming concepts, basic data types, and decision structures, alongside class implementation, inheritance, and object-oriented design. The text also addresses elementary data structures, foundational algorithms, stream processing, and graphical user interface development.
Each section incorporates self-check questions intended to evaluate conceptual understanding rather than simple memorization, providing opportunities for students to reflect on key principles.
Table of Contents
Chapter 1: Introduction
- • 1.1 Computer Programs
- • 1.2 The Anatomy of a Computer
- • 1.3 The Java Programming Language
- • 1.4 Becoming Familiar with Your Programming Environment
- • 1.5 Analyzing Your First Program
- • 1.6 Errors
- • 1.7 PROBLEM SOLVING Algorithm Design
Chapter 2: Fundamental Data Types
- • 2.1 Variables
- • 2.2 Arithmetic
- • 2.3 Input and Output
- • 2.4 PROBLEM SOLVING First Do it By Hand
- • 2.5 Strings
Chapter 3: Decisions
- • 3.1 The if Statement
- • 3.2 Comparing Numbers and Strings
- • 3.3 Multiple Alternatives
- • 3.4 Nested Branches
- • 3.5 PROBLEM SOLVING Flowcharts
- • 3.6 PROBLEM SOLVING Test Cases
- • 3.7 Boolean Variables and Operators
- • 3.8 APPLICATION Input Validation
Chapter 4: Loops
- • 4.1 The while Loop
- • 4.2 PROBLEM SOLVING Hand-Tracing
- • 4.3 The for Loop
- • 4.4 The do Loop
- • 4.5 APPLICATION Processing Sentinel Values
- • 4.6 PROBLEM SOLVING Storyboards
- • 4.7 Common Loop Algorithms
- • 4.8 Nested Loops
- • 4.9 PROBLEM SOLVING Solve a Simpler Problem First
- • 4.10 APPLICATION Random Numbers and Simulations
Chapter 5: Methods
- • 5.1 Methods as Black Boxes
- • 5.2 Implementing Methods
- • 5.3 Parameter Passing
- • 5.4 Return Values
- • 5.5 Methods Without Return Values
- • 5.6 PROBLEM SOLVING Reusable Methods
- • 5.7 PROBLEM SOLVING Stepwise Refinement
- • 5.8 Variable Scope
- • 5.9 Recursive Methods (Optional)
Chapter 6: Arrays and Arraylists
- • 6.1 Arrays
- • 6.2 The Enhanced for Loop
- • 6.3 Common Array Algorithms
- • 6.4 Using Arrays with Methods
- • 6.5 PROBLEM SOLVING Adapting Algorithms
- • 6.6 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects
- • 6.7 Two-Dimensional Arrays
- • 6.8 Array Lists
Chapter 7: Input/Output and Exception Handling
- • 7.1 Reading and Writing Text Files
- • 7.2 Text Input and Output
- • 7.3 Command Line Arguments
- • 7.4 Exception Handling
- • 7.5 APPLICATION Handling Input Errors
Chapter 8: Objects and Classes
- • 8.1 Object-Oriented Programming
- • 8.2 Implementing a Simple Class
- • 8.3 Specifying the Public Interface of a Class
- • 8.4 Designing the Data Representation
- • 8.5 Implementing Instance Methods
- • 8.6 Constructors
- • 8.7 Testing a Class
- • 8.8 Problem Solving: Tracing Objects
- • 8.9 Object References
- • 8.10 Static Variables and Methods
- • 8.11 PROBLEM SOLVING Patterns for Object Data
- • 8.12 Packages
Chapter 9: Inheritance and Interfaces
- • 9.1 Inheritance Hierarchies
- • 9.2 Implementing Subclasses
- • 9.3 Overriding Methods
- • 9.4 Polymorphism
- • 9.5 Object: The Cosmic Superclass
- • 9.6 Interface Types
Chapter 10: Graphical User Interfaces
- • 10.1 Frame Windows
- • 10.2 Events and Event Handling
- • 10.3 Processing Text Input
- • 10.4 Creating Drawings
Chapter 11: Advanced User Interfaces
- • 11.1 Layout Management
- • 11.2 Choices
- • 11.3 Menus
- • 11.4 Exploring the Swing Documentation
- • 11.5 Using Timer Events for Animations
- • 11.6 Mouse Events
Chapter 12: Object-Oriented Design
- • 12.1 Classes and Their Responsibilities
- • 12.2 Relationships Between Classes
- • 12.3 APPLICATION Printing an Invoice
Chapter 13: Recursion
- • 13.1 Triangle Numbers
- • 13.2 Recursive Helper Methods
- • 13.3 The Efficiency of Recursion
- • 13.4 Permutations
- • 13.5 Mutual Recursion
- • 13.6 Backtracking
Chapter 14: Sorting and Searching
- • 14.1 Selection Sort
- • 14.2 Profiling the Selection Sort Algorithm
- • 14.3 Analyzing the Performance of the Selection Sort Algorithm
- • 14.4 Merge Sort
- • 14.5 Analyzing the Merge Sort Algorithm
- • 14.6 Searching
- • 14.7 PROBLEM SOLVING Estimating the Running Time of an Algorithm
- • 14.8 Sorting and Searching in the Java
Chapter 15: The Java Collections Framework
- • 15.1 An Overview of the Collections Framework
- • 15.2 Linked Lists
- • 15.3 Sets
- • 15.4 Maps
- • 15.5 Stacks, Queues, and Priority Queues
- • 15.6 Stack and Queue Applications
Chapter 16: Basic Data Structures
- • 16.1 Implementing Linked Lists
- • 16.2 Implementing Array Lists
- • 16.3 Implementing Stacks and Queues
- • 16.4 Implementing a Hash Table
Chapter 17: Tree Structures
- • 17.1 Basic Tree Concepts
- • 17.2 Binary Trees
- • 17.3 Binary Search Trees
- • 17.4 Tree Traversal
- • 17.5 Red-Black Trees
- • 17.6 Heaps
- • 17.7 The Heapsort Algorithm
Chapter 18: Generic Classes
- • 18.1 Generic Classes and Type Parameters
- • 18.2 Implementing Generic Types
- • 18.3 Generic Methods
- • 18.4 Constraining Type Parameters
- • 18.5 Type Erasure
Chapter 19: Stream Processing
- • 19.1 The Stream Concept
- • 19.2 Producing Streams
- • 19.3 Collecting Results
- • 19.4 Transforming Streams
- • 19.5 Lambda Expressions
- • 19.6 The Optional Type
- • 19.7 Other Terminal Operations
- • 19.8 Primitive-Type Streams
- • 19.9 Grouping Results
- • 19.10 Common Algorithms Revisited
Chapter 20: Advanced Input/Output
- • 20.1 Readers, Writers, and Input/Output Streams
- • 20.2 Binary Input and Output
- • 20.3 Random Access
- • 20.4 Object Input and Output Streams
- • 20.5 File and Directory Operations
Chapter 21: Multithreading (Web Only)
- • 21.1 Running Threads
- • 21.2 Terminating Threads
- • 21.3 Race Conditions
- • 21.4 Synchronizing Object Access
- • 21.5 Avoiding Deadlocks
- • 21.6 APPLICATION Algorithm Animation
Chapter 22: Internet Networking (Web Only)
- • 22.1 The Internet Protocol
- • 22.2 Application Level Protocols
- • 22.3 A Client Program
- • 22.4 A Server Program
- • 22.5 URL Connections
Chapter 23: Relational Databases (Web Only)
- • 23.1 Organizing Database Information
- • 23.2 Queries
- • 23.3 Installing a Database
- • 23.4 Database Programming in Java
- • 23.5 APPLICATION Entering an Invoice
- • ST 2 Transactions
- • ST 3 Object-Relational Mapping
- • WE 1 Programming a Bank Database
Chapter 24: XML (WEB ONLY)
- • 24.1 XML Tags and Documents
- • 24.2 Parsing XML Documents
- • 24.3 Creating XML Documents
- • 24.4 Validating XML Documents
Chapter 25: Web Applications (WEB ONLY)
- • 25.1 The Architecture of a Web Application
- • 25.2 The Architecture of a JSF Application
- • 25.3 JavaBeans Components
- • 25.4 Navigation Between Pages
- • 25.5 JSF Components
- • 25.6 APPLICATION A Three-Tier Application
Chapter Appendix A: The Basic Latin and Latin-1 Subsets of Unicode
Chapter Appendix B: Java Operator Summary
Chapter Appendix C: Java Reserved Word Summary
Chapter Appendix D: The Java Library
Chapter Appendix E: Java Language Coding Guidelines
Chapter Appendix F: Tool Summary
Chapter Appendix G: Number Systems
Chapter Appendix H: UML Summary
Chapter Appendix I: Java Syntax Summary
Chapter Appendix J: HTML Summary
Customer Reviews
0.0
0 reviews
No reviews yet. Be the first to review this book!
Write a Review
Reviewed by GradeFocus Editorial Team





