Week 1 (2010-08-17)
Lecture 1

Topics: Scope (lifetime and visibility), Separate Compilation, The "Class" Concept, Encapsulation, "Data Hiding", Access Functions, Access Control Labels (public: and private:), Constructors, Member Functions, Introduction to the std::string class.

Reading: Chapter 2
Week 2 (2010-08-24)
Lecture 2

Topics: Constructors (continued), Destructors, References, Function Overloading, Operator Overloading, Friend Classes and Functions, Introduction to Streams (cout, cin, cerr, operator<<, and >>), More on the std::string class.

Reading: Chapter 3 (if you need a refresher course on C read 4, 5, and 6 as well).

Assignment 1
Week 3 (2010-08-31)
Lecture 3

Topics: Inheritance, Structural Aspects of Inheritance, Base and Derived Classes, Use of base class constructors in derived class initialization lists.

Reading: Chapter 11

Assignment 1 due

Week 4 (2010-09-07)
Lecture 4

Topics: Composition vs. Inheritance

Reading: Chapters 17, and 19

Assignment 2

Week 5 (2010-09-14)
Lecture 5

Topics: Inheritance Continued, public:, protected:, and private: access control labels, Behavioral Aspects of Inheritance.

Reading: Chapter 12
Week 6 (2010-09-21)
Lecture 6

Topics: Polymorphism, Overriding Functions (Virtual Functions)
Topics: Dynamic Memory Allocation, Operators new and delete, Dynamic Array Allocation, Using Construction/Destruction to Control Dynamic Memory.

Assignment 2 - due
Assignment 3
Assignment 3
Week 7 (2010-09-28)
Review 1

Topics: Open Q/A on assignment(s) and topics from first half of class.
Week 8 (2010-10-05)
Exam 1

Reading: Chapter 8

Week 9 (2010-10-12)
Lecture 7

Topics: Dynamic Memory Allocation (continued), Operators new[] and delete[]
Topics: File Streams (ifstream, ofstream)
Reading: Chapter 15 and 17
Assignment 3 - due
Assignment 4
Week 10 (2010-10-19)
Lecture 8

Topics: Exception Handling.Templates (classes and functions).

Reading: Chapter 16 Assignment 4 - due Assignment 5



Week 11 (2010-10-26)
Lecture 9

Topics: The C++ Standard Library, std::vector, std::list

Reading: Chapter 23
Week 12 (2010-11-02)
Lecture 10

Topics: Iterators


Calendar (continued)
Week 13 (2010-11-09)
Lecture 11

Topics: Generic Programming
Week 14 (2010-11-16)
Lecture 12

Topics: Continuing Generic Programming, explore std::map

Week 15 (2010-11-23)

Fall Break - No Class


Week 16 (2009-11-30)

Review 2
Topics: Open Q/A on assignment(s) and topics covered throughout the semester.
Week 17 (2010-12-07)

Exam 2
Assignment 6 - due