CS 3000: Algorithms & Data — Fall 2021

Syllabus      Tentative Course Schedule


KT = Kleinberg-Tardos
PS = Problem Set


Date Topic Reading Homework
Fri 9/10
Unit 1: Introduction
Administrivia
A Sneak Peek into Algorithms
KT 1.2 PS1 out
Tue 9/14
Unit 2: Divide and Conquer
Sorting and Mergesort
Asymptotic Notation
KT 5.1, 2.1, 2.2, 2.4
Fri 9/17
Asymptotic Notation Recap
Integer Multiplication: Karatsuba's algorithm
Recurrence relations
KT 5.2, 5.5
Tue 9/21
Recurrences: Master Theorem Selection: Randomized Algorithm
KT 13.5, 5.2 PS1 due
PS2 out
Fri 9/24
Selection: Deterministic Algorithm
Divide and Conquer Recap
Tue 9/28
Unit 3: Dynamic Programming
Fibonacci Series
Weighted Interval Scheduling
KT 6.1, 6.2
Fri 10/1
Segmented Least Squares
Knapsack
KT 6.3, 6.4 PS2 due
PS3 out 10/2
Tue 10/5
Longest Common Subsequence
Sequence Alignments
KT 6.6
Fri 10/8
More DP examples
Tue 10/12
Unit 4: Greedy Algorithms
Interval Scheduling
KT 4.1
Fri 10/15
Huffman Coding
Proof Strategies
KT 4.8 PS3 due
Tue 10/19
Midterm I (Units 1 through 3)
Fri 10/22
Unit 5: Graph Traversals
Graph definitions
Depth-first search, Topological Sort
KT 3.1, 3.2, 3.5, 3.6 PS4 out
Tue 10/26
Strongly connected components
Breadth-first search
KT 3.4, 3.5
Fri 10/29
Unit 6: Graph Optimization
Shortest paths: Dijkstra's Algorithm
KT 4.4 PS4 due
PS5 out
Tue 11/2
Shortest paths: Dijkstra using PQs
Shortest paths: Bellman-Ford
KT 2.5, 6.8
Fri 11/5
Minimum Spanning Trees: Introduction
Minimum Spanning Trees: Prim
KT 4.5
Tue 11/9
Minimum Spanning Trees: Kruskal
Union-Find using linked lists (Kruskal)
KT 4.5, 4.6
Fri 11/12
Unit 7: Network Flows
Flows and cuts
Ford-Fulkerson's algorithm
KT 7.1-7.2 PS5 due
Tue 11/16
Midterm II (Units 4 through 6)
Fri 11/19
Edmonds-Karp
Applications of network flows
KT 7.3, 7.5 PS6 out
Tue 11/23
More Network flow applications
Fri 11/26
Thanksgiving (no class)
Tue 11/30
Unit 8: Randomized Algorithms
Fri 12/3
Unit 9: P, NP and NP-completeness
Hard Decision Problems
Polynomial-time Reductions
KT 8.1-8.3
Tue 12/7
NP-completeness
KT 8.4-8.7 PS6 due