| Lecture/Activity | Lab Assignment Due | Closed Lab |
|---|---|---|
| Week of 9/21 (classes start Wed)
Overview; review of using templates for generalization; Sequence; Set |
|
Get_Words and Put_Words |
| Week of 9/28
Queue; Record; using templates for decoupling; utility classes |
|
Sort extension for Queue (using selection sort) |
| Week of 10/5
Sorting_Machine; Stack; how recursion works; Partial_Map |
Lab #1: Resolve/C++ Pretty-Printer |
Client of Partial_Map |
| Week of 10/12
Implementer's view; convention and correspondence; Representation |
|
Representing a Sequence using two Stacks |
| Week of 10/19
Commutative diagrams; Static_Array; Array |
Lab #2: Glossary generator |
Review |
| Week of 10/26
Midterm exam; hashing |
|
Implementing and testing a Hash operation |
| Week of 11/2
Mathematical binary trees; Binary_Tree; binary search trees |
Lab #3: Partial_Map using a hash table |
Get_Tree and Put_Tree |
| Week of 11/9 (no class on Wed)
Pointers and dynamically allocated storage |
|
Pointers continued (make-up class for Wed holiday; meet in DL 280) |
| Week of 11/16
Pointers continued; List |
Lab #4: Partial_Map using a binary search tree |
Representing a Stack using a singly-linked data structure |
| Week of 11/23 (no class on Wed, Thurs, or Fri)
Ordinary C++ pointers |
|
|
| Week of 11/30
Loop invariants; review |
Lab #5: List_Retreat using a doubly-linked list data structure |
Adventures with C strings and C++ aliasing |
| Midterm Exam | 20% |
|---|---|
| Final Exam | 30% |
| Homework Assignments | 5% (total of many) |
| Closed Lab Assignments | 8% (8 @ 1% each) |
| Lab Assignments | 35% (5 @ 7% each) |
| Class Participation | 2% |