Textbooks:
Other resources/recommended reading:
Other resources/recommended reading (more advanced topics):
Prerequisites: CSC162 or CSC172 or MTH172.
Problem sessions:
Aug. 31 Th - Introduction.
Sep. 5 Tu - When does greedy algorithm for the coin change problem work?
Sep. 7 Th - Dynamic programming for the coin change problem. Knapsack (integer weights).
Sep. 12 Tu - Knapsack revisited (integer values). Longest increasing subsequence.
Sep. 14 Th - Edit distance. Chain matrix multiplication.
Sep. 19 Tu - More dynamic programming problems.
Sep. 21 Th - Modeling with linear programs I (classical problems).
Sep. 26 Tu - Solving systems of equations (Gaussian elimination), solving systems on inequalities (Fourier-Motzkin elimination).
Sep. 28 Th - Duality, Modeling with linear programs II (zero-sum games).
Oct. 3 Tu - Modeling with linear programs III.
Oct. 5 Th - EXAM #1 (topics: Greedy algorithms/Dynamic programming/Linear Programming).
Problem sessions:
Oct. 17 Tu - FALL BREAK (no class).
Oct. 19 Th - Strongly connected components.
Oct. 24 Tu - BFS, Shortest paths (Dijkstra).
Oct. 26 Th - Dealing with negative edge weights (Bellman Ford). Floyd-Warshal.
Oct. 31 Tu - Matchings I.
Nov. 2 Th - Matchings II.
Nov. 7 Tu - Minimum spanning trees.
Nov. 9 Th - EXAM #2 (topics: Graph algorithms)
Problem sessions: