Date Lecture Readings Assignments
Part 1: Introduction, Analysis of Algorithms, Asymptotic Order of Growth Big-O Notation
05/17 Lecture #1 :
Introduction to Algorithms, Complexity
[ slides | codes | video ]
  • CLRS 3
  • KT 2.1 2.2 2.4
  • DPV 0

Part 2: Recursion, Divide-and-Conquer
05/19 Lecture #2 :
Review of Recursive Algorithms, Divide-and-Conquer I
[ slides | codes | video | notes ]
  • CLRS 4 2
  • KT 5
  • DPV 2

Homework 1 is released (due 05/27)

05/24 Lecture #3 :
Divide-and-Conquer II
[ slides | codes | video ]
  • CLRS 4 7
  • KT 5
  • DPV 2

Part 3: Dynamic Programming
05/26 Lecture #4 :
Dynamic Programming I
[ slides | codes | video | notes ]
  • CLRS 15
  • KT 6
  • DPV 6

Homework 2 is released (due 06/03)

05/31 Lecture #5 :
Dynamic Programming II
[ slides | codes | video ]
  • CLRS 15
  • KT 6
  • DPV 6

06/02 Lecture #6 :
Dynamic Programming III, Review Session
[ slides | codes | video | notes ]
  • CLRS 15
  • KT 6
  • DPV 6

Homework 3 is released (due 06/17 (extended!))

Part 4: Greedy Algorithms
06/07 Lecture #7 :
Greedy Approaches, Intro to Graphs
[ slides | codes | video ]
  • CLRS 16
  • KT 4
  • DPV 5

06/09 Exam 1
Part 5: Graph Algorithms
06/14 Lecture #8 :
Graph Definition, Graph Traversal
[ slides | codes | video ]
  • CLRS 22
  • KT 3
  • DPV 3

06/16 Lecture #9 :
Graph Traversal, Grid Problems
[ slides | codes | video ]
  • CLRS 22
  • KT 3
  • DPV 3

06/21 Lecture #10 :
Traversal Applications
[ slides | codes | video ]
  • CLRS 22.4
  • KT 3
  • DPV 6.6

Homework 4 is released (due 07/02)

06/23 Lecture #11 :
Traversal Applications, Minimum Spanning Tree I
[ slides | codes | video ]
  • CLRS 22.5 23
  • KT 4.5 4.6
  • DPV 5.1

06/28 Lecture #12 :
Minimum Spanning Tree II
[ slides | codes | video ]
  • CLRS 23
  • KT 4.5 4.6
  • DPV 5.1

06/30 Lecture #13 :
Shortest Path Problems I, Review Session
[ slides | codes | video ]
  • CLRS 24
  • KT 4.4 6.8
  • DPV 4.4 4.6

07/05 No class (Recess)
07/07 Exam 2
Part 6: Network Flow
07/12 Lecture #14 :
Shortest Path Problems II, Max Flow, Min Cut
[ slides | codes | video ]
  • CLRS 25 26
  • KT 7
  • DPV 6.6

07/14 Lecture #15 :
Max Flow, Min Cut
[ slides | codes | video ]
  • CLRS 26
  • KT 7
  • DPV

Part 7: NP-Completness
07/19 Lecture #16 :
NP-Completness I
[ slides | codes | video ]
  • CLRS 34
  • KT 8
  • DPV 8

07/21 Lecture #17 :
NP-Completness II
[ slides | codes | video ]
  • CLRS 34
  • KT 8
  • DPV 8

07/26 Lecture #18 :
Final Review Session
[ slides | codes | video ]

07/28 Final Exam