CIS Logo SVC Logo

   Computing & Information Systems


Schoology Facebook        Search CIS Site      Tutorials

Software Design Using C++

Introduction and Philosophy

These 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). Most of the examples have been tested with Microsoft's Visual C++ .NET 2008 under Windows. Many have also been tested with g++ under Linux and would also work with other compilers. Some examples, however, are specific to Microsoft Windows and a few are specific to Linux. 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++

Author: Br. David Carlson with contributions by Br. Isidore Minerd
Last updated: August 31, 2009