Lecture no. |
Topics |
Slides (PDF) |
Slides-annotated (PDF) |
Slides (PPT) |
Reading |
Lecture 1 (4/2) |
Administrivia, Introduction |
L1 |
|
L1 |
|
Lecture 2 (4/4) |
Review of basic concepts |
L2 |
L2 |
L2 |
[GT] Sections 1.1, 1.2, 1.3, Chapter 2, Sections 3.1, 5.2.2 |
Lecture 3 (4/9) |
Divide and conquer, mergesort, counting intersections |
L3 |
L3 |
L3 |
[GT] Sections 8.1, 8.2, 11.1, 11.2, 11.3, 11.4 |
Lecture 4 (4/11) |
Divide and conquer (continued) |
L4 |
L4 |
L4 |
[GT] Sections 8.1, 8.2, 11.1, 11.2, 11.3, 11.4 |
Lecture 5 (4/16) |
Divide and conquer (continued) |
L5 |
L5 |
L5 |
[GT] Sections 8.1, 8.2, 11.1, 11.2, 11.3, 11.4 |
Lecture 6 (4/18) |
Divide and conquer (continued) |
L6 |
L6 |
L6 |
[GT] Sections 8.1, 8.2, 11.1, 11.2, 11.3, 11.4 |
Lecture 7 (4/23) |
Midterm 1 |
|
|
|
|
Lecture 8 (4/25) |
Dynamic Programming: Introduction. Memoization, Rod cutting and 0/1 Knapsack problems |
L8 |
L8 |
L8 |
[GT] Chapter 12 |
Lecture 9 (4/30) |
Dynamic Programming: 0/1 Knapsack (cont.), Bellman-Ford, Interval Scheduling |
L9 |
L9 |
L9 |
[GT] Chapter 12 |
Lecture 10 (5/2) |
Dynamic Programming (cont.) |
|
|
|
|
Lecture 11 (5/7) |
Midterm 2 |
|
|
|
|