( the book home page) In particular, this is a book designed to
teach programming using C++, not a book designed to teach C++.
Nevertheless, I expect students who use this book will be
reasonably adept C++ programmers. Object-oriented programming is
not a programmer's panacea although it can make some jobs much
easier. To mix metaphors, no matter how you slice it learning to
program is a hard task --- it takes time to master just as bread
takes time to rise. The material here is grounded in the concept
that the study of computer science should be part of the study
of programming. It is also based on the idea that program design
is a very difficult task for novices to master, but that program
enhancement or modification (a much more manageable skill)
permits beginning programmers to develop programming skills in
the context of meaningful programs. Most importantly, this book
takes the view that the study of computer science should involve
hands-on activity and should be fun. The study of programming
must cover