| Day | Topic | Notes | Last Updated | Readings |
|---|---|---|---|---|
| Oct 28 | Background: Basic Math, Proof Techniques and Data Structures Why Algorithms? (Rough Draft from the book by Profs. Heineman, Pollice and Selkow) Book Link |
pdf ps | Oct 28 | Appendix A.1, Chapter 10 (both from Cormen book) |
| Oct 30 - Oct 31 | Introduction, Complexity, Notations, Recurrences | pdf
ps Recursion Tree Method: Extra notes |
Oct 28 | Chapters 0, 1.1, 2.1 + extra |
| Nov 3 - Nov 7 | Sorting Algorithms, including Heap Sort, Median | pdf
ps Selection in Worst Case Linear Time: Extra notes |
Oct 28 | Chapters 2.3, 4.5, 2.4 + extra |
| Nov 10 - Nov 14 | Dynamic Programming | pdf
ps LCS Extra Notes |
Oct 28 | Chapters 6.2, 6.3, 6.4, 6.5 |
| Nov 17 - Nov 20 | Greedy Algorithms | pdf ps | Oct 28 | Chapters 5.2 + extra |
| Nov 21 | Midterm | |||
| Nov 24 | Graphs/Trees Introduction | Graphs Trees | Oct 28 | Section 3.1 |
| Nov 25 - Dec 1 | Graph Traversal - DFS, BFS | Oct 28 | Chapter 3, 4.1, 4.2 | |
| Dec 2 | Special Lecture: Prof. George Heineman on Path Finding | |||
| Dec 4 - Dec 5 | Minimum Spanning Trees | Book chapter 5.1 (except "Path Compression" and "Randomized algorithm for min cut") pdf | Oct 28 | Chapters 5.1 |
| Dec 8 - Dec 12 | Shortest Paths | Single Source Shortest Paths All Pair Shortest Paths |
Oct 28 | Chapters 4, 6.1, 6.6 |
| Dec 15 - Dec 16 | NP-Completeness | Oct 28 | Chapter 8 | |
| Dec 18 | Final Exam |