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

Week
Lectures
Homework
1
8/30. Stable matching problem: a motivating example
9/1. Basics of algorithm analysis.
HW1. Stable matching, basic algorithm design and analysis.
2
9/6. Asymtotic notations.
9/8. Common running time.

3
9/13.  Divide and conquer.
9/15.  Divide and conquer (cont.)
HW2. Asymtotic notations. Divide and conquer.
4
9/20.  Probabalistic analysis.
9/22. Heapsort.
HW3. More divide and conquer and probabilistic analysis
5
9/27. Quicksort, radix sort and counting sort.
9/29. Midterm exam 1.

6
10/4. Greedy algorithms.
10/6. Greedy algorithm and dynamic programming.

7
10/11. Dynamic programming (cont.)
10/13. Dynamic programming (cont.)
HW4. Greedy algorithm and dynamic programming
8
10/18. More dynamic programming
10/20. Basic graph algorithms: BFS and DFS
HW5. Dynamic programming
9
10/25. More DFS and its applications.
10/27. Midterm exam 2.

10
11/1. Minimum spanning tree. (MST)
11/3.
Shortest path.
HW6. Basic graph algorithms and MST.
11
11/8. Introduction to randomized algorithms.
11/10. Introduction to string algorithms.

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

15
Final exam.