Skip to main content Skip to main navigation

Programming Abstractions in Java, 1st edition

  • Eric Roberts
Programming Abstractions in Java

ISBN-13: 9780134421186

Includes: Paperback

1st edition

Published by Pearson (February 9th 2016) - Copyright © 2017

Free delivery
$159.99 $127.99
Free delivery
$159.99 $127.99

What's included

  • Paperback

    You'll get a bound printed text.


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

For teachers

All the material you need to teach your courses.

Discover teaching material