|
Date | Topic and/or Event | Readings |
|
January 12 | Lecture 1: Introduction and Overview; Problem Set 1: Data Structures [HTML] [PDF] | Levitin Ch. 1; Topic Notes: Introduction |
|
January 14 | Lecture 2: Fundamental Data Structures | Bailey Ch. 16.1-16.3; Topic Notes: Data Structures |
|
January 19 | No Class: MLK Jr. Day | |
|
January 21 | Lecture 3: More Data Structures; Asymptotic Analysis | Levitin Ch. 2; Topic Notes: Analysis |
|
January 26 | Lecture 4: Asymptotic Analysis; Problem Set 2: Asymptotic Analysis [HTML] [PDF] | |
|
January 28 | Lecture 5: Asymptotic Analysis; Analyzing Non-Recursive Algorithms | |
|
February 2 | No Class: Snow Day! | |
|
February 4 | Lecture 6: Analyzing Recursive Algorithms | |
|
February 9 | Lecture 7: Analysis Wrapup; Problem Set 3: Theoretical and Empirical Analysis [HTML] [PDF] | |
|
February 11 | Lecture 8: Brute-Force Algorithms | Levitin Ch. 3; Topic Notes: Brute-Force Algorithms |
|
February 16 | Lecture 9: More Brute Force; Exhaustive Search | |
|
February 18 | Lecture 10: Problem Set Recaps | |
|
February 23 | Lecture 11: Exam 1 In-Class; Exam 1 Take-Home Portion Out | |
|
February 25 | Lecture 12: Decrease and Conquer; Problem Set 4: Brute Force and Decrease and Conquer [HTML] [PDF]; Exam 1 Take-Home Portion Due | Levitin Ch. 4; Topic Notes: Decrease-and-Conquer Algorithms |
|
March 2 & 4 | Spring Break! | |
|
March 9 | Lecture 13: Decrease and Conquer, Divide and Conquer | Levitin Ch. 5; Topic Notes: Divide-and-Conquer Algorithms |
|
March 11 | Lecture 14: Divide and Conquer; Problem Set 5: Divide and Conquer [HTML] [PDF] | |
|
March 16 | Lecture 15: More Divide and Conquer; Trees | Topic Notes: Binary Search Trees |
|
March 18 | Lecture 16: Balanced Trees; Problem Set 6: Trees [HTML] [PDF] | Levitin Ch. 6.3 |
|
March 23 | Lecture 17: Heaps and Heapsort | Levitin Ch. 6.4-6.5; Topic Notes: Heaps; |
|
March 25 | Lecture 18: Problem Set Recaps | |
|
March 30 | Lecture 19: More Problem Set Recaps; Counting Sorts; Problem Set 7: Working with Map Data [HTML] [PDF] | Levitin Ch. 7.1; Topic Notes: Counting Sorts |
|
April 1 | Lecture 20: Hashing | Levitin Ch. 7.3; Topic Notes: Hashing |
|
April 6 | No Class: Happy Easter | |
|
April 8 | Exam 2 In-Class; Exam 2 Take-Home Portion Out | |
|
April 13 | Lecture 21: Hashing Wrapup; String Matching; Dynamic Programming; Exam 2 Take-Home Portion Due | Levitin Ch. 7.2; Levitin Ch. 8; Topic Notes: Dynamic Programming |
|
April 15 | Lecture 22: More Dynamic Programming | |
|
April 20 | Lecture 23: Dynamic Programming Wrapup; Graphs and Graph Algorithms; Problem Set 8: Dijkstra's Road Trip and More [HTML] [PDF] | Levitin Ch. 9; Topic Notes: Graph Algorithms |
|
April 22 | Lecture 24: Graph Algorithms | |
|
April 27 | Lecture 25: Huffman Codes; Graph Algorithm Wrapup | Topic Notes: Huffman Codes |
|
April 29 | Lecture 26: Limitations of Algorithms; Wrapup; Course Evaluations | Levitin Ch. 11; Topic Notes: Limitations of Algorithms |
|
May 4 | Review and Final PS Recap, 8:00 PM | |
|
May 5 | Final Exam, 1:30 PM | |
|
|