Computer Science 2704
O-O Software Design & Construction

Lecture Notes

The CS 2704 online lecture notes will be made available throughout the term. All course notes are © copyrighted by the authors.

The posted online version will be changing as the semester progresses. Please be aware that students who choose to download and print out a hard copy version are responsible for keeping up with the course note changes. Alterations will be pointed out in lecture. There may be no on-line posting of notices that detail course note changes.


            1. Design Paradigms
            2. C++ Class Basics
            3. O-O Design
            4. Identifying Classe
            5. Class Design
            6. Evaluating Designs
            7. Association
            8. Aggregation
            9. Communication & Objects
            10. Operator Overloading
            11. Templates
            12. Exceptions
            13. Intro Inheritance
                  Logic Gates
            14. Controlling Inheritance
            15. Polymorphism
            16. Conversions
            17. STL
            18. Design Patterns


            Static Members
            Memory Leak Detection


Adobe Acrobat® PDF Documents

The bulk of the documents for this course will be in the Adobe Accrobat PDF (Portable Document Format) format.
There are several ways to get the Adobe Acrobat Reader:

  1. Download it from the VT library.
  2. Download it from Adobe Corporation.

"There are only two kinds of languages: the kind everybody bitches about, and the kind nobody uses."

-B. Stroustrup

D. Barnette 1/10/2004 Virginia Tech © 2004