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