Syllabus calendar
Click on a day to see full information for that day, including topic
list, suggested readings, questions, and other information. This page
will be updated throughout the term.
| 1 |
23 Aug
Introductions,
Policies
|
24 Aug
Lab 1: Review and mastery
Lab 1
|
A
25 Aug
What is a data structure?,
Design and specification
|
B
27 Aug
Object-oriented design,
Classes and methods
|
| 2 |
30 Aug
.h files,
Templates,
UML
Lab 1 due
|
31 Aug
Lab 2: Classes
Lab 2
|
A
1 Sep
|
B
3 Sep
ADTs
|
| 3 |
[no class]
|
7 Sep
Lab 3: Function design,
Unit testing
Lab 3
|
B
8 Sep
Lists,
Implementing an ADT,
More implementation
Lab 2 due
|
A
10 Sep
append, remove,
Pointers,
"Smart" pointers
|
| 4 |
B
13 Sep
Lab 3 draft due
|
14 Sep
Lab 4: Pointers
Lab 4
|
A
15 Sep
Dynamic allocation
Hwk 1 out
|
17 Sep
Recursion,
Linked nodes,
Fibonacci
Hwk 1 due
|
| 5 |
20 Sep
Linked list
Lab 3 due
|
21 Sep
Lab 5: Linked node methods
Lab 5
|
22 Sep
Linked list implementation (continued)
|
24 Sep
Recursive algorithms,
Tower of Hanoi
Hwk 2 out
|
| 6 |
27 Sep
Binary search,
The call stack
Hwk 2 due
Hwk 1 revision due
|
28 Sep
Lab 6: Reading code,
make, gdb,
Backtracking
Lab 6
|
29 Sep
Recursive backtracking,
Other uses of stacks
|
1 Oct
Review of allocation, references, and memory models
Exam 1 out
Hwk 2 revision due
|
| 7 |
4 Oct
Exam 1
|
5 Oct
Lab 7: Using STL stacks
Lab 7
|
6 Oct
Stacks and recursion,
Array-based stack implementation,
Exceptions
|
[no class]
|
| 8 |
11 Oct
Classic ADTs,
The "big picture"
Lab 7 draft due
|
12 Oct
Lab 8: Empirical efficiency
Lab 8
|
13 Oct
Algorithmic efficiency,
Big-O notation
|
15 Oct
Comparing implementations,
Linked stacks,
Array List, Linked List revisited
Hwk 3 out
|
| 9 |
18 Oct
Inheritance,
is-a / has-a,
Hierarchies
Lab 7 due
|
19 Oct
Lab 9: Interfaces and multiple implementations
Lab 9
|
20 Oct
Quadratic sorts
Hwk 3 due
|
22 Oct
Faster sorts,
Comparing algorithms
|
| 10 |
25 Oct
Lab 9 due
|
26 Oct
Lab 10: Overloading operators
Lab 10
|
27 Oct
Queues,
Linked Queue
|
29 Oct
Trees,
Traversals
|
| 11 |
1 Nov
Tree implementation
Lab 10 due
Hwk 3 revision due
|
2 Nov
Lab 11: Linked trees
Lab 11
|
3 Nov
|
5 Nov
Binary search trees
|
| 12 |
8 Nov
BST remove
Lab 11 due
|
9 Nov
Lab 12: BST implementation
Lab 12
|
10 Nov
BST analysis,
Balance, rotation
|
12 Nov
Maps/Dictionaries
|
| 13 |
15 Nov
Hash tables
Lab 12 draft due
|
[no class]
|
17 Nov
Heaps
|
19 Nov
Model presentation and debrief
|
| 14 |
22 Nov
Presentation work day
Project work day
Lab 12 due
|
23 Nov
Lab: DT/Alg implementation
|
[no class]
|
[no class]
|
| 15 |
29 Nov
Presentations
|
30 Nov
Lab: DT/Alg implementation
|
1 Dec
Presentations
|
3 Dec
Presentations
Exam 2 out
Exam 2
9 Dec
|