Date  Topic and/or Event  Readings 
January 15  Lecture 1: Introduction and Overview  Levitin Ch. 1; Topic Notes: Introduction 
January 17  Lecture 2: Fundamental Data Structures  
January 22  Lecture 3: Asymptotic Analysis  Levitin Ch. 2; Topic Notes: Analysis 
January 24  Lecture 4: Asymptotic Analysis  
January 29  Lecture 5: Asymptotic Analysis  
January 31  Lecture 6: Mathematical Analysis  
February 5  Lecture 7: Mathematical Analysis; Empirical Analysis; Problem Set 1 due  
February 7  Lecture 8: BruteForce Algorithms  Levitin Ch. 3; Topic Notes: BruteForce Algorithms 
February 12  Lecture 9: BruteForce Algorithms  
February 14  Lecture 10: More Brute Force; Exhaustive Search; Problem Set 2 due  
February 19  Lecture 11: Review; Exam 1 InClass; Exam 1 TakeHome Portion Out  
February 21  Lecture 12: Decrease and Conquer; Exam 1 TakeHome Portion Due  Levitin Ch. 4; Topic Notes: DecreaseandConquer Algorithms 
February 26  Lecture 13: Exam and Problem Set Recaps  
February 28  Lecture 14: More Decrease and Conquer; Problem Set 3 due (Friday)  
March 5 & 7  Spring Break!  
March 12  Lecture 15: Divide and Conquer  Levitin Ch. 5; Topic Notes: DivideandConquer Algorithms 
March 14  Lecture 16: More Divide and Conquer; Trees  Topic Notes: Binary Search Trees 
March 19  No Class: Advisement Day  
March 21  Lecture 17: Balanced Trees; Problem Set 4 due  Levitin Ch. 6.3 
March 26  Lecture 18: Heaps and Heapsort  Levitin Ch. 6.4; Topic Notes: Heaps; 
March 28  Lecture 19: Review  
April 2  Lecture 20: Virtual Lecture: Counting Sorts  Levitin Ch. 7.1; Topic Notes: Counting Sorts 
April 4  Lecture 21: Review; Problem Set 5 due  
April 9  Exam 2 InClass; Exam 2 TakeHome Portion Out  
April 11  Lecture 22: Hashing; Exam 2 TakeHome Portion Due  Levitin Ch. 7.3; Topic Notes: Hashing 
April 16  Lecture 23: Hashing Wrapup; Dynamic Programming  Levitin Ch. 8; Topic Notes: Dynamic Programming 
April 18  Lecture 24: Graphs and Graph Algorithms; Problem Set 6 due  Levitin Ch. 9; Topic Notes: Graph Algorithms 
April 23  Lecture 25: Graph Algorithms  
April 25  Lecture 26: Graph Algorithm Wrapup  
April 30  Lecture 27: Huffman Codes; Limitations of Algorithms  Topic Notes: Huffman Codes; Levitin Ch. 11; Topic Notes: Limitations of Algorithms 
May 2  Lecture 28: Limitations of Algorithms; Wrapup; Course Evaluations; Problem Set 7 due  
May 6  Final Exam, 10:45 AM  
