Algorithms
Winter Quarter 2018
Instructor: Yury Makarychev
TAs: Haris Angelidakis and David Kim Lectures: Tuesdays & Thursdays, 9:30am10:50am, TTIC, room 526 Tutorials: Wednesdays, 3:30pm4:20pm, TTIC, room 530 Canvas course site: canvas.uchicago.edu/courses/13223 Textbook: Algorithm Design by Kleinberg and Tardos
Grading: homeworks 45%, quizzes 5%, midterm 20%, final 30%; extra credit for class participation
Description:
This is a graduatelevel course on algorithms, with an emphasis on computational problems that are central to both theory and practice. The course focuses on developing techniques for the design and rigorous analysis of algorithms and data structures for such problems.

W. Kandinsky, Squares with Concentric Circles, 1913. A dynamic programming algorithm solves subproblems of the original problem and stores solutions to the subproblems in a table. 
Homework Assignments
 Will be posted on the Canvas web site for the course.
Tentative Schedule
 January 4: Greedy Algorithms (Chapter 4)
greedy algorithms, interval scheduling problem, minimum weighted completion time  January 9: Greedy Algorithms, Huffman coding
minimum cost spanning trees, Prim's algorithm, Huffman coding  January 11: Huffman coding
Huffman coding, a greedy algorithm for Max Cut  January 16: Dynamic Programming (Chapter 6)
weighted interval scheduling, typesetting problem  January 18: Quiz #1, Dynamic Programming
typesetting problem, knapsack problem  January 23: Dynamic Programming
minimum tree bisection, the longest common subsequence problem  January 25: Dynamic Programming
the BellmanFord algorithm  January 30: Maximum Flow and Minimum Cut
definitions, the Ford—Fulkerson algorithm  February 1: Quiz #2, Max Flow and Min Cut, Maximum Matching
the Ford—Fulkerson algorithm (continued), matchings, Hall's theorem  February 6: Applications of Max Flow and Min Cut
matchings, multi–source/multi–sink single–commodity flow, edge disjoint paths, Menger's theorem, and other examples  February 8: Linear Programming (LP)
linear programming, feasible solution, optimal solution, bounded/unbounded linear programs, feasible polytope, vertices, canonical (standard) form, LP duality  February 13: LP Duality
the dual LP, the dual of the dual, weak duality, strong duality  February 15: Midterm Exam
 February 20: LP Duality. Polynomialtime reductions.
the LP for Max Flow, its dual, polynomialtime reductions  February 22: Polynomialtime reductions. Classes P and NP.
 February 27: Quiz #3. NP, NP complete, and NP hard problems. Approximation algorithms.
 March 1: Approximation algorithms.
 March 6: Randomized algorithms.