The lecture schedule is tentative and subject to change as the term progresses.
Date  Topic  Required Readings 

Thu, Jan 11, 2018 
Review of CIS 160 and Stable Matching


Tue, Jan 16, 2018 
Greatest Common Divisor, Insertion Sort


Thu, Jan 18, 2018 
Running Time and Growth Functions


Tue, Jan 23, 2018 
Running Time and Recurrence Relations


Thu, Jan 25, 2018 
Divide and Conquer


Tue, Jan 30, 2018 
Counting Inversions, Deterministic Selection, Recurrences


Thu, Feb 1, 2018 
Randomized Quicksort, Closest Pair, Simplified Master Thorem


Tue, Feb 6, 2018 
Stacks and Queues and Heaps


Thu, Feb 8, 2018 
Heaps and Huffman Coding


Tue, Feb 13, 2018 
Huffman Coding


Thu, Feb 15, 2018  Midterm 1 (inclass)  
Tue, Feb 20, 2018 
BreadthFirst Search, DepthFirst Search


Thu, Feb 22, 2018 
DepthFirst Search


Tue, Feb 27, 2018 
Bipartiteness, Topological Sort, Shortest Paths


Thu, Mar 1, 2018 
Shortest Paths, Minimum Spanning Trees


Tue, Mar 13, 2018 
Minimum Spanning Trees, Strongly Connected Components


Thu, Mar 15, 2018 
UnionFind, Strongly Connected Components


Tue, Mar 20, 2018  Union Find  
Thu, Mar 22, 2018 
Hashing


Tue, Mar 27, 2018 
Tries, Hashing with Open Addressing


Thu, Mar 29, 2018  Midterm 2 (inclass)  
Tue, Apr 3, 2018 
Hashing and BSTs


Thu, Apr 5, 2018 
Binary Search Trees, AVL Trees


Tue, Apr 10, 2018 
Skip Lists and AVL Trees


Thu, Apr 12, 2018 
Skip Lists


Tue, Apr 17, 2018 
Mincut, Approximation Algorithms


Thu, Apr 19, 2018  TBD  
Tue, Apr 24, 2018  TBD 