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 
Quick Sort, Counting Inversions, Deterministic Selection


Thu, Feb 1, 2018 
Deterministic Selection, Randomized Quicksort, Integer Multiplication


Tue, Feb 6, 2018 
Integer Multiplication, Stacks and Queues, Heaps


Thu, Feb 8, 2018 
EAGLES


Tue, Feb 13, 2018 
Heaps, Huffman Coding


Thu, Feb 15, 2018  Midterm 1 (inclass)  
Tue, Feb 20, 2018 
Huffman Coding


Thu, Feb 22, 2018 
BreadthFirstSearch / DepthFirst Search


Tue, Feb 27, 2018 
Bipartiteness, Topological Sort


Thu, Mar 1, 2018 
Topological Sort, Shortest Paths


Tue, Mar 13, 2018 
Minimum Spanning Trees


Thu, Mar 15, 2018 
UnionFind


Tue, Mar 20, 2018  Strongly Connected Components 

Thu, Mar 22, 2018 
Tries


Tue, Mar 27, 2018  Hashing 

Thu, Mar 29, 2018  Midterm 2 (inclass)  
Tue, Apr 3, 2018 
Hashing (Open Addressing)


Thu, Apr 5, 2018 
Hashing (Open Addressing) Binary Search Trees


Tue, Apr 10, 2018 
Binary Search Trees & AVL Trees


Thu, Apr 12, 2018 
Skip Lists


Tue, Apr 17, 2018 
Skip Lists


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