Material covered by schedule subject to change, although midterm & final dates are fixed. This schedule is very tentative!
Schedule is numbered by week.
- (9/29): Introduction, overview of problems to study. Math and basic analysis tools, introduction to analysis of both nonrecursive and recursive algorithms.
Read 1.1-1.4, 2.1, 2.3, 2.4, Appendix A. - (10/4): Finish intro to analysis, review data structures. Big-Oh notation. Selected coverage of Brute force algorithms.
Read 2.2, chapter 3.1, 3.3, 4.1-4.3
(10/6): Assignment #1 due. Divide and conquer algorithms (including at least Merge sort), recurrence equations, and analysis of them.
- (10/11): More divide and conquer
Read 4.6.
(10/13): Assignment #2 due. - (10/18): Midterm 1 on Tuesday, Oct. 18.
(10/20): Master Theorem, Convex Hull . - (10/25): Finish Convex Hull, Review trees, start dynamic programming.
Read 4.4, 8.1, 8.4
(10/27): More dynamic programming. Assignment #3a due. - (11/1): Finish dynamic programming Assignment #3b due.
Read 8.2, 5.1-5.4.
(11/3): Decrease-and-conquer. - (11/8): Assignment #4 due. More Decrease-and-Conquer. More Dynamic Programming..
(11/10): Midterm review, more decrease-and-conquer. - (11/15): Midterm 2 on Tuesday, Nov. 15th.
(11/17): Finish Decrease-and-Conquer. - (11/22): Assignment #5 due. Greedy Algorithms.
Read chapter 9.1-9.3
(11/24): Happy Thanksgiving, no class! - (11/29): More Greedy Algorithms. Transform-and-conquer.
Read chapter 6.1, 6.4-6.6.
(12/1): Assignment #6 due. Transform-and-conquer continued.
- (12/6): Space and Time Tradeoffs. Algorithm of the quarter TBD.
Read chapter 7.1,7.3. Read chapter 10.1-10.3.
(12/8): Intro to lower bounds, P and NP. Review. Assignment #7 due. - Final Exam date: Thursday, Dec.. 15th