Week 
Topics 
Reference 
Assignment 
9 
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) 