Object Oriented Programming Using C++

Fall 1999

A Free C++ Compiler
STL Documentation

Course Information

Instructor: John Panzer
Email: jpanzer@acm.org
Required Text
The course notes, Pattern-Oriented Programming with C++, constitute the main text.

Thursdays, 6:30-9:30pm, Oct 7 - Dec 16. No meeting Nov 25.
Meeting Date Topic  Side Reading Assignment
1 (done) 10/7 Overview and review of C++ programming (Appendix 1)  C++ Programming Lang.  
2 (done) 10/14 Object Oriented Modeling (Chapter 1)   UML Distilled  
3 (done) 10/21 Design patterns (Chapter 2) and Frameworks (Ch. 3)    
4 (done) 10/28 Frameworks (Ch. 3) and Delegation (Ch 4)  Design Patterns #1 due
5 11/4 Delegation (Ch. 4) and Design  Pattern Hatching  
6 11/11 Delegation (Ch. 4)   #2 due
7 11/18 Persistence (Ch. 5)    
8 12/2 User Interfaces and Frameworks (Ch. 6-7)  
9 12/9 User Interfaces and Frameworks (Ch. 6-7)    
10 12/16 Assignment review & wrapup   #3, #4 due

(This is a rough guide and is being revised.)

Side Reading

These books are not required for the course, but are useful background material.  You may want to read some of these in conjunction with the course notes.  All of these books are useful references.

The C++ Programming Language, 3rd Ed.  Start with chapters 2&3, then read as you have time or need to research a particular topic (the index is quite good).

UML Distilled, 2nd Ed.  This is thin enough to skim through quickly, then come back to the parts you really need to know.  Class diagrams will be particularly important in this course.

Design Patterns: Elements of Reusable Object Oriented Software.  This is a thick book, but most of it is a catalog of patterns.  Read the introduction and a few of the patterns, then use it as a reference.

Pattern Hatching.  If you want to find out more about how patterns are created, this is a good book.  It walks through pattern creation in a very detailed way.  Have Design Patterns on hand before reading this book.

[More to come]

Grading Policy

Grading is based on four programming assignments, with 100 points total. The grading scale is as follows:

A : 91+
B : 81-90
C : 71-80
Pass : 61-70

Programming Assignments

Assignments will usually be from the course notes. Each is due two weeks after it is assigned. The deliverables for each assignment are printouts of the code, documentation, and test runs.

Other Policies

If you want to withdraw, you must notify the instructor.
If you want an incomplete you must get the permission of the instructor no later than the fourth class meeting. Incompletes must be made up the following term.