Objects, Abstraction, Data Structures and Design
Title | Objects, Abstraction, Data Structures and Design PDF eBook |
Author | Elliot B. Koffman |
Publisher | John Wiley & Sons |
Pages | 832 |
Release | 2005-10-20 |
Genre | Computers |
ISBN | 0471467553 |
Koffman and Wolfgang introduce data structures in the context of C++ programming. They embed the design and implementation of data structures into the practice of sound software design principles that are introduced early and reinforced by 20 case studies. Data structures are introduced in the C++ STL format whenever possible. Each new data structure is introduced by describing its interface in the STL. Next, one or two simpler applications are discussed then the data structure is implemented following the interface previously introduced. Finally, additional advanced applications are covered in the case studies, and the cases use the STL. In the implementation of each data structure, the authors encourage students to perform a thorough analysis of the design approach and expected performance before actually undertaking detailed design and implementation. Students gain an understanding of why different data structures are needed, the applications they are suited for, and the advantages and disadvantages of their possible implementations. Case studies follow a five-step process (problem specification, analysis, design, implementation, and testing) that has been adapted to object-oriented programming. Students are encouraged to think critically about the five-step process and use it in their problem solutions. Several problems have extensive discussions of testing and include methods that automate the testing process. Some cases are revisited in later chapters and new solutions are provided that use different data structures. The text assumes a first course in programming and is designed for Data Structures or the second course in programming, especially those courses that include coverage of OO design and algorithms. A C++ primer is provided for students who have taken a course in another programming language or for those who need a review in C++. Finally, more advanced coverage of C++ is found in an appendix. Course Hierarchy: Course is the second course in the CS curriculum Required of CS majors Course names include Data Structures and Data Structures & Algorithms
The Object of Data Abstraction and Structures Using Java
Title | The Object of Data Abstraction and Structures Using Java PDF eBook |
Author | David D. Riley |
Publisher | Addison Wesley Publishing Company |
Pages | 700 |
Release | 2003 |
Genre | Computers |
ISBN |
*JS123-6, 0-201-71359-4, Riley, David; The Object of Data Abstraction and Structures (Using Java) This book covers traditional data structures using an early object-oriented approach, and by paying special attention to developing sound software engineering skills. Provides extensive coverage of foundational material needed to study data structures (objects and classes, software specification, inheritance, exceptions, and recursion). Provides an object-oriented approach to abstract design using UML class diagrams and several design patterns. Emphasizes software-engineering skills as used in professional practice.MARKET Readers who want to use the most powerful features of Java to program data structures.
Data Structures Via C++
Title | Data Structures Via C++ PDF eBook |
Author | A. Michael Berman |
Publisher | Oxford University Press on Demand |
Pages | 471 |
Release | 1997 |
Genre | Computers |
ISBN | 9780195108439 |
Bringing together the fundamental topics of a traditional introductory data structures course and the current world of C++ and object-oriented programming, Data Structures via C++: Objects by Evolution offers an evolutionary approach to the subject. It combines a sound pedagogy for teaching data structures at the introductory (CS2) level with modern ideas in software engineering and object-oriented programming. The book introduces students (and instructors) to C++ and object-oriented programming using a "just-in-time" approach which leads readers from traditional techniques to more current ideas. This text emphasizes abstraction by introducing each new data structure first as an abstract data type (ADT), then discussing the external interface, and following with implementation. The primary data structures included are lists, stacks, queues, tables, trees, and graphs. All examples are developed using C++, and advanced features are introduced as needed or just-in-time. Berman's real-world examples, such as simulation of an Ethernet, robot navigation, and expression processing, help to illustrate use of data structures in concrete terms. C++ language features and object-oriented concepts, both very useful in solving problems encountered in the course, are also covered. Techniques of object-oriented programming are introduced, with a strong emphasis on encapsulation and detailed coverage of inheritance. An overview of software engineering is presented, including discussion of the software life-cycle, design, testing, assertions and loop invariants, and abstract data types. All supporting materials will be available to faculty and students via the World Wide Web at: http: //www.rowan.edu/evolve.
Data Structures and Algorithms in Java
Title | Data Structures and Algorithms in Java PDF eBook |
Author | Michael T. Goodrich |
Publisher | John Wiley & Sons |
Pages | 736 |
Release | 2014-01-28 |
Genre | Computers |
ISBN | 1118771338 |
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.
Program Development in Java
Title | Program Development in Java PDF eBook |
Author | Barbara Liskov |
Publisher | Addison-Wesley Professional |
Pages | 472 |
Release | 2001 |
Genre | Computers |
ISBN |
Liskov (engineering, Massachusetts Institute of Technology) and Guttag (computer science and engineering, also at MIT) present a component- based methodology for software program development. The book focuses on modular program construction: how to get the modules right and how to organize a program as a collection of modules. It explains the key types of abstractions, demonstrates how to develop specifications that define these abstractions, and illustrates how to implement them using numerous examples. An introduction to key Java concepts is included. Annotation copyrighted by Book News, Inc., Portland, OR.
Data Structures and Algorithm Analysis in Java, Third Edition
Title | Data Structures and Algorithm Analysis in Java, Third Edition PDF eBook |
Author | Clifford A. Shaffer |
Publisher | Courier Corporation |
Pages | 607 |
Release | 2012-09-06 |
Genre | Computers |
ISBN | 0486173569 |
Comprehensive treatment focuses on creation of efficient data structures and algorithms and selection or design of data structure best suited to specific problems. This edition uses Java as the programming language.
Program Development in Java
Title | Program Development in Java PDF eBook |
Author | Barbara Liskov |
Publisher | Pearson Education |
Pages | 467 |
Release | 2000-06-06 |
Genre | Computers |
ISBN | 076868496X |
Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.