| Lecture Topic | Reading Assignment | |
| Drozdek | Notes | |
| Introduction & Review | 1.1 - 1.9 | Admin |
| N/A | Math Review | |
| Linear Structures | ||
| General Lists | 3.1 - 3.3 | Linear Structures |
| Stacks | 4.1 | Linear Structures |
| Queues | 4.2, 4.3 | Linear Structures |
| Skip Lists | 3.4 | Skip Lists |
| Secondary Storage | Secondary Storage | |
| Physical Characteristics | N/A | |
| Access Times | N/A | |
| Buffer Pools | N/A | |
| Binary File I/O | N/A | Binary File I/O |
| Algorithm Analysis | Algorithm Analysis | |
| Asymptotics | 2.1 - 2.8 | Asymptotics |
| Binary Trees | ||
| Binary Trees | 6.1 - 6.2 | Binary Trees |
| BSTs | 6.3 - 6.6 | Binary Search Trees |
| Balanced Trees (splaying) | 6.8 | |
| AVL Trees | 6.7.2 | AVL Trees |
| Heaps | 6.9 | Heaps |
| Indexing I | ||
| Linear Indices | 3.6 | Tables |
| Hashing | 10.1 - 10.3 | Hashing |
| Sorting | Sorting | |
| Insertion Sort | 9.1.1 | |
| Theoretical Bounds | 9.2 | |
| Shell Sort | 9.3.1 | |
| HeapSort | 9.3.2 | |
| MergeSort | 9.3.4 | |
| QuickSort | 9.3.3 | |
| Radix Sort | 9.3.5 | |
| Indexing II | Tree Indexing | |
| 2-3 Trees | N/A | |
| B trees | 7.1.1 | |
| B+ trees | 7.1.3 | |
| Graphs | Graphs | |
| Representation Schemes | 8.1 | |
| Traversal Algorithms | 8.2 | |
| Shortest Path | 8.3 | |