Main navigation  Main content
Schedule
This is an approximate schedule. It will be updated as the class progresses.
The inclass exercise at the beginning of each lecture is from a section listed in bold.
Each week's reading is divided roughly into what I expect to cover on Monday, and what I expect
to cover on Wednesday.








1  Jan. 21 
Introduction/Review 
Lec1 slides

3.1 
Exercise 0: Due 1/25 

2  Jan. 28 
Insertion Sort and Correctness 
Lec2 slides Lec3 slides 
2.1 2.2 
Written Assignment 1: Due 1/29 Prog. Assignment 1: Due 2/1 PA1.py Template 

3  Feb. 4 
Merge Sort and Quicksort 
Lec4 slides Lec5 slides 
2.3 7.1, 7.2 
Written Assignment 2: Due 2/5 Prog. Assignment 2: Due 2/8 PA2.py Template Bubblesort Correctness Proof 
Quiz 1: 2/4 Practice Solutions 
4  Feb. 11 
Heapsort and Priority Queues 
Lec6 slides Lec7 slides 
6.1, 6.2, 6.3 6.4, 6.5 
Written Assignment 3: Due 2/12 Prog. Assignment 3: Due 2/15 PA3.py Template 

5  Feb. 18 
Counting Sort and Radix Sort 
Lec8 slides Lec9 slides 
8.1, 8.2 8.3, 8.4 
Written Assignment 4: Due 2/19 Prog. Assignment 4: Due 2/22 PA4.py Template 
Quiz 2: 2/18 Practice Solutions 
6  Feb. 25 
Hash Tables 
Lec10 slides Lec11 slides 
11.1, 11.2, 11.3 11.4, 12.1 
Written Assignment 5: Due 2/26 Prog. Assignment 5: Due 3/1 PA5.py Template 

7  Mar. 4 
Binary Search Trees 
Lec12 slides Lec13 slides 
12.2 12.3 
Written Assignment 6: Due 3/5 Prog. Assignment 6: Due 3/8 PA6.py Template 
Quiz 3: 3/4 Practice Solutions 
8  Mar. 11 
Balanced BSTs 
Lec14 slides Lec15 slides 
13.1, 13.2, 13.3 18.1, 18.2 
Written Assignment 7: Due 3/12 Prog. Assignment 7: Due 3/15 PA7.py Template 

9  Mar. 18 
Spring Break! 


10  Mar. 25 
Dynamic Programming 
Lec16 slides 
15.1, 15.3 15.2 
Written. Assignment 8: Due 3/26 Prog. Assignment 8: Due 3/29 PA8.py Template 
Quiz 4: 3/27 Practice Solutions 
11  Apr. 1 
Greedy Algorithms 
16.1, 16.2 16.3 
Written Assignment 9: Due 4/2 Prog. Assignment 9: Due 4/5 


12  Apr. 8 
BreadthFirst Search 
22.1 22.2 
Written Assignment 10: Due 4/9 Prog. Assignment 10: Due 4/12 
Quiz 5: 4/8 

13  Apr. 15 
DFS and Shortest Paths 
22.3, 22.4 24.1 
Written Assignment 11: Due 4/16 Prog. Assignment 11: Due 4/19 


14  Apr. 22 
Shortest Path Algorithms 
24.3 25.1, 25.2 
Written Assignment 12: Due 4/23 Prog. Assignment 12: Due 4/26 
Quiz 6: 4/22 

15  Apr. 29 
Minimum Spanning Trees 
23.1 23.2 
Written Assignment 13: Due 4/30 Prog. Assignment 13: Due 5/3 


16  May 6 
Quiz 7 and Course Evals 

Quiz 7: 5/6 

17  May 13 
No Final 
