| Week 0 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 1 |
W |
1/22 |
Course Introduction |
|
|
| 2 |
F |
1/24 |
Loop Invariants |
2.1 & 2.2 |
About You |
| Week 1 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 3 |
M |
1/27 |
Designing Algorithms |
2.3 |
|
| 4 |
W |
1/29 |
Writing Proofs |
Growth Mindset, good-proof-writing |
|
5 |
F |
1/31 |
Growth of functions |
3.1 & 3.2 |
|
| Week 2 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 6 |
M |
2/3 |
Divide and conquer |
4.3 & 4.4 |
Assignment 1 |
| 7 |
W |
2/5 |
Presentations on Assignment 1 |
|
|
| 8 |
F |
2/7 |
Using the master theorem |
4.5 |
|
| Week 3 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 9 |
M |
2/10 |
Heaps and Priority Queues |
6.1 – 6.5 |
|
| 10 |
W |
2/12 |
Heaps and Priority Queues continued |
|
Assignment 2 |
| 11 |
F |
2/14 |
Quick Sort |
7.1 – 7.4 |
Assignment 2 |
| Week 4 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 12 |
M |
2/17 |
Presentations on Assignment 2 |
|
|
| 13 |
W |
2/19 |
Sorting in Linear Time |
8.1 – 8.4 |
|
| 14 |
F |
2/21 |
Hash Tables |
11.1 – 11.3 |
|
| Week 5 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 15 |
M |
2/24 |
Hash Tables continued |
11.4 – 11.5 |
Assignment 3 |
| 16 |
W |
2/26 |
Presentations on Assignment 3 |
|
|
| 17 |
F |
2/28 |
Binary Search Trees |
12.1 – 12.4 |
|
| Week 6 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 18 |
M |
3/2 |
Multi-way Search Trees |
Reading on reserve in Pweb |
*Exam 1 This Week* |
| 19 |
W |
3/4 |
2-3 Trees |
Reading on reserve in Pweb |
|
| 20 |
F |
3/6 |
2-3 Trees continued |
|
|
| Week 7 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 21 |
M |
3/9 |
Skip Lists |
ACM-Skip-Lists |
|
| 22 |
W |
3/11 |
Red-Black Trees |
13.1 – 13.4 |
Assignment 4 |
| 23 |
F |
3/13 |
Presentations on Assignment 4 |
|
|
| Spring Break |
|
|
|
|
|
3/16 – 3/20 |
| Spring Break |
|
|
|
|
|
| 3/23 – 3/27 |
| Week 8 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 24 |
M |
3/30 |
Tries |
Watch Lecture 18 on Tries |
|
| 25 |
W |
4/1 |
Elementary Graph Algorithms |
22.1 – 22.3 |
|
| 26 |
F |
4/3 |
Graph Algorithms |
22.4 – 22.5 |
|
| Week 9 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 27 |
M |
4/6 |
Minimum Spanning Trees |
23.1 – 23.2 |
Assignment 5 |
| 28 |
W |
4/8 |
Presentations on Assignment 5 |
|
|
| 29 |
F |
4/10 |
Union Find |
21.1 – 21.3 |
|
| Week 10 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 30 |
M |
4/13 |
Single Source Shortest Paths |
24.1 – 24.2 |
|
| 31 |
W |
4/15 |
Single Source Shortest Paths – continued |
24.3 – 24.5 |
Take Home Exam 2 |
| 32 |
F |
4/17 |
Network Flow |
Watch Lecture 16 on Maximum Flow |
|
| Week 11 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 33 |
M |
4/20 |
Bipartite Graphs and Matching |
26.3 |
|
| 34 |
W |
4/22 |
Dynamic Programming |
15.1 & 15.3 |
|
| 35 |
F |
4/24 |
Dynamic Programming continued |
15.4-15.5 |
Assignment 6 |
| Week 12 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 36 |
M |
4/27 |
Presentations on Assignment 6 |
|
|
| 37 |
W |
4/29 |
Greedy Algorithms |
16.1 – 16.3 |
|
| 38 |
F |
5/1 |
NP and NP-complete |
34 |
|
| Week 13 |
|
|
|
|
|
| # |
Day |
Date |
Topic |
Reading |
Work Due |
| 39 |
M |
5/4 |
Approximation Algorithms |
35.1 – 35.3 |
Assignment 7 |
| 40 |
W |
5/6 |
Presentations on Assignment 7 |
|
|
| 41 |
F |
5/8 |
Course Wrap-Up |
|
|
| Finals Week |
|
|
|
|
|
|
Day |
Date |
|
|
Work Due |
| |
M |
5/11 |
|
|
|
| |
W |
5/13 |
|
|
|
| |
F |
5/15 |
|
|
Take Home Final Exam |