Entry requirements: Mathematics, 15 credits, and Computer Science, 30 credits, including Algorithms and data structures I or the equivalent.
work with common algorithmic techniques such as dynamic programming, greedy algorithms.
deal with basic problems using graph algorithms, string matching, computational geometry and flow networks.
Asymptotic notation and recurrence equations. Data structures for disjoint sets. Dynamic programming. Greedy algorithms. Graph algorithms such as shortest path and minimum spanning tree. Maximum flow problems in flow networks. Applications of string matching, computational geometry, data compression.
Written exam (3 credits). Assignments (2 credits).