Software Design Using C++Introduction and PhilosophyThese web pages attempt to provide the material needed for three complete computer science courses: what are typically called CS 1, CS 2, and a data structures course, all using C++ as the programming language. (At Saint Vincent College these courses are numbered CS 110, CS 111, and CS 221). The examples have been tested with Microsoft's Visual C++ 6.0 compiler under Windows. Nearly all have also been tested with both Visual C++ .NET under Windows and g++ under Linux. Most would also work with other compilers. The documentation at the top of each program example states which compilers were used in testing the program. If you use a different compiler, check your compiler's documentation and on-line help when in doubt about a particular feature. The basic philosophy used is that of a "small is beautiful", "simpler is usually better" approach. Especially at the start of these web pages, simple examples are used that illustrate the feature under discussion. Extra details are avoided. Later, longer and more complex projects are used. Not all features of C++ are included. Rather, what seems to be a reasonable subset of C++ is presented. An effort has been made to use what seemed to be the most common or easiest to use method of doing things. Some of the newest features (such as GUI programming, the STL, etc.) are only shown in the advanced section of these pages. Some review of previous material is included in later sections. In particular, the Intermediate section begins by reviewing and expanding upon basic topics from the Introductory section. Special attention is paid to the design of software that is correct, readable, and as simple and elegant as possible. It is this author's contention that software should be crafted as a thing of beauty. Back to the main page for Software Design Using C++ |