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