Starting Out with C++: From Control Structures through Objects (6th Edition)
This text was required for Programming 1 and Programming 2, but also was my default reference for Algorithms and Data Structures before I looked elsewhere for answers.
Like most text books on programming, it starts out with a little history on the C++ language, followed by the most basic elements of a C++ console program such as data types, arithmetic operations, variable scope, and comments.
Following a basic introduction to C++, and programming in general, in depth chapters are devoted to control flow, looping, and functions. Chapters 7 and 8 focus specifically on arrays; manipulating and searching arrays. One element lacking would be more focus on 2 dimensional arrays. While they do get explained, and practice examples provided, there is no mention of using 2 dimensional arrays as function arguments. This technique came up often enough in class assignments to the point that the book felt incomplete by leaving out this topic.
Following arrays, are chapters on strings and pointers. It is logical to place strings and pointers after arrays, since understanding arrays make pointers and strings far easier to understand. Also, Tony Gaddis uses pointers frequently in the sample code from this point on.
The second half of the book presents classes, linked lists and binary trees, more real world programming techniques.
The progression of the chapters follow a logical order, with plenty of review questions through out each chapter. Each chapter ends with standard review questions, quizzes, and problems, plenty of programming challenges are provided with each chapter. A nice touch, which adds consistency through each chapter, a mini project is provided chapter 1, and with each chapter, builds the project further with each new topic covered.
The CD accompanying the book provides all the source code for each example, with further examples, an extended set of appendices, and answers to review questions.
The examples and programs in this book are provided in a platform independent manner; Windows, OSX, or Linux will find all examples work when compiled. No mention of which development software except for one line in Chapter 1 on how to compile a C++ program at the Linux command line. All the programs used and presented in this book are console programs.
For those starting out in programming, or are new to the C++ language, this book provides the best value, with an excellent mix of reference and learning material.
No comments:
Post a Comment