CS4102 Algorithms - Spring 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 me to be available to our students, and to address their concerns. If you cannot meet with me during our office hours, e-mail me and we will find the time to meet. That being said, like everybody else I am 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.—I am very interested in hearing about them. There is an anonymous feedback tool through Collab, or you can send me or one of the TAs an e-mail. 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, I will add homework dates.
Date | Topic | Readings (optional) | Homework |
---|---|---|---|
Jan 14 | Introduction | - | HW0 out |
Jan 16 | Divide and Conquer | Ch 3, 4 | |
Jan 21 | MLK Day - No class | HW0 due, HW1 out | |
Jan 23 | Karatsuba, Tree Method - handout - all the math | Ch 4 | |
Jan 28 | Guess and Check - handout - all the math | Ch 4 | |
Jan 30 | Master Theorem, Substitution - handout - all the math | Ch 4 | HW1 due (2/3 11pm) |
Feb 4 | Closest Pair of Points - handout | Ch 33 | HW2 out |
Feb 6 | Strassen’s Algorithm, Quicksort - handout | Ch 4, 7 | |
Feb 11 | Quickselect, Median of Medians - handout | Ch 9 | HW3 out |
Feb 13 | Randomized Quicksort, Sorting - handout | Ch 7, 8 | HW2 due |
Feb 18 | Sorting Algorithms, Linear Time Sorting - handout | Intro II, Ch 4, 6, 8 | |
Feb 20 | Snow Day!! | HW4 out, HW3 due 2/22 | |
Feb 25 | Linear Time Sorting, MSCS - handout | 6, 8 | |
Feb 27 | Fun Problems | ||
Mar 4 | Dynamic Programming - handout | Ch 15 | HW4 due |
Mar 6 | Midterm Exam | ||
Mar 11 | Spring Break | ||
Mar 13 | Spring Break | ||
Mar 18 | Matrix Chain Multiplication, Seam Carving - handout | Ch 15 | HW5 out |
Mar 20 | Exam Review, Longest Common Subsequence - handout | - | |
Mar 25 | Gerrymandering - handout | Ch 16 | HW6 out |
Mar 27 | Greedy Algorithms, Interval Scheduling - handout | Ch 16 | HW5 due |
Apr 1 | Greedy Algoirthms, Huffman Coding - handout | - | |
Apr 3 | Belady Cache Replacement - handout | - | HW6 due (4/5) |
Apr 8 | Graphs, Minimum Spanning Trees - handout | Ch 23 | HW7 out |
Apr 10 | Dijkstra’s Algorithm - handout | Ch 24 | |
Apr 15 | Bellman-Ford, Floyd-Warshall - handout | Ch 24 | HW8 out, HW7 due (4/16) |
Apr 17 | Max Flow, Min Cut - handout | Ch 26 | |
Apr 22 | Bipartite Matching, Reductions - handout | Ch 26 | HW9 out, HW8 due (4/23) |
Apr 24 | Reductions, NP-Completeness - handout | Ch 34 | |
Apr 29 | NP-Completeness, Finale - handout | Ch 34 | HW9 due (4/30) |
May 1 | Exam Review Session, MEC 205, 4pm | ||
May 4 | Final Exam, 2-5pm |