Week 
Topics 
Reference 
Assignment 
14 
Lecture 23: NP completeness.
Short subject: algorithms for NP completeness problems. Lecture 22: NP completeness (taught by Prof. Mukul Bansal). Notes on algorithms for NP complete problems. 
Chapters 8 and 10. 

13 
Lecture 21: Concept of NP.
Polynomial time reduction. Lecture 20: Shortest path. Concept of NP. Notes on polynomial time reduction. Notes on concept of NP. 
Chapter 8. 
HW8.
Due: 4/27 end of day. 
12 
Lecture 19: Graph algorithms:
MST and shortest path. Exam two. Lecture notes on shortest path. 
Sections 4.4 and 6.8. 
HW7.
Due: 4/18 end of day. 
11 
Lecture 18: Dynamic
programming. Graph algorithms: MST. Lecture 17: Dynamic programming. Lecture notes on MST. 
Sections 6.1and 4.5. 

10 
Lecture 16: Dynamic
programming. Lecture 15: Dynamic programming Lecture notes 8. 
Sections 6.2 and 6.6 
HW6.
Due: 4/4 end of day. 
9 
Snow day (again!!) Lecture 14: Divide and conquer. Introduction to dynamic programming. Lecture notes 7. 
Sections 5.4 and 6.2. 

8 
Snow day (again!) Lecture 13: Divide and conquer Lecture notes 6: divide and conquer 
Chapter 5. 
HW5.
Due: 3/19 end of day. 
7 
Exam one. Lecture 12: Divide and conquer. Master theorem. Notes on Master Theorem. 
Chapter 5. 

6 
Lecture 11: greedy algorithm;
divide and conquer Lecture 10: greedy algorithm for Huffman coding (sect. 4.8) Lecture notes 5: greedy algorithms. 
Chapters 4 and 5. 
HW4.
Due: 2/26 end of day. Note: no extension will be given
because I need to post solution before the exam 1. 
5 
Lecture 9 (make up lecture):
greedy algorithms for coin change, interval scheduling
(sect. 4.1) and scheduling to minimize maximum lateness
(sect. 4.2). Lecture 8: DFS and applications. Lecture 7: Bipartite graph. DFS. Lecture notes 4: greedy algorithm. 
Chapters 3 and 4. 
HW3.
Due: 2/19 end of day. 
4 
Lecture 6: Snow day. Lecture 5: Heap. Graph BFS. Lecture notes 3. Read Section 3.4 for bipartite graph. 
Chapter 3. 

3 
Lecture 4: Common running
time. Heap. Lecture 3: Asymptotic notations Lecture notes 2. Notes on heap (see the end of the second page). 
Chapter 2. 
HW2.
Due: 2/7 end of day. 
2 
Lecture 2: Basics of algorithm analysis. Lecture 1: Basic concepts of algorithms. Stable matching problem: a motivating example. Lecture notes 1 (from previous offering of this course): please note lecture topics will be similar with previous offering of this course. So I often will reuse the lecture notes. 
Chapters 1 and 2 of the textbook. We discussed insertion sort in the class. Check out these slides which contain detailed explanation on insertion sort. 
HW1. Due: 1/29 end of day. Note: submit electronically to HuskyCT. 
1 
No class (snow day) 