eBook[PDF]

Java Foundations: Introduction to Program Design and Data Structures 5th Edition By John Lewis, Peter DePasquale, Joe Chase

$30.00
Secure checkout
Instant digital download
PDF document

Document details

Pages
1,094
File size
13.59 MB
Format
Digital PDF
Category
eBook[PDF]
About this ebook
Java Foundations: Introduction to Program Design and Data Structures (5th Edition) by John Lewis, Peter DePasquale, and Joe Chase covers introductory programming concepts, object-oriented software design, and the implementation of fundamental data structures. The signature update in the 5th edition is a complete transition from Swing to JavaFX for all Graphical User Interface (GUI) topics. [1, 2, 3, 4]
Part 1: Basic Programming & Object-Oriented Design
  • Introduction: Introduction to Java, software development environments, and basic object-oriented concepts.
  • Data and Expressions: Primitive data types, expressions, operator precedence, data conversion, and reading interactive user input via the Scanner class.
  • Using Classes and Objects: Predefined classes, manipulating strings, generating random numbers, math operations, packages, enumerated types, and wrapper classes.
  • Conditionals and Loops: Boolean expressions, control flow statements (if, switch, while, do, for), the enhanced for-each loop, and file input parsing.
  • Writing Classes: Anatomy of a class, instance data, visibility modifiers, scope, method design, parameter passing, constructors, method overloading, static members, and software testing/debugging.
  • Graphical User Interfaces (GUIs): Building modern graphical user interfaces using the JavaFX framework, event handling, and layout panes.
  • Arrays: Creating and using arrays, bounds checking, arrays of objects, command-line arguments, variable-length argument lists (varargs), and multidimensional arrays.
  • Inheritance: Class hierarchies, deriving subclasses, overriding methods, the super reference, and the Object class hierarchy.
  • Polymorphism: Polymorphic references, compile-time vs. run-time binding, interfaces, and polymorphic design.
  • Exceptions: Error handling categories, the try-catch statement, exception propagation, throwing custom exceptions, and stream-based text file I/O. [1, 2, 3, 4, 5]
Part 2: Algorithms & Advanced Data Structures
  • Analysis of Algorithms: Introduction to efficiency, Growth functions, and Big-O notation.
  • Stacks: Stack collection concepts, array-based stack implementations, and linked data structure stack implementations.
  • Queues: Queue collection processing, array-based queues (including circular queues), and linked queue structures.
  • Lists: Ordered, unordered, and indexed lists; comparing and contrasting list operations alongside inheritance-driven design implementations.
  • Iterators: Concepts, design, and implementation of explicit iterator components to support collection traversal.
  • Recursion: Principles of recursion, programming recursive methods, and classic problems (e.g., Towers of Hanoi).
  • Searching and Sorting: Linear and binary search algorithms; selection sort, insertion sort, bubble sort, merge sort, and quicksort analysis.
  • Trees & Binary Search Trees: Tree definitions, traversals (pre-order, in-order, post-order), binary search tree operations, and balanced tree issues.
  • Heaps & Priority Queues: Heap concepts, array implementations, and priority queue applications.
  • Sets and Maps: Concept of collection structures mapping keys to values, hashing functions, and performance traits.
  • Multi-way Search Trees: 2-3 trees, 2-4 trees, B-trees, and AVL self-balancing strategies.
  • Graphs: Directed and undirected graphs, graph traversal algorithms (breadth-first and depth-first), and minimum spanning trees.
  • Databases: Relational database abstractions and executing basic database transaction interactions from Java code. [1, 2, 3]

File included

PDF
tmpphpXBFnxd 13.59 MB

Topics

9780135205976 9780135206638 Algorithms & Advanced Data Structures Analysis of Algorithms: efficiency Growth functions and Big-O notation and interactive user input via the Scanner class Arrays: Creating and using arrays bounds checking arrays of objects command-line arguments Basic Programming & Object-Oriented Design binary search tree operations and balanced tree issues comparing and contrasting list operations Conditionals and Loops: Boolean expressions control flow statements (if switch while do for) constructors method overloading static members and software testing/debugging Data and Expressions: Primitive data types expressions operator precedence data conversion Databases: Relational database abstractions Directed and undirected graphs Exceptions: Error handling categories the try-catch statement exception executing basic database transaction interactions from Java code graph traversal algorithms (breadth-first and depth-first) Graphical User Interfaces (GUIs): Building modern graphical user interfaces Heap concepts array implementations and priority queue applications Inheritance: Class hierarchies deriving subclasses Introduction to Java software development environments and object-oriented concepts Iterators: Concepts design and implementation of explicit iterator components Linear and binary search algorithms math operations packages enumerated types and wrapper classes Multi-way Search Trees: 2-3 trees 2-4 trees B-trees and AVL self-balancing strategies Ordered unordered and indexed lists Polymorphism: Polymorphic references compile-time vs. run-time binding interfaces propagation throwing custom exceptions and stream-based text file I/O Queue collection processing array-based queues (including circular queues) recursion programming recursive methods and classic problems (e.g. Towers of Hanoi) selection sort insertion sort bubble sort merge sort and quicksort analysis Sets and Maps: collection structures mapping keys to values hashing functions Stack collection concepts array-based stack implementations and linked data structure stack implementations the super reference and the Object class hierarchy Tree definitions traversals (pre-order in-order post-order) Using Classes and Objects: Predefined classes manipulating strings generating random numbers using the JavaFX framework event handling and layout panes variable-length argument lists (varargs) and multidimensional arrays Writing Classes: Anatomy of a class instance data visibility modifiers scope method design parameter passing