| ||||||||||||
Absolute C++ is the definitive textbook on C++ from best-selling author Walt Savich. This brand new book provides complete, thorough, absolute coverage of the C++ programming language.
Absolute C++ provides all of the tools necessary for experienced and novice programmers alike to master C++, emphasizing the qualities and complexities of the language aver elementary programming technique. Thus, it presents:
Absolute C++ also offers a full supplements package for instructors, including instructor's manual, solutions manual, PowerPoint slides, and Testfen, a computerized test generator. A companion web site (www.aw.com/savitch) is available for all readers to help enhance and test their understanding of the material.
This book is designed to be a textbook and reference for programming in the C++ language. Although it does include programming techniques, it is organized around the features of the C++ language rather than any particular curriculum of programming techniques. The main audience I had in mind when writing this book was undergraduate students who have not had extensive programming experience with the C++ language. As such, it would be a suitable C++ text or reference for a second or later computer science course that uses C++; it could even be used for a first programming course. This book is designed to accommodate a wide range of users. The beginning chapters are written at a level that is accessible to beginners, while the boxed sections of those chapters serve to quickly introduce more experienced programmers to basic C++ syntax. Later chapters are still designed to be accessible, but are written at a level suitable for students who have progressed to these more advanced topics. (For those who want a beginning textbook with more pedagogical material and more on very basic programming technique, I suggest another book I wrote that is more along these lines.)
This book also includes an introduction to patterns and the Unified Modeling Language (UML). Since many computer science curricula postpone recursions to a second computer science course, the book includes a full chapter on recursion.
The C++ coverage in this book is very complete, going well beyond what a beginner needs to know. In particular, there is extensive coverage of inheritance, polymorphism, and exception handling in C++. There is also extensive material on the Standard Template Library (STL), as well as an introduction to patterns and the Unified Modeling Language (UML). Since many computer science curricula postpone recursion to a second computer science course, the book includes a full chapter on recursion.
This book was written to conform to the new ANSI/ISO C++ standard.
The Standard Template Library is an extensive library collection of preprogrammed data structure classes and important algorithms. The STL is perhaps as big a topic as the core C++ language. This book contains a very substantial introduction to the STL. There is a full chapter on the general topic of templates and a full chapter on the particulars of the STL, as well as other material on or related to the STL at other points in the text.
This book is organized around the structure of the C++ language. As such, the earlier chapters, which cover aspects of C++ that are common to almost all high-level programming languages, are not particularly oriented toward object-oriented programming (OOP). This makes sense for a reference book and a book for learning a second language. However, I do consider C++ to be an OOP language. If you are really programming in C++ and not C, then you must avail yourself of the OOP features of C++. This book gives extensive coverage of encapsulation, inheritance, and polymorphism as realized in the C++ language. The final chapter on patterns and UML gives additional coverage of OOP-related material.
This book allows instructors wide latitude in reordering the material. This is important if a book is to serve as a reference. It is also in keeping with my philosophy of writing books that accommodate themselves to an instructor's style, rather than being the instructor to an author's personal preference of topic ordering. With this in mind, each chapter introduction explains what material must be covered before doing each section of the chapter.
It is not enough for a book to present the right topics in the right order. It is not even enough for it be clear and correct when read by an instructor or other expert. The material needs to be presented in a way that is accessible to the person who does not yet know the material. Like my other textbooks that have proved to be very popular with students, this book was written to be friendly and accessible to the student.
Summary Boxes
Each major point is summarized in a boxed section. These boxed sections are spread throughout each chapter. They serve as summaries of the material, as a quick reference source, and a way to quickly learn the C++ syntax for features the reader knows about in general but for which he or she needs to know the C++ particulars.
Self-Test Exercises
Each chapter contains numerous Self-Test Exercises at strategic points in the chapter. Complete answers for all the Self-Test Exercises are given at the end of each chapter.
Other Features
Pitfall sections, programming technique sections, and examples of complete programs with sample I/O are given throughout each chapter. Each chapter ends with a summary section and a collection of programming projects suitable to assign to students.
Each book comes with a free copy of the Microsoft Visual C++ 6.0 Introductory Edition. In addition, the following supplements are available on the book's companion website at http://www.aw.com/savitch/:
The following resources are available to qualified instructors only. Please contact your local sales representative or send e-mail to aw.cse@awl.com for access information:
Numerous individuals have contributed invaluable help and support in making this book happen. Frank Ruggirello and my editor Susan Hartman at Addison-Wesley are the ones who first conceived of the idea for this book. Susan Hartman, Galia Shokry, Lisa Kalner, and the other fine people at Addison-Wesley were a continuing source of support and encouragement in getting the book reviewed, revised, and out the door.
Cindy Kogut did an incredibly thorough job of copyediting. Sally Boylan and others at Argosy Publishing did great work under rushed conditions in converting the manuscript to typeset pages.
David Teague deserves special acknowledgment. I very much appreciate his hard work, good insights, and careful researching for this book.
I thank my good friend Mario Lopez for the many helpful conversations we had about C++.
The following reviewers provided corrections and suggestions that contributed greatly to the final product. I thank them all. In random order they are Kenrick Mock, University of Alaska, Anchorage; Richard Albright, University of Delaware; H. E. Dunsmore, Purdue University; Christopher E. Cramer; Drue Coles, Boston University; Evan Golub, University of Maryland; Stephen Corbesero, Moravian College; Fredrick H. Colclough, Colorado Technical University; Joel Weinstein, Northeastern University; Stephen P Leach, Florida State University; Alvin S. Lim, Auburn University; and Martin Dulberg, North Carolina State University.
I again thank David Teague-this time for his excellent work in preparing the instructor's guide.
Finally, I thank Christina for putting up with my working late on the book and even offering encouragement instead of complaining.
Walter Savich
http://www-cse.ucsd.edu/users/savitch/
wsavitch@ucsd.edu
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
47 of 49 people found the following review helpful:
5.0 out of 5 stars
Absolutely 100% Fat-Free C++,
This review is from: Absolute C++ (Paperback)
Although I don't believe in the perfect C++ textbook that teaches everything and satisfy the absolute novices as well as the seasoned experts, 'Absolute C++' by Walter Savitch is the very first C++ textbook (the book that teaches you the syntax of C++ language) that really satisfies me with the completeness of its coverage of the C++ language without verbosity of the other countless textbooks available in the market. Its coverage of C++ topics is concise but thorough. Its organization is neat and its presentation is very pleasant to the eyes. Each topic is presented in the sensible order which facilitates the readers to learn C++ step by step without getting lost or tangled up with the bits of coverage all over the textbook. Each chapter contains the handful of review exercises with the complete answers. This textbook is lean and nutritious (100% fat-free). Anyone who really hates textbooks in the remote vicinity of 'C++ How to Program' by Deitel and Deitel should take a look at this.Some helpful tips for those who just started learning C++. 1) Keep in mind that C++ is a very hard and tough programming language to master. C++ is arguably the most complicated programming language available today. It is by no mean THE perfect programming language, and it requires the tremendous amount of responsibilities from the programmer. However, no other language is as powerful, versatile, and flexible as C++. It gives the programmers the assembly-language-like freedom with the data types and the memory management. It offers the programmers the characteristics of both the high-level language and low-level language. It also provides the programmers both the efficient structure-oriented features and the strong object-oriented features at the same time. 2) C++ is not C, although C++ is derived from C language. Although C++ is derived from C and inherited many features from C, C++ is NOT C. They are totally two different and separate languages just as Java is not C++. C is a structure-oriented language while C++ is object-oriented language. C++ has many new features that C can't even begin to dream about. Give C++ all due respect. 3) The perfect C++ textbook does not exist, so stop trying to find one. Just about everyone who ever tried to learn C++ have attempted one way or another to find or to write that elusive perfect textbook that teaches you everything and satisfy the absolute beginners as well as the seasoned experts. The fact of the matter is there isn't one. Learning C++ can be a very long and frustrating process given the complexity of the language. It will take your full attention, devotion, and time to master C++ no matter which textbook you choose to use. Many books claim to be the one. Many programmers claim that the book they recommend is the one. But the experienced programmers will find the beginners' textbooks such as 'Starting out with C++' by Tony Gaddis insulting and waste of time while the novice programmer will find advanced textbooks like 'The C++ Programming Language' by Bjarne Stroustrup very intimidating and frustrating. It really depends on each individual's level of the knowledge on C++. One person's best textbook can be another person's total waste, and everyone has a different and unique way of digesting information. Make sure that you thoroughly check the contents before you choose to buy any C++ textbook. Instead of taking others' recommendations and advices for granted, you should try to find the right combination on your own. You will probably need to use a few different textbooks together, because single textbook cannot possibly cover all the topics and the required depth necessary to master C++. This is especially true for the advanced topics such as 'Templates', 'Data Structure', 'STL', and 'File Processing', which are broad and complicated enough to deserve a single textbook. I recommend 'Absolute C++' by Walter Savitch for the absolute novice programmers. If you have few or no prior programming experience, this will be one of the easiest textbooks available. If you are the advanced programmers, you really should be able to understand anything written about C++. 'C++ Primer' by Stanley Lippman and Josee Lajoie or 'Core C++: A software Engineering Approach' by Victor Shtern could substitute as the alternative textbook for the advanced programmers. If you are the expert programmers, 'C++ FAQs' by Marshall Cline, Greg Lomow, and Mike Girou, 'Effective C++' series by Scott Meyers and 'The C++ In-Depth Series' from Addison-Wesley should be adequate enough to satisfy your ego and to teach you many advanced techniques not found in other textbooks.
20 of 20 people found the following review helpful:
5.0 out of 5 stars
Truly a well written college text book,
By ART SEDIGHI (Old Bethpage, NY United States) - See all my reviews
This review is from: Absolute C++ (Paperback)
Walter Savitch, the author of the Absolute C++, first edition, has done an amazing job putting together a book that can be used as a teaching aid for second year or first year advanced Computer Science students. Unlike professional books, the author has geared this book towards students with little programming experience in the real-world at least, and has created problems that can aid the student in learning the material more deeply and more concretely. If I were an instructor, this would the book that I would use, and if I had to take C++ all over again, this is the book I would love to learn from.Color aids and categorized notes, such as "Pitfall" and "Tip", aid the student along the way with little details that go a long way when you are programming. "Example" and "Self-test exercises" further the learning process after each section by testing the student's knowledge of the topic. At the end of each chapter answers are given to the "self-test exercises" and various programming projects are given that mimic the topic covered and at the same time expect the student to think outside of the box to solve the problems. Some of the programming projects given are hard enough that they can used - alone or collectively with other problems in other chapters - as semester long projects or group projects. Being a text book on C++, one would wonder about the authors approach to the C++ language. It would help if the readers on this book have some background on programming, and especially in C++. The author spends one chapter on the basics of the language, but that's not enough for readers with no programming background. A good deal is then devoted to various aspects of programming such as arrays, functions and structures first before the author starts on the in-depth coverage of C++ itself. The Standard Template Library (STL) is used throughout the book to demonstrate and teach C++, starting with Vectors. Each of the classes of the STL are covered in detail throughout the book, but the authors breaks each of the major classes (lists, string, vector, etc...) and places them to teach a specific topic to the students. The author touches on STL first before going in to operator overloading, for example. This way, the students can learn the [semi] advanced features of the language in a context in which it can later be used - more concrete and more applied approach rather than an abstract overview of the features. With that pattern, the string class is covered first before the author starts on pointers, array of pointers, character pointers and pointer and reference manipulation in general. More advanced topics in C++ such as virtual functions, inheritance, templates and exceptions are covered towards the last half of the book. Templates being a rather interesting and possibly complicated topic are covered before the STL container classes such as linked lists and trees are covered. Not too much detail is given on templates and only the basics, as one would expect. Templates are covered just enough to get the students to understand how linked lists work, or how function templates are used in the STL, for example. UML and Patterns? They are covered too. Not in detail, but enough for a lecture or two at the end of the semester. Model-View-Controller, the classic of all patterns is covered first, and examples from the book are used to convey the message and the power of templates.
20 of 20 people found the following review helpful:
5.0 out of 5 stars
Best C++ book to sufficiently explain the syntax,
By RICHARD D GUNDERSON (Minneapolis, MN USA) - See all my reviews
This review is from: Absolute C++ (Paperback)
I have been out of college for 7 years now, and have been a programmer all that time. When I graduated, although I knew enough C++ "to be dangerous", I was uncomfortable with the language. With many years experience under by belt, I now understand why I (and many of my graduating classmates) were so confused and uncomfortable with C++ -- Syntax!C++ is very flexible and powerful. I've been tought that. Only no one every showed me exactly why. Probably because in order to do powerful things in C++ requires a mastery of all the syntax. There are slightly different ways to overload functions and operators (both binary and uniary), and friend classes of multi-class inheritence etc etc. My professors in college did a good job of explaining the theory of Classes, Inheretence, Overloading, Templates and so on. However, when it came down to actually writting some code, I had now idea how to implement all these grand abstract theoretical ideas. Therefore as a result, I wrote long confusing C code using the C++ compiler to get around my lack of knowledge how to actualy write the syntax. "Absolute C++" is the first C++ book I've read which does an excellent job of teaching you about syntax on the Nuts-and-Bolts aspects of implementation. (Especially overloading of functions and operators; different ways to invoke different constructors; the different ways you can invoke an overloaded assignment operator; doing all the above as an abstract base class; doing all the above as a template; how namespaces work.) Learning about high-level theory of object-oriented programming is a great thing! But, there comes a time when you have to know how to actually express your idea in a programming language (i.e. syntax.) That's the part my professors weren't good at. And unfortunately, no one seems to think the syntax matters anymore. Perhaps that's why software is so bug-riden and inefficient these days, because there's so many programmers who simply don't know how to write good software taking advantage of all the complex syntactic features of a language. In fact, if you read customer reviews for ANY computer programming book here on Amazon, there's always a lot of people complaining about "not enough examples." I think what they really are trying to say is, "Okay I understand the theory, how do I program all of that?" I just wish someone would write a C++ book entitled "Become a human compiler for the C++ language in 21 days" that focused solely on the language, and not general OO theory. I suppose I could read the BNF description of the language, but that seems more difficult. The reason I'm so Gung-Ho about learning the syntax is due in part to this book "Absolute C++". I was one of a sea of engineers working for IBM last year, and our department took a refresher C++ course which this book was offered. The professor tought the language, and didn't talk at all about OO theory. Suddenly everything made sense! All that high-level theory in college started to come together and I "got it". He taught us what the compiler was doing as it interpreted various syntax statements. That practical low-level understanding strengthend my high-level general OO knowledge so much that I became a much better software engineer. I wish all programming books would spend more time on the practical syntatic details. Not only does it make you a stronger programmer, but a better software designer as well.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|