Skip to main content.

Following is a tentative schedule of topics for this course:

Topic Reading Assignment(s) Due
Wed, Jan 10: Introduction to Algorithms (Handout) Levitin, Sec. 1.1-1.3
Fri, Jan 12: First problem: Stable Matching Sec. 1.1
Mon, Jan 15: (No classes)
Wed, Jan 17: Five Representative Problems Sec. 1.2
Fri, Jan 19: Algorithm Analysis [Slides: pdf, ppt] Sec. 2.1
Mon, Jan 22: Orders of growth Sec. 2.2, 2.4
Wed, Jan 24: Implementing Stable Matching Sec. 2.3
Fri, Jan 26: Graphs [Slides: pdf, ppt] Sec. 3.1, 3.2
Mon, Jan 29: Graph traversals Sec. 3.3, 3.4
Wed, Jan 31: Directed graphs, topological ordering Sec. 3.5, 3.6
Fri, Feb 2: Greedy algorithms: Interval scheduling Sec. 4.1
Mon, Feb 5: Greedy algorithms: More scheduling Sec. 4.2
Wed, Feb 7: Shortest Paths Sec. 4.4
Fri, Feb 9: Minimum spanning trees Sec. 4.5, 4.6
Mon, Feb 12: Clustering Sec. 4.6, 4.7
Wed, Feb 14: Huffman Codes Sec. 4.8
Fri, Feb 16: Divide and conquer: Merge sort Sec. 5.1
Mon, Feb 19: Recurrence relations, inversions Sec. 5.2, 5.3
Wed, Feb 21: Closest pairs of points Sec. 5.3, 5.4
Fri, Feb 23: Closest pairs Sec. 5.5
Mon, Feb 26: Integer multiplication
Wed, Feb 28: Review/Catch-up
Fri, Mar 2: ***MIDTERM EXAM***
Mon, Mar 5: Dynamic programming: More scheduling Sec. 6.1, 6.2
Wed, Mar 7: Segmented Least Squares Sec. 6.3
Fri, Mar 9: Subset sums and knapsacks
Exercise: subsetsum.py
Sec. 6.4
Mar 12-16: (No classes)
Mon, Mar 19: RNA secondary structure Sec. 6.5
Wed, Mar 21: Sequence alignment Sec. 6.6
Fri, Mar 23: Shortest paths Sec. 6.8
Mon, Mar 26: More shortest paths Sec. 6.9
Wed, Mar 28: Polynomial-time reductions Sec. 8.1
Fri, Mar 30: Reductions and satisfiability Sec. 8.2
Mon, Apr 2: Definition of NP Sec. 8.3
Wed, Apr 4: NP-completeness Sec. 8.4
Fri, Apr 6: (no classes)
Mon, Apr 9: Sequencing problems Sec. 8.5
Wed, Apr 11: Partitioning, graph coloring Sec. 8.6, 8.7
Fri, Apr 13: Numerical problems Sec. 8.8
Mon, Apr 16: Backtracking Levitin, Sec. 11.1
Wed, Apr 18: Branch-and-bound Levitin, Sec. 11.2
Fri, Apr 20: Approximation algorithms Levitin, Sec. 11.3
Mon, Apr 23: TBA
Wed, Apr 25: (Project resentations)
Fri, Apr 27: Wrap-up Levitin, Epilogue
Wed, May 2: FINAL EXAM (8-10 a.m.)