C++ Plus Data Structures
Updated And Reorganized, C++ Plus Data Structures, Fourth Edition Explores The Specifications, Applications, And Implementations Of Abstract Data Types With Unmatched Accessibility. Written By Renowned Author And Educator Nell Dale, This Text Provides Intuitive Explanations That Clarify Abstract Concepts, And Approaches The Study Of Data Structures With Emphasis On Computer Science Theory And Software Engineering Principles. Topics Such As Modularization, Data Encapsulation, Information Hiding, Object-Oriented Decomposition, Algorithm Analysis, Life-Cycle Software Verification Models, And Data Abstraction Are Carefully Presented To Foster Good Software Engineering Techniques In Students From The Beginning Of Their Careers. In Addition To The Meaningful Exercises And Case Studies That Define Nell Dale'S Teaching Philosophy, This Fourth Edition Provides An Increased Emphasis On Object-Oriented Design And An Early Introduction Of Object-Oriented Concepts.
What people are saying - Write a review
Having taught from this text twice, I find that it is not quite so bad as many of the reviewers suggest. That being said, the title is extremely misleading. This is not a text that spends much effort on teaching the reader how to program in C++. It has the feel of a text that might have originally been written to help C programmers adapt to object-oriented methodologies.
It does have some merits which are worth enumerating.
1. Unlike many textbooks on computer science, it makes some effort to encourage students to design before coding. The precise way in which this is done is a little hokey, but it does make an effort.
2. Unlike many textbooks on computer science, it can be read by someone who is not already a fairly sophisticated programmer. Data Structures is often a class that is taught after students have worked in a number of programming languages and are quite sophisticated. At my institution, it is the second programming class that students take.
3. Unlike many textbooks on computer science, it can be useful to someone whose aim in reading it is not to follow a technical career path, but a career path in a technology industry. This book is a fairly good fit for a business student who is interested in improving their technical skills, which is exactly the reason that many of the more technically-minded reviewers dislike it. They grow impatient with it.
4. Many important rules of thumb are reasonably clearly explained in the text. For example, verifying recursive functions.
On the other hand, there are some problems with it.
1. There are a large number of mystifying choices that are made when naming variables or implementing algorithms.
2. There are a small number of mistakes in the code that the author has chosen to include in the text. In a recent printing, it seems several of these mistakes were "corrected" which led to more severe mistakes in these code snippets.
3. The exercises are not particularly good.
4. It doesn't really teach C++ (as I pointed out above).
5. It makes explicit use of several features of C++ (i.e. the confusing nature of templated classes) that make me wish I was teaching Data Structures in some other language.
6. It makes very little use of overloading and inheritance (one of the reasons that I think it is not good for teaching C++).
7. There are relatively few code comments in the code snippets in the text (although the exposition preceding and following the code usually compensates for this).
8. A lot of the essential code is provided to the student rather than being left as an exercise. Of course, code examples are so abundantly available that this seems rather innocent.
Suffice it to say there IS an audience for this text. My students find it to be relatively helpful, provided that I stay close to it in lecture. However, there are probably many students and instructors that will find its style offensive for its odd combination of assuming the reader is already relatively proficient in C++ while simultaneously being tolerant of explanation of concepts by analogy to such situations as library check-out desks and nested dolls.
e- commerce web sites require data structures in cpp instead of dcom