Product Cover Image

Programming Abstractions in Java

By Eric Roberts

Published by Pearson

Published Date: Feb 9, 2016

Description

For courses in Java Data Structures.

 

Programming Abstractions in Java: A Client-First Approach

Programming Abstractions in Java is intended for use in the second programming course in most college or university curriculum. Stanford University’s Eric Roberts employs a novel strategy called the client-first approach while maintaining full coverage of the CS2 curriculum. In the traditional approach, students learn how to use a particular data structure, how to implement it, and what its performance characteristics are—all at the same time. Roberts exposes the weakness of this model. In short, students are trying to understand how a structure is implemented before they have mastered how one would use that structure in an application.

 

With Programming Abstractions in Java and Roberts’s client-first approach, students learn how to use the full set of collection classes before they tackle any implementation issues. By tackling compelling, real-world assignments in which they use the collection classes as clients, students gain a firm sense of the underlying data model and how each structure can be used. Once they have had time to master the client-side perspective, students are ready to explore the range of possible implementations and their associated computational characteristics. They can also begin to learn the software development skills so desperately needed in the technology industry today.

Table of Contents

1. Overview of Java

2. Methods

3. Strings

4. Files

5. Arrays

6. Collections

7. Classes and Objects

8. Inheritance

9. Recursive Strategies

10. Backtracking Algorithms

11. Algorithmic Analysis

12. Efficiency and Representation

13. Linear Structures

14. Maps

15. Trees

16. Sets

17. Graphs

18. Expression Trees

19. Using Function as Data

Print

Programming Abstractions in Java

Add to Cart

$159.99 $151.99 | ISBN-13: 978-0-13-442118-6

Free Ground Shipping.