Schedule
Date  Lecture  Readings  Assignments  

Introduction, Analysis of Algorithms, Asymptotic Order of Growth BigO Notation  
05/17 
Lecture #1
:
Introduction to Algorithms, Complexity [ slides  codes  


Recursion, DivideandConquer  
05/19 
Lecture #2
:
Review of Recursive Algorithms, DivideandConquer I [ slides  codes  

Homework 1 is released (due 05/27) 

05/24 
Lecture #3
:
DivideandConquer II [ slides  codes  video ] 


Dynamic Programming  
05/26 
Lecture #4
:
Dynamic Programming I [ slides  codes  video  notes ] 

Homework 2 is released (due 06/03) 

05/31 
Lecture #5
:
Dynamic Programming II [ slides  codes  video ] 


06/02 
Lecture #6
:
Dynamic Programming III, Review Session [ slides  codes  video  notes ] 

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

Greedy Algorithms  
06/07 
Lecture #7
:
Greedy Approaches, Intro to Graphs [ slides  codes  video ] 


06/09  Exam 1  
Graph Algorithms — Definition and Traversal  
06/14 
Lecture #8
:
Graph Definition, Graph Traversal [ slides  codes  video ] 


06/16 
Lecture #9
:
Graph Traversal, Grid Problems [ slides  codes  video ] 


06/21 
Lecture #10
:
Traversal Applications [ slides  codes  video ] 

Homework 4 is released (due 07/02) 

Graph Algorithms — Minimum Spanning Tree  
06/23 
Lecture #11
:
Traversal Applications, Minimum Spanning Tree I [ slides  codes  video ] 


06/28 
Lecture #12
:
Minimum Spanning Tree II [ slides  codes  video ] 


Graph Algorithms — Shortest Path Problems  
06/30 
Lecture #13
:
Review Session, Shortest Path Problems I [ slides  codes  video  notes ] 


07/05  No class (Recess)  
07/07  Exam 2  
07/12 
Lecture #14
:
Shortest Path Problems II [ slides  codes  video ] 

Homework 5 is released (due 07/22) 

Graph Algorithms — Flow Network  
07/14 
Lecture #15
:
Max Flow, Min Cut [ slides  


NPCompletness  
07/19 
Lecture #16
:
NPCompletness I [ slides  


07/21 
Lecture #17
:
NPCompletness II [ slides  


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

07/28  Final Exam 