CS4102 Algorithms - Fall 2019
Course Description: Introduces the analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymptotic worst-case, expected time, amortized analysis, and reductions between problems
Availability: It is important to us to be available to our students, and to address their concerns. If you cannot meet with either of us during our office hours, e-mail us and we will find the time to meet. That being said, like everybody else we are quite busy, so it may take a day or more to find a time to meet. And if you have any comments on the course—what is working, what is not working, what can be done better, etc.—we are very interested in hearing about them. Please send Prof. Hott, Prof. Wu, or one of the TAs an e-mail or post privately on Piazza to the instructors. We tend to get bogged down by e-mail as the semester progresses, so seeing us in person (right after lecture, during office hours, etc.) is often a good way to get a more immediate response.
Syllabus: View the full syllabus
Schedule
We will attempt to keep to this schedule throughout the semester. As we go through the semester, we will add homework dates as well as links to the lecture notes.
Date | Topics | Slides | Readings (optional) | Homework |
---|---|---|---|---|
Aug 27 | Introduction | David - Robbie | - | HW0 out |
Aug 29 | Divide and Conquer | David - Robbie | Ch 3, 4 | |
Sep 3 | Karatsuba, Tree Method | David - Robbie | Ch 4 | HW0 due, HW1 out |
Sep 5 | Guess and Check | David - Robbie - math | Ch 4 | |
Sep 10 | Master Theorem, Substitution | David - Robbie - math | Ch 4 | |
Sep 12 | Closest Pair of Points, Strassen’s Algorithm | David - Robbie | Ch 33 | HW1 due, HW2 out |
Sep 17 | Quicksort, Quickselect | David - Robbie | Ch 4, 7 | |
Sep 19 | Median of Medians, Randomized Quicksort | David - Robbie | Ch 7,9 | HW2 due, HW3 out |
Sep 24 | Randomized Quicksort, Sorting Algorithms | David - Robbie | Ch 7, 8 | |
Sep 26 | Linear Time Sorting, MSCS | David - Nate | Intro II, Ch 4, 6, 8 | |
Oct 1 | MSCS, Dynamic Programming | David - Robbie | Ch 6, 8 | HW3 due, HW4 out |
Oct 3 | Dynamic Programming, Matrix Chain Multiplication | David - Robbie | Ch 15 | |
Oct 8 | No Class (Reading Day) | |||
Oct 10 | Seam Carving, Longest Common Subsequence | David - Robbie | Ch 15 | |
Oct 15 | Midterm Exam | |||
Oct 17 | Gerrymandering | David - Robbie | ||
Oct 22 | Greedy Algorithms, Interval Scheduling | David - Robbie | Ch 16 | |
Oct 24 | Midterm Review | none | HW5 due, HW6 out | |
Oct 29 | Greedy Algorithms, Huffman Coding | Robbie | Ch 16 | |
Oct 31 | Greedy Algorithms, Belady Cache Replacement | David - Robbie | Ch 16 | |
Nov 5 | Graphs, Minimum Spanning Tree | David - Robbie | HW6 due (Wed), HW7 out | |
Nov 7 | Graphs, Dijkstra’s Algorithm | David - Robbie | Ch 23 | |
Nov 12 | Bellman-Ford, Floyd-Warshall | David - Robbie | Ch 24 | |
Nov 14 | Max Flow, Min Cut | David | Ch 24 | HW7 due, HW8 out |
Nov 19 | Bipartite Matching, Reductions | David - Robbie/Nate | Ch 26 | |
Nov 21 | Reductions | David - Robbie | Ch 26 | HW8 due, HW9 out |
Nov 26 | Reductions, NP-Completeness | David - Robbie | Ch 34 | |
Nov 28 | No Class (Thanksgiving) | |||
Dec 3 | NP-Completeness, Convex Hull | David - Robbie | ||
Dec 5 | Finale | David - Robbie | HW9 due | |
Dec 7 | Review Session, 1pm, Ols 120 | |||
Dec 9 | Final Exam, 7-10pm |