Semester Schedule

It is recommended that students take careful notes from recordings and during class meetings. Before class meetings, it is helpful to review relevant chapters in course notes.

Exams

Exam Time Location Resources
1 MT1 Fri, Oct 4 at 7 PM Pacific TBA Info, Topics, Practice
2 MT2 Fri, Nov 3 at 7 PM Pacific TBA Info, Topics, Practice
3 Final Sat, Dec 14 at 11 AM Pacific TBA Info, Topics, Practice

Lectures

Topics Chapters Notes
1
  • Course overview
  • Motivation for Data Structures
  • Runtime
  • Chapter 1.1, 1.2, 1.4, 1.5
  • Chapter 2
2
  • Runtime
  • Recursion
  • Chapter 1.3
3
  • Recursion
  • Review (Linked Lists)
  • Chapter 3.2
4
  • Recursion
  • Chapter 10.5
5
  • Review (Inheritance, Polymorphism)
  • Class Notes
6
  • ADTs
  • STL
  • Chapter 3.1-3.5
  • Chapter 4.8
7
  • Stacks
  • Queues
  • Chapter 3.6, 3.7
8
  • Templates
  • Trees
  • Chapter 1.6
  • Chapter 4.1-4.2
  • Chapter 9.1
9
  • Priority Queues (Heaps)
  • Chapter 6.1-6.4, 6.9
10
  • Dijkstra
  • A* Search
  • Chapter 9.3
11
  • Hash Tables
  • Counting
  • Chapter 5.1-5.3
12
  • Counting
  • Lewis & Zax Chapter 22
  • Lewis & Zax Chapter 23
13
  • Probability
  • Lewis & Zax Chapter 26
  • Lewis & Zax Chapter 27
14
  • Probability
  • Lewis & Zax Chapter 28
  • Lewis & Zax Chapter 29
15
  • Probability
  • Number Theory
  • Lewis & Zax Chapter 30
16
  • Number Theory
  • Lewis & Zax Chapter 31
17
  • Hash Tables
  • Chapter 5.4-5.8
18
  • Probing
  • Bloom Filters
  • Course Notes
19
  • Skip Lists
  • Chapter 10.4
20
  • Amortized Analysis
  • Chapter 11.1
21
  • Merge Trees
  • Course Notes
22
  • Binary Search Trees
  • Chapter 4.3
23
  • AVL Trees
  • Chapter 4.4
24
  • Splay Trees
  • Chapter 4.5
  • Chapter 11.5
25
  • Tries
  • Chapter 12.4
26
  • Extra Topics/Flex
  • Course Notes
27
  • Extra Topics/Flex
  • Course Notes
28
  • Extra Topics/Flex
  • Course Notes