| Lecture/Activity | Lab Assignment Due | Closed Lab |
|---|---|---|
| Week of 1/4
Overview; review of using templates for generalization; Sequence; Set; Queue |
|
Get_Words and Put_Words |
| Week of 1/11
Record; using templates for decoupling; utility classes; Sorting_Machine |
|
Sort extension for Queue (using selection sort) |
| Week of 1/18 (Holiday on Monday)
Stack; how recursion works; Partial_Map |
Lab #1: Resolve/C++ Pretty-Printer |
Client of Partial_Map |
| Week of 1/25
Implementer's view; convention and correspondence; Representation |
|
Representing a Sequence using two Stacks |
| Week of 2/1
Commutative diagrams; Static_Array; Array; review |
Lab #2: Glossary generator |
Midterm exam (during closed lab) |
| Week of 2/8
Hashing; mathematical binary trees; Binary_Tree |
|
Implementing and testing a Hash operation |
| Week of 2/15
Binary search trees; introduction to pointers and dynamically allocated storage |
Lab #3: Partial_Map using a hash table |
Get_Tree and Put_Tree |
| Week of 2/22
Pointers and dynamically allocated storage; singly-linked list data structures |
|
Representing a Stack using a singly-linked data structure |
| Week of 3/1
List; doubly-linked list data structures; ordinary C++ pointers |
Lab #4: Partial_Map using a binary search tree |
Adventures with C strings and C++ aliasing |
| Week of 3/8
Loop invariants |
Lab #5 due on Thurs at 10:00 PM: List_Retreat using a doubly-linked list data structure |
Review (during closed lab) |
| 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% |