Textbooks (all on a 2 hour reserve in the library):
Other resources/recommended reading (all on a 2 hour reserve in the library; or free):
Prerequisites: CSC162 or CSC172 or MTH172.
Problem sessions:
Sep. 1 Th - Introduction.
Sep. 6 Tu - When does greedy algorithm for the coin change problem work?
Sep. 8 Th - Dynamic programming for the coin change problem. Knapsack (integer weights).
Sep. 13 Tu - Knapsack revisited (integer values). Longest increasing subsequence.
Sep. 15 Th - Edit distance. Chain matrix multiplication.
Sep. 20 Tu - More dynamic programming problems.
Sep. 22 Th - Modeling with linear programs I (classical problems).
Sep. 27 Tu - Solving systems of equations (Gaussian elimination), solving systems on inequalities (Fourier-Motzkin elimination).
Sep. 29 Th - Duality, Modeling with linear programs II (zero-sum games).
Oct. 4 Tu - Linear programming for approximation (relaxation, rounding).
Oct. 6 Th - More linear programming.
Oct. 11 Tu - FALL BREAK (no class).
Oct. 13 Th - EXAM #1 (topics: Greedy algorithms/Dynamic programming/Linear Programming)
Problem sessions:
Oct. 25 Tu - Strongly connected components.
Oct. 27 Th - BFS, Shortest paths (Dijkstra).
Nov. 1 Tu - Dealing with negative edge weights (Bellman Ford). Floyd-Warshal.
Nov. 3 Th - Matchings I.
Nov. 8 Tu - Matchings II.
Nov. 10 Th - Minimum spanning trees.
Nov. 15 Tu - (review/buffer)
Nov. 17 Th - EXAM #2 (topics: Graph algorithms)
Nov. 22 Tu - (online/zoom class) NP completness, reductions I.
Nov. 24 Th - THANKSGIVING (no class).
Nov. 29 Tu - NP completness, reductions II.
Dec. 1 Th - Fast fourier transform, convolution I.
Dec. 6 Tu - Fast fourier transform, convolution II.
Dec. 8 Th - Divide and Conquer Algorithms .
Dec. 13 Tu - (review/buffer)