CSE 3500 (Spring 2017):  Algorithm and Complexity,  Instructor: Yufeng Wu
Tentative Class Schedule (subject to change)

Week
Lectures
Homework
1
Stable matching problem: a motivating example. Asymptotic notations. HW1. Stable matching, basic algorithm design and analysis.
2
Common running time.  Basic graph algorithms: BFS and DFS HW2. Asymptotic notations. Running time analysis.
3
More DFS and its applications. Greedy algorithms.
HW3. Basic graph algorithms. Greedy algorithm
4
Greedy algorithm (cont.). Heap. Programming assignment 1: implement basic graph algorithms
5
Divide and conquer. Still more on divide and conquer:
HW4. Divide and conquer
6
Midterm exam 1.
More on divide and conquer.
Programming assignment 2: implement divide and conquer algorithm
7
Dynamic programming HW5. Dynamic programming
8
More dynamic programming.

9
Still more dynamic programming.
HW6. Network flows
10
Shortest path problem.
Midterm exam 2.
Programming assignment 2: dynamic programming
11
Primality testing and Fast Fourier Transform

12
NP completeness: proofs.  HW7. Shortest path
13
NP completeness.
HW8. NP completeness
14
Algorithms for coping with NP complete problems.

15
Final exam.