Schedule (subject to adjustments)
Class Number 
Date 
Topics 
Reading 
HW Assigned 
HW Due 






1

9/6

Introduction,
Strassen's Matrix Multiplication 
Skim
CLRS 12, 
HW
1 







2

9/8 
Asymptotic
notation 
CLRS
3 




















3

9/13 
Recurrences

CLRS
4 








4

9/15 
Heapsort,
Loop invariants 
CLRS
6 









9/16



HW
2 
HW
1 






5

9/20 
Lower
bounds for sorting, Counting Sort, Radix Sort, Deterministic Selection

CLRS
8.18.3, 9.1, 9.3 








6

9/22 
Randomized
Analysis 
CLRS
5 




















7

9/27 
Indicator
Random Variables 
CLRS
5 









9/30



HW
3 
HW
2 






8

10/4 
Quicksort,
Randomized Selection 
CLRS
7, 9.2 








9

10/6

Dynamic
Programming 
CLRS
15 




















10

10/11 
Dynamic
Programming 
CLRS
15 








11

10/13

Dynamic
Programming 
CLRS
15 









10/14



HW
4 
HW
3







12

10/18 
Greedy
Algorithms 
CLRS
16 








13

10/20

Greedy
Algorithms, Amortized Analysis 
CLRS
16, 17 




















14

10/25 
Amortized
Analysis 
CLRS
17








15

10/27

Graph
Algorithms, BFS, DFS, Topological Sort 
CLRS
22.122.4 









10/28




HW
4
 








10/31



Midterm out 9AM
 






16

11/1 
Strongly
Connected Components, Minimum Spanning Trees, Disjoint Sets 
CLRS
22.5, 23, 21





















17

11/3 
Singlesource
shortest paths, relaxation, BellmanFord 
CLRS
24.1, 24.5 
HW 5

Midterm
due 2:30PM 






18 
11/10

Shortest
paths in dags, Dijkstra's algorithm

CLRS
24.224.3










11/11



HW
6 
HW
5







19

11/15 
All
pairs shortest paths 
CLRS
25 








20

11/17

Maximum
Flows 
CLRS
26.126.2 




















21

11/22 
NP
completeness 
CLRS
34 




















22

11/29 
NPcompleteness

CLRS
34 
HW
7

HW
6







23

12/1

NPcompleteness

CLRS
34 









11/30











24

12/6

Approximation
Algorithms 
CLRS
35 








25

12/8

Approximation
Algorithms 
CLRS
35 









12/13




HW 7 







tba 
Final










CLRS =
Introduction to Algorithms, 3rd edition, by Cormen, Leiserson,
Rivest and Stein