CMPSCI 311: Theory of Algorithms

David Mix Barrington

Fall, 2006

This page contains the schedule of lectures, reading assignments, and exams for CMPSCI 311 in Fall 2006. You should read the assigned sections of the text (Kleinberg and Tardos, Algorithm Design, before class. Lectures are MWF at 1:25-2:15 in room A301, LGRC (the low-rise). Discussion meetings are Monday 2:30-3:20 for section "AD01" and Wednesday 2:30-3:20 for section "BD01" or "AD02" (I've seen both names used), both in room A203, LGRC. The first discussion meetings will be on 11 and 13 September.

PART I: Basic Analysis Tools, Greedy Algorithms

Wed 06 Sep  L01   Stable Matching (1.1)
Fri 08 Sep  L02   Five Representative Problems (1.2)
Mon 11 Sep  L03   Big-O Notation and Running Time (2.1,2.2)
M/W 11 Sep  D01   Proofs Using Big-O (also 13 Sep)
Wed 13 Sep  L04   Implementing Stable Matching; Common  Running Times (2.3,2.4)
Fri 15 Sep  L05   Priority Queues (2.5)
Mon 18 Sep  L06   Basics of Graphs, Paths, and Traversals (3.1,3.2)
M/W 18 Sep  D02   Depth-First Search (also 20 Sep)
Wed 20 Sep  L07   Breadth-First and Depth-First Search (3.3,3.4)
Fri 22 Sep  L08   Connectivity and Topological Ordering (3.5,3.6)
Mon 25 Sep  L09   Interval Scheduling (4.1)
M/W 25 Sep  D03   A Greedy Algorithm Example (also 27 Sep)
Wed 27 Sep  L10   Exchange Argurments (4.2)
Fri 29 Sep  L11   Shortest Paths in a Graph (4.4)
Mon 02 Oct  L12   The Minimum Spanning Tree Problem (4.5)
M/W 02 Oct  D04   Huffman Codes (4.8) (also 4 Oct)
Wed 04 Oct  L13   Kruskal's Algorithm and the Union-Find Data Structure (4.6)
Thu 05 Oct  X01   EVENING EXAM on Chapters 1-4

PART II: Three Algorithmic Paradigms

Fri 06 Oct  L14   Recurrence Relations and Mergesort (5.1,5.2)
Mon 09 Oct  ---   NO CLASS -- Columbus Day (no discussion this week)
Wed 11 Oct  L15   Counting Inversions (5.3) (Monday Schedule)
Fri 13 Oct  L16   Finding the Closest Pair of Points (5.4)
Mon 16 Oct  L17   Weighted Interval Scheduling (6.1)
M/W 16 Oct  D05   Fast Integer Multiplication (5.5) (also 18 Oct)
Wed 18 Oct  L18   Dynamic Programming: Segmented Least Squares (6.2,6.3)
Fri 20 Oct  L19   Subset Sums and Knapsacks (6.4)
Mon 23 Oct  L20   Sequence Alignment (6.6,6.7)
M/W 23 Oct  D06   Another Dynamic Programming Example (also 25 Oct)
Wed 25 Oct  L21   Shortest Paths in Graphs Again (6.8,6.9)
Fri 27 Oct  L22   The Maximum Flow Problem and a First Solution (7.1)
Mon 30 Oct  L23   The Min-Cut Max-Flow Theorem (7.2)
M/W 30 Oct  D07   Modeling School Scheduling (also 1 Nov)
Wed 01 Nov  L24   Choosing Good Augmenting Paths (7.3)
Fri 03 Nov  L25   The Bipartite Matching Problem (7.5)
Mon 06 Nov  L26   Two More Network Flow Examples (7.9,7.12)
M/W 06 Nov  D08   Where Network Flow Doesn't Help (also 8 Nov)
Thu 09 Nov  X02   EVENING EXAM on Chapters 5-7

PART III: NP-Completeness and Dealing With It

Wed 08 Nov  L27   Polynomial-Time Reductions (8.1) (before Exam II, not on it)
Fri 10 Nov  L28   NP, Satisfiability, and Reductions (8.2,8.3)
Mon 13 Nov  L29   NP-Complete Problems (8.4)
M/W 13 Nov  D09   An NP-Completeness Proof (also 15 Nov)
Wed 15 Nov  L30   Sequencing Problems (8.5)
Fri 17 Nov  L31   Partitioning and Numerical Problems (8.6,8.8)
Mon 20 Nov  L32   Graph Coloring (8.7)
M/W 20 Nov  ---   NO DISCUSSION this week
Wed 22 Nov  L33   The Class PSPACE (9.1,9.2)
Fri 24 Nov  ---   NO CLASS -- Thanksgiving Holiday
Mon 27 Nov  L34   Finding Small Vertex Covers (10.1)
M/W 27 Nov  D10   Finding Small Hitting Sets (also 29 Nov)
Wed 29 Nov  L35   Solving NP-Hard Problems on Trees (10.2)
Fri 01 Dec  L36   Load Balancing and Center Selection (11.1,11.2)
Mon 04 Dec  L37   A Greedy Heuristic For Set Cover (11.3)
M/W 04 Dec  D11   Bin-Packing (also 6 Dec)
Wed 06 Dec  L38   The Pricing Method: Vertex Cover (11.4)
Fri 08 Dec  L39   Local Search (12.1,12.2)
Mon 11 Dec  L40   Randomized Algorithms (13.1,13.4)
M/W 11 Dec  D12   Course Evaluations (also 13 Dec)
Wed 13 Dec  L41   Review and Coming Attractions

FINAL EXAM during exam period as scheduled by the University

Last modified 1 September 2006