(Pearson Education) A textbook designed for undergraduate computer science students. Provides an introduction to data structures using object-oriented analysis and design. The CD-ROM contains an Eiffel compiler and development environment, with several other tools for use with the text. DLC: Object-oriented programming (Computer science).
"synopsis" may belong to another edition of this title.
FEATURES
Preface
Most computer-science curricula have at least one course in data structures. Such a course s usually taken by all majors, since its contents are used in subsequent courses. Historically, his course has dealt almost solely with data structures, including their time and space analyses (along the lines of the courses CSl and CS2 of the ACM88 Curriculum). However, in recent years such a course is also expected to give students a good object-oriented programming background, and, increasingly, an introductory background in software development. This is in keeping with the ACM/IEEE-CS Computing Curricula 1991 report, which emphasizes, among other things, software engineering and software design, rather than merely implementing the data structures in an object-oriented language.
Whereas this book is designed for our present second-year course taken by all our majors, it is also appropriate for the second term of first year (i.e., CS2) in some situations. In particular, it will be useful to those institutions that have a strong object-oriented CS1 course and wish to present more on application-level software development to their students. To fit at the CS2 level, the book includes all the material on the basic data structures arrays and linked lists-before treating more advanced data structures. The amount of the advanced material that can be covered in a second-term first-year course will depend on the background of the students and the pace of the course. However, the book has more material than can typically be covered in a CS2 course. As a result, it can also be used in a subsequent course to develop more depth in data structures and software engineering. Alternately, if first year uses a breadth-first approach, this book will be suitable for a strong second-year course that integrates data structures and software engineering.
Our presentation is from an object-oriented perspective and includes many of the recent software engineering techniques for an object-oriented development of a system. For our implementation language, we have chosen Eiffel, a language specifically designed for developing large object-oriented systems. It is a full-featured object-oriented language that includes abstract classes, assertions such as preconditions, postconditions, and class invariants, multiple inheritance, generic classes, exception handling, automatic garbage collection, and GUI interfaces. In particular, preconditions and postconditions were designed to support the software engineering approach of Design by Contract. Also, the simple concepts can be expressed in a clean and simple syntax without being clouded by a multitude of alternatives, options, and exception handling. Even for more complex concepts, the syntax is still simple, although the semantics necessarily increase in complexity. Although Eiffel is the language of implementation, we only use moderate amounts of code.
Like in most other recent data structure books, abstract data types (ADTs) are discussed early. ADTs offer several advantages that include encapsulation and information hiding. In any object-oriented programming language, a deferred/abstract class provides a clean implementation of an abstract data type. Also, the use of inheritance facilitates the design of modular, extendible, and reusable systems. The existence of multiple and repeated inheritance in Eiffel opens up more possibilities for the system design implementation.
But using ADTs and inheritance in developing software does not by themselves guarantee quality software. One of the primary goals is to integrate several software-engineering principles with the data structures content of the course. Students at the first- or second-year level should be introduced to the principles of software engineering, but they do not have the programming experience to understand the problems or complexities of writing large projects. Often, if these software principles are studied in isolation, they can be beyond their comprehension and are viewed as just requiring more work. They do see the need for data structures, and, with a library of data structures, they can design and build much larger applications. Thus, the book integrates data structures, library design, and the software principles into one package. Obviously at the first- or second-year level, software engineering cannot be presented to the depth of a third-year or fourth-year/graduate course. However, by gradually introducing more and more software design concepts when building up a data structures library, students can obtain a surprisingly good background in the analysis and design of software systems.
However, our discussion of software development is not limited to the data structures library context. We begin with simple software engineering concepts and repeatedly use them to develop applications throughout the book. After students have developed a working knowledge of the software basics, the more advanced concepts are introduced throughout the remainder of the book. The students absorb the software engineering material while working with concrete techniques and data structures.
An important part of this book not found in most other texts is the modeling of the problem domain. Any nontrivial object-oriented project must begin with problem modeling, and even at the first- or second-year level, students need exposure to modeling concepts. The static structure is modeled using types of relationships such as inheritance, aggregation, and association. The dynamic structure is modeled with events, users (and actors), use cases, and object-interaction diagrams. We develop and present a simplified methodology for system development. Included with it is the use of appropriate diagrams using the Unified Modeling Language (UML) to portray the key aspects of the system design. We use the methodology to develop significant applications that use the data structures being developed in parallel.
Some important aspects of this book are:
Summary by Chapters
Chapter 1 examines the phases present in most software development processes. This chapter explores briefly factors that are important in assessing the quality of software systems. The chapter also examines some fundamental principles of software design that have been used in the production of quality software. It concludes with an overview of three approaches to software design.
Chapter 2 presents the basics of the Eiffel language. The main goal of this chapter is to cover Eiffel's elementary constructs so that a student can write simple programs.
Chapter 3 introduces the elements and mechanisms that constitute the object mode...
"About this title" may belong to another edition of this title.
Shipping:
US$ 3.75
Within U.S.A.
Shipping:
US$ 8.51
From United Kingdom to U.S.A.
Seller: Majestic Books, Hounslow, United Kingdom
Condition: New. pp. xxiv + 1037 Illus. Seller Inventory # 5319503
Quantity: 1 available
Seller: Books Puddle, New York, NY, U.S.A.
Condition: New. pp. xxiv + 1037 1st Edition. Seller Inventory # 262528400
Quantity: 1 available
Seller: HPB-Red, Dallas, TX, U.S.A.
Hardcover. Condition: Good. Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! Seller Inventory # S_371498519
Quantity: 1 available
Seller: Biblios, Frankfurt am main, HESSE, Germany
Condition: New. pp. xxiv + 1037. Seller Inventory # 182528410
Quantity: 1 available
Seller: Basi6 International, Irving, TX, U.S.A.
Condition: Brand New. New. US edition. Expediting shipping for all USA and Europe orders excluding PO Box. Excellent Customer Service. Seller Inventory # ABEJUNE24-61615
Quantity: Over 20 available
Seller: Romtrade Corp., STERLING HEIGHTS, MI, U.S.A.
Condition: New. This is a Brand-new US Edition. This Item may be shipped from US or any other country as we have multiple locations worldwide. Seller Inventory # ABTA-45310
Quantity: 5 available
Seller: Phatpocket Limited, Waltham Abbey, HERTS, United Kingdom
Condition: Acceptable. Used - Acceptable. Your purchase helps support Sri Lankan Children's Charity 'The Rainbow Centre'. Ex-library with wear and barcode page may have been removed. Our donations to The Rainbow Centre have helped provide an education and a safe haven to hundreds of children who live in appalling conditions. Seller Inventory # Z1-V-007-01496
Quantity: 1 available
Seller: Brit Books, Milton Keynes, United Kingdom
Hardcover. Condition: Used; Very Good. ***Simply Brit*** Welcome to our online used book store, where affordability meets great quality. Dive into a world of captivating reads without breaking the bank. We take pride in offering a wide selection of used books, from classics to hidden gems, ensuring there is something for every literary palate. All orders are shipped within 24 hours and our lightning fast-delivery within 48 hours coupled with our prompt customer service ensures a smooth journey from ordering to delivery. Discover the joy of reading with us, your trusted source for affordable books that do not compromise on quality. Seller Inventory # 3764474
Quantity: 1 available
Seller: dsmbooks, Liverpool, United Kingdom
Hardcover. Condition: Like New. Like New. book. Seller Inventory # D7F5-8-M-0137879466-6
Quantity: 1 available