
Programming Abstractions in Java
Eric Roberts(Author)
Pearson (Publisher)
Will be published approx. on 16. February 2016
Book
Paperback/Softback
800 pages
978-0-13-442118-6 (ISBN)
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.
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.
More details
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 100 mm
Width: 100 mm
Thickness: 100 mm
Weight
100 gr
ISBN-13
978-0-13-442118-6 (9780134421186)
Schweitzer Classification
Person
Eric Roberts is the Charles Simonyi Professor of Computer Science, emeritus, at Stanford University. Throughout his career, Roberts was a widely acknowledged leader in computer science education and received numerous national and international awards, including the Outstanding Contribution to Computer Science Education Award from the Association for Computing Machinery's Special Interest Group in Computer Science Education (ACM SIGCSE), the Karl V. Karlstrom Outstanding Educator Award from the ACM, and the Taylor Booth Education Award from the Institute for Electrical and Electronic Engineers Computer Society (IEEE-CS). Programming Abstractions in Java is his seventh book.
Content
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
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