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-2 Tuesdays, 12-1 Fridays
The midterm is from 11:00am-1:00pm on October 29th. It will cover the first six weeks of material. That is, greedy algorithms and dynamic programming.
If you are registered in the Tuesday section, please go to your regular lecture room. If you are registered in the Monday section, please go to DV 2105F.
I will be holding a review session/office-hours the day before the midterm (the 28th) from 11:00am-1:00pm in MN 1170 (this is during the regular Monday lecture).
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.