Lecture Notes, Course Outline, Project Description For C++ Intermediate


This page last updated on: June 10, 2002


This Web page contains lecture notes for my C++ Intermediate course, including notes from the Stroustrup, Eckel, and Design Patterns textbooks, as well as selected excerpts from Josuttis and Meyers Effective C++, 2nd Ed, my personal experience, and various other sources. The abbreviations in the assigned reading are 1) GoF = Design Patterns, 2) Stroustrup = The C++ Programming Language, and 3) Eckel = Thinking in C++ (either Vol 1 or 2 - vol 2 is currently at revision 4).

Contents:

Lecture
Date
Topic(s)
Reading (either reinforces topics from current lecture or applies to the next week)
Assignment
Due

01
Apr. 1
Intro, Exceptions and std::auto_ptr
Stroustrup chap 14, Eckel chap 1 - Exception Handling (vol 2), Eckel chap 4 - Strings (vol 2), GoF chap 1

02
Apr. 8
Object Initialization Review, Singleton, Prototype, Factory Method Patterns
Stroustrup chap 3, Eckel chap 10 - Name Control (vol 1), Eckel chap 7 - STL Containers and Iterators (vol 2), GoF Prototype, Singleton, and Factory Method patterns

03
Apr. 15
Namespaces, Typedef, Std Lib Intro, Class vs Object Scope, Static
Eckel chap 16 - Templates Intro (vol 1), Eckel chap 6 - Templates in Depth (vol 2), Stroustrup chap 13
01
04
Apr. 22
Memory Allocation, Templates and Generic Programming
Eckel chap 12 - Operator Overloading (vol 1), Eckel chap 14 - Inheritance and Composition (vol 1), Stroustrup chap 11

05
Apr. 29
Access Control, Operator Overloading in Depth
GoF Iterator and Template Method patterns, Eckel chap 5 - Hiding the Implementation (vol 1)
02
06
May 6
Constants, Inheritance, Case Study: The Template Method Pattern and Private Inheritance
Stroustrup chaps 12 & 25, GoF Decorator and Strategy patterns

07
May 13
Type Inheritance, Polymorphism and Abstraction, Case Study: The Decorator and Strategy Patterns
Eckel chap 15 - Polymorphism and Virtual Functions (vol 1), Stroustrup chap 15
03
08
May 20
Code Inheritance and Reuse, Case Study: Compiler Support for Polymorphism and Inheritance
Stroustrup chap 10, Eckel chap 13 - Dynamic Object Creation (vol 1)

09
Jun. 3
Object Creation, Copying and Lifetime Management
GoF Prototype pattern
04
10
Jun. 10
Case Study: The Prototype Pattern

05


Course Project

Implement a Cellular Network Capacity Planning application as described in the problem statement: Cellular Network Capacity Problem Statement

The following UML diagrams can be used as design guidelines (includes a state diagram and multiple sequence and class diagrams, all in JPG format): cnc_uml_diagrams.zip


This page constructed by Cliff Green, Copyright © 2002.