Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Computing concepts with C++ essentials
Horstmann C., John Wiley & Sons, Inc., New York, NY, 1997. Type: Book (9780471137702)
Date Reviewed: Sep 1 1998

Horstmann takes a novel approach to the difficult task of teaching computer programming to beginners. He starts with a subset of C++, uses this subset to introduce the basic elements of programming, and relies from the beginning on the use of objects. Since the trend is toward increased use of object-oriented programming, using objects and classes from the start is a promising approach.

Horstmann begins with fundamental data types (in chapter 2) and objects (in chapter 3), using them under the assumption that classes already exist. Chapters 4 and 6 deal with control structures. Chapter 5 covers functions, and chapter 7 discusses testing and debugging. The author introduces classes in chapter 8, then presents vectors and files in chapters 9 and 10, respectively. Chapter 11 is devoted to modules, while the basic problems related to inheritance and polymorphism are discussed in chapter 14. Basic notions of fundamental algorithms (including two sorting methods and two search methods) are presented in chapter 12. Chapter 13 covers more elaborate data structures, such as linked lists and binary trees. The book ends with three useful appendices, devoted to coding guidelines in C++, a C++ language summary, and basic elements that differentiate C from C++ (a sort of C for C++ programmers). References are given at the end of each chapter as further readings and cover both classical and modern books.

An excellent feature of the book is the classification of the material into three parts: the essential, the useful, and the optional. This division is found in each chapter. The essential is the basic text to be read; the useful is represented by small sections devoted to “Common Errors,” “Productivity Hints,” and “Quality Tips”; and the optional consists of “Random Facts” and “Advanced Topics.” This division is valuable for beginners, because they can select the appropriate level of detail. The “Random Facts” provide historical and social information related to the topics being discussed.

The book is well written, combining a clear style with a good selection of essential elements of C++, while hiding irrelevant details and not wasting time with overly detailed explanations. Each chapter is accompanied by an extensive set of well-conceived exercises. To run the programs in the book, one needs a copy of the code library, which can be found on the World Wide Web. The programs use the ANSI C++ features but, since not all compilers support them, the code library contains implementations of Boolean type, the string class, and the vector template. The ccc.h header defines a small number of utility functions that are used in the programs “to make life simpler for the students,” but constantly using these predefined functions may be dangerous. It keeps the programs neat and simple, but the nonstandard functions may easily be mistaken as standard C++ functions. Apparently, the solution will be to keep using these functions for all subsequent C++ programming, at least until one has thoroughly mastered the language. This is the book’s only drawback.

The book is excellent, particularly for its modern approach and effective organization. It is well suited for those taking their first steps in programming and can be used both as support for self-study and as a course text. It provides at least enough material for a one-semester course, but for a two-semester course on C++, some additional material on object-oriented design would be needed.

Reviewer:  A. Florea Review #: CR121274 (9809-0661)
Bookmark and Share
 
C++ (D.3.2 ... )
 
 
Control Structures (D.3.3 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
 
Design (D.2.10 )
 
 
Object-Oriented Programming (D.1.5 )
 
 
Introductory And Survey (A.1 )
 
Would you recommend this review?
yes
no
Other reviews under "C++": Date
A C++ toolkit
Shapiro J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780131276635)
Dec 1 1991
Borland C++ handbook
Pappas C., William H. I., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780078810152)
Feb 1 1993
Going from C to C++
Traister R., Academic Press Prof., Inc., San Diego, CA, 1993. Type: Book (9780126974126)
Apr 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy