Tentative Schedule

Date Topic CLRS chapters Lecture slides Notes
Mon 8/22 Introductory concepts in design and analysis of algorithms. Lecture 1 Reading:(1) Intro Lecture from CS 124 at Harvard
Wed 8/24 Insertion sort. Divide and conquer paradigm. Merge sort. 2 Lecture 2 & 3  
Fri 8/26 Merge-sort analysis. Asymptotic notation. Recurrences. 3,4
Mon 8/29 More on divide and conquer recurrences. HW1 out
Wed 8/31 Master method. Multiplication with divide and conquer approach : Strassen's algorithm. 4.3, 28.2 Lecture 4 & 5
Fri 9/2 Quicksort. Median and order statistic. 7,9 HW1 due, HW2 out
Mon 9/5
Holiday
Wed 9/7 Randomized selection. Some basic probability (review). 9.2, Appendix C/p.1094 Lecture 6 & 7  
Fri 9/9 Randomized selection - analysis. Deterministic linear time selection algorithm.   HW2 due
Mon 9/12 Lower bound for comparison sorting algorithms. 8.1 Lecture 8 & 9
Tue 9/13
Programming Assignment 1 out
Wed 9/14 Introduction to graphs and graph algorithms. Appendix B.4/p.1080  
Fri 9/16 Depth-first search. 22.3 Lecture 10 & 11
Mon 9/19 Depth-first search in directed graphs. 22.4
Wed 9/21 Strongly connected components and DFS. 22.5 Lectures 12 & 13 HW3 out
Fri 9/23 Breadth -first search and Dijkstra's algorithm. 24, 24.3, 24.5
Sun 9/25
Programming Assignment 1 due by 11:59pm
Mon 9/26 Dijkstra's algorithm cont. 24.3 Lectures 14 & 15  
Wed 9/28 Binary heap as a priority queue. 6 HW3 due
MidtermInfo + Sample Problems
Fri 9/30 A general single-source shortest paths algorithm (Bellman-Ford). 24.1, 24.2 Lectures 16 & 17
Mon 10/3 Review
Wed 10/5 Midterm - 11:05-11:55 In class.
Fri 10/7 Minimum Spanning Tree - Kruskal's greedy algorithm. 23
Mon 10/10 Prim's algorithm. Disjoint-sets data structure. 21 Lectures 18 & 19
Wed 10/12 Disjoint-sets data structure-cont.. HW4 out
Fri 10/14


Analysis of union by rank and path compression. Lecture 20 & 21
Drop deadline.
Mon 10/17
Fall break
Wed 10/19 Huffman codes 16.3 Lecture 22  
Fri 10/21 Greedy approximation of the set cover problem. 35.3 HW4 due
Mon 10/24 Introduction to dynamic programming. Lecture 23 & 24
Wed 10/26 Edit distance problem.     HW5 out
Fri 10/28 Knapsack and O-1 Knapsack.   Lecture 25 & 26
Mon 10/31 All-pairs shortest paths. 25.1, 25.2 Lecture 27  
Wed 11/2 Network Flow. 26    
Fri 11/4 Ford-Fulkerson method.   HW5 due
Sun 11/8
Programming Assignment 2 out
Mon 11/7 Edmonds-Karp algorithm. Maximum bipartite matching. Lecture 28 & 29 & 30
Wed 11/9 Introduction to NP-completeness 34.1,2,3 HW6 out
Fri 11/11 Circuit SAT, SAT and 3 SAT.
Mon 11/14 3SAT is NP-complete. 34.4 Lecture 31 & 32 & 33
Wed 11/16 Independent Set, Clique and Vertex Cover. 34.5
Fri 11/18 Clique and Vertex Cover are NP-complete. Lecture 34 & 35 HW6 due
Mon 11/21 Subset Sum Problem is NP-complete.
Tue 11/22
Programming Assignment 2 due by 11:55pm
Wed 11/23 Undecidability. Lecture 36 & 37 HW7 out
Fri 11/25
Holiday
Mon 11/27 Basic and modular arithmetic. 31.3,31.6
Wed 11/30 Euclid's algorithm for greatest common divisor and its extension. 31.2 Berkeley notes
Fri 12/2 Primality testing. 31.8 Lecture 38 & 39 & 40
Mon 12/5 RSA cryptosystem. HM7 due
Wed 12/7 Digital signatures. Lecture 41 & 42 FinalExamInfo+Sample Problems
Fri 12/9 REVIEW.
Wed 12/14 Additional REVIEW session 6-8PM in CCB 53.
Fri 12/16 Final Exam (8:00-10:50 am ) in room 17, CoC Address TBA.