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

Week
Lectures
Homework
1
8/28. Stable matching problem: a motivating example
8/30. Basics of algorithm analysis.
HW1. Stable matching, basic algorithm design and analysis.
2
9/4. Asymtotic notations.
9/6. Common running time.
HW2. Asymtotic notations. Running time analysis.
3
9/11. Divide and conquer.
9/13. Divide and conquer (cont.)

4
9/18. Probabalistic analysis.
9/20. Heapsort.
HW3. Divide and conquer and probabilistic analysis
5
9/25. Lower bound, quicksort, and counting sort.
9/27. Greedy algorithms.

6
10/2. Midterm exam 1.
10/4. Greedy algorithm and dynamic programming.
HW4. Greedy algorithm and dynamic programming
7
10/9. Dynamic programming (cont.)
10/11. Dynamic programming (cont.)

8
10/16. More dynamic programming
10/18. Basic graph algorithms: BFS and DFS
HW5. Dynamic programming
9
10/23. More DFS and its applications.
10/25. Minimum spanning tree. (MST)

10
10/30. Shortest path.
11/1.
Midterm exam 2.
HW6. Basic graph algorithms and MST.
11
11/6. Introduction to randomized algorithms.
11/8. Introduction to geometric algorithms.

12
11/13. Algorithms with numbers.
11/15. Concept of NP completeness.
HW7. Shortest path and more.
13
11/27. NP problems.
11/29. NP completeness: proofs.
HW8. NP completeness.
14
12/4. NP completeness: proofs
12/6. Cope with NP completeness: heuristics, speical instances and approximation.

15
Final exam.