Course Description
This course focuses on understanding of algorithm design process. We present a range of design and analysis techniques such as greedy method, divide and conquer, and dynamic programming for problems that rise in various computational applications, such as shortest paths, network flow, and minimum spanning trees. We will also look into intractability and NP-completeness
Textbook
Primary: Algorithm Design, by Kleinberg and Tardos
Optional: Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
Course Materials
List of topics . Please note that this list is subject to chang wihtout prior notice
We will be using Piazza for this course. All materials, homeworks, slides, and discussion will be there.
Evaluation
Tentative, subject to change
Class participation will be counted as extra credit. All grades will be posted on
Blackboard.