Programming Abstractions in Java eBook : 9780134422022

Programming Abstractions in Java eBook

Published by
Pearson Higher Ed USA
Title type
NZ/Pacific customers only
This eText can only be purchased by people residing in New Zealand, Fiji, Samoa, Tonga or Cook Islands with a credit card from the same country. Click here to find the Pearson website for your region.

For courses in Java Data Structures.


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.

The full text downloaded to your computer

With eBooks you can:

  • search for key concepts, words and phrases
  • make highlights and notes as you study
  • share your notes with friends

eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.

Upon purchase, you will receive via email the code and instructions on how to access this product.

Time limit

The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed.

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
Features & benefits

Programming Abstractions in Java provides the following features to facilitate learning:


Prepare students to bridge the gap between the future of the high-tech industry and the short supply of trained developers and engineers

  • Extensive examples and exercises ensure that students move beyond simply reading about algorithmic techniques and learn to apply algorithms in practice.
  • Learning how to develop and maintain large systems allows students to explore such issues as data representation, efficiency, security, correctness and modularity.
  • Algorithms and strategies as monuments to human creativity give students a look at implementation strategies new and old–some invented in the last decade and some more than 2000 years old.
  • Working through exercises and debugging in early attempts prompts students to apply the learned material to solve problems.
  • The overall content lays the groundwork for understanding advanced topics in programming and the broader field of computer science.


Help students solve problems in a new way using the “client-first approach”

  • Stanford University’s “client-first approach” allows students to gain a better understanding of the underlying data model and how each structure can be used.
  • Learning how to use Java’s standard collection classes enables students to master the tools they need to write effective applications.
  • Presenting the client-side perspective early allows students to understand how data structures are used before exploring the range of possible implementations and their associated computational characteristics.
  • Roberts's clear presentation of the “client-first approach” builds on the tremendous success of this approach at Stanford University.
  • The material in the text is covered in a traditional CS2 course, as defined in the Curriculum ’78 report prepared by the Association for Computing Machinery (ACM).  It also includes most of the topics specified for the CS102O and CS103O courses, asdefined by the Joint ACM/IEEE-CS Computing Curricula 2001 report and the material in the AL/Fundamental Data Structures and Algorithms unit from Computer Science Curricula 2013
Access Code info.

To get the most out of your eBook you need to download the VitalSource Bookshelf software. This software is free to download and use. View the VitalSource Bookshelf system requirements here.

Download Information: Once purchased, you can view and/or download your eBook instantly, either via the download link which you will receive as soon as you complete your online order or by viewing the download link against the order in the My Account area of this website.

Please note: eBooks are available for download immediately and cannot be returned once purchased.