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)