| Week |
Period |
Topics |
Reading Assignment |
Lab |
#1
11/26-11/30 |
Lecture 1 |
Course introduction
Prerequisite assessment |
Chapter 1 |
Lab 1: C++ knowledge, Canonical Form |
| Lecture 2 |
C++ review: Linked Lists |
Chapter 2 |
#2
12/3-12/7 |
Lecture 1 |
Algorithms: Properties and Analysis |
Sec. 3.1, 3.2, 3.3 |
Lab 2: Function Objects |
| Lecture 2 |
Time Complexity Analysis |
Chapter 4 |
#3
12/10-12/14 |
Lecture 1 |
Run-time analysis, Recursion, Induction
proofs |
Chapter 5 |
Lab 3: Sequential & Iterative Algorithm Analysis |
| Lecture 2 |
Program Correctness |
Chapter 5 (cont.) |
#4
12/17-12/21 |
Lecture 1 |
Review of STL Container classes |
Chapter 6 |
Lab 4: Recursive Algorithm
Analysis |
| Lecture 2 |
Generic Algorithms and Templates |
Chapter 6 (cont.) |
#5
1/7-1/11 |
Lecture 1 |
String class abstraction |
Sec. 7.1, 7.2, 7.3 |
Lab 5: Vectors, Lists, and
Generic Algorithms |
| Lecture 2 |
String class implementation |
Sec. 7.4 |
#6
1/14-1/18 |
Lecture 1 |
Vectors |
Chapter 8 |
Lab 6: Strings, Stacks & Queues |
| Lecture 2 |
Dynamic Data Structures (list) |
Chapter 9 |
#7
1/21-1/25 |
Lecture 1 |
Stacks & Adaptor classes |
Chapter 10 |
| Lecture 2 |
Catch-up/Review |
|
#8
1/28-2/1 |
Lecture 1 |
Queues, Rings, & Deques |
Chapter 11 |
Lab 7: Sets and Multi-sets |
| Lecture 2 |
Sets and Multi-sets |
Chapter 12 |
#9
2/4-2/8 |
Lecture 1 |
Introduction to Trees |
Chapter 13 |
Lab 8: Maps & Multi-maps |
| Lecture 2 |
Trees: Nonlinear Data Structures |
Chapter 13 (cont.) |
#10
2/11-2/15 |
Lecture 1 |
Maps and Multimaps |
Chapter 16 |
| Lecture 2 |
Hash Tables |
Chapter 17 |
#11
2/18-2/22 |
Exam week |
Final exam |
|
|