Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms and others (if time permits). Students will be expected to show good design principles and adequate skills at reasoning about the correctness and complexity of algorithms.
Instructor: Vincent Maccio
1) The midterm will be held on October 29th from 11:00am-1:00pm (as we discussed in the first two weeks of class). If you absolutely cannot write at this time, please send me an email as soon as possible. This is during the Monday section lecture time, therefore, the Tuesday section lecture time for that week (Oct 30th) is cancelled. I will still be in the regular room, but will be treating it as an office hours rather than a lecture.
2) The midterm will cover everything up to the this point. Specifically, it will cover greedy algorithms (proofs/disproofs), and dynamic programming.
The course syllabus can be found here. A quick note about assignment due dates. All assignment due dates on the syllabus are placeholders. The actual due date will depend on how fast we proceed through the material. I will always give you at least two weeks to complete an assignment, from the time it's posted until the due date.
This course uses Piazza as its discussion board, the course can be found here, the access code is csc373.