| Week |
Period |
Topics |
Reading Assignment |
Lab |
| #1 |
Lecture 1 |
Course introduction |
|
Lab 1: Infix to
Postfix |
| Lecture 2 |
Data abstraction, encapsulation
Introduction to abstract data types (ADT's) |
Read Deitel, pages 391-413. |
| Lecture 3 |
Classes as ADTs, Object and Method discovery |
Read Deitel, pages 38-42, 391-402. |
| #2 |
Lecture 1 |
Data Members and Member Functions (accessors, mutators,
public APIs) |
Read Deitel, pages 391-402. |
Lab 1: (continued) |
| Lecture 2 |
Classes, constructors, Rational number methods (add, sub,
mult, div, etc.) |
Read Deitel, pages 413-430. |
| Lecture 3 |
Access: public, private |
Read Deitel, pages 431-435. |
| #3 |
Lecture 1 |
Euclid's GCD algorithm, other algorithms in the STL |
Read Deitel, pages 206-207, Sec. 20.1.3. |
Lab 2: Rational
Arithmetic |
| Lecture 2 |
Function Overloading (signatures) |
Read Deitel, pages 203-206. |
| Lecture 3 |
Operator Overloading (+, -, *, and / on class Rational |
Read Deitel, pages 524-533. |
| #4 |
Lecture 1 |
Operator Overloading (cont.), global vs. member function
implications |
|
Lab 2: (continued) |
| Lecture 2 |
Composition, Friendship |
Read Deitel, pages 462-471. |
| Lecture 3 |
Arrays and pointers, character string
processing, command line arguments |
Read Deitel, pages 328-333, 343-353. |
| #5 |
Lecture 1 |
Const vs. non-const |
Read Deitel, pages 453-462. |
Lab 3: Dynamic
Objects |
| Lecture 2 |
Static members |
Read Deitel, pages 477-483. |
| Lecture 3 |
Dynamic objects: new, delete,
dynamic arrays, memory leaks |
Read Deitel, pages 476-477. |
| #6 |
Lecture 1 |
Linked List implementation |
|
Lab 3: (continued) |
| Lecture 2 |
Canonical Form |
|
| Lecture 3 |
Copy constructors and operator = |
Read Deitel, pages 540-544. |
| #7 |
Lecture 1 |
Iterator implementation |
|
Lab 4: Container
Abstraction |
| Lecture 2 |
Container/Iterator idiom |
Read Deitel, Ch. 20 |
| Lecture 3 |
Catch up |
|
| #8 |
Lecture 1 |
Inheritance |
Read Deitel, pages 577-600. |
Lab 4: (continued) |
| Lecture 2 |
Typical Taxonomies |
|
| Lecture 3 |
Polymorphism, virtual functions, abstract
base classes |
Read Deitel, pages 626-639. |
| #9 |
Lecture 1 |
Pure virtual functions, abstract base classes, virtual
destructors |
Read Deitel, pages 639-642. |
Lab 5: Inheritance
& Polymorphism |
| Lecture 2 |
Shapes Taxonomy |
|
| Lecture 3 |
Windows, graphic programming |
Read Deitel supplement Ch. 2. |
| #10 |
Lecture 1 |
Overview of STL algorithms |
Read Deitel, section 20.5 |
Lab 5: (continued) |
| Lecture 2 |
Misc. topics in C++ |
|
| Lecture 3 |
Final review |
|
#11
Mon. 5/13 |
Exam week |
Final exam - 11:00am to 1:00pm S-341 |
|
|