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. Slides and annotated notes will be available on the course Piazza only under the Resources tab.

Chapter numbers under the textbook column refer to the textbook, while the chapter numbers under "notes" refer to the posted lecture notes.

Exams

Exam Time Location Material
1 Midterm 1 Friday, October 1 Quiz section
2 Midterm 2 Friday, November 5 Quiz section
3 Final Saturday, December 11 at 11 AM PST TBA

Lectures

Topics Chapters Notes
1
  • Course overview
  • Motivation for Data Structures
  • Recursion
  • Runtime
  • Chapter 1.1-1.5
  • Chapter 2
handout1.pdf
2
  • Recursion
  • Chapter 1.3
  • Chapter 2
handout2.pdf
3
  • Linked Lists
  • Copy Semantics
  • Chapter 3.3-3.5
handout3.pdf
4
  • Inheritance
  • Polymorphism
  • Chapter 1.5
handout4.pdf
5
  • Exceptions
  • ADTs
  • Stacks
  • Chapter 3.1-3.2
  • Chapter 3.6-3.7
handout5.pdf
6
  • Stacks
  • Queues
  • Standard template library
  • Containers
  • Chapter 1.6
  • Chapter 3.6-3.7
handout6.pdf
7
  • Templates
  • Graphs
  • Trees
  • Chapter 4.1-4.2
  • Chapter 9.1
handout7.pdf
8
  • Priority Queues
  • Heaps
  • Chapter 6.1-6.5
handout8.pdf
9
  • Heaps
  • Dijkstra's Algorithm
  • A* Search
  • Chapter 6.1-6.5
  • Chapter 9.3
handout9.pdf
10
  • Hash Table introduction
  • Counting
  • Chapter 5.1-5.3
  • Lewis & Zax Chapter 22
handout10.pdf
11
  • Counting
  • Lewis & Zax Chapter 23
handout11.pdf
12
  • Probability
  • Lewis & Zax Chapter 26
handout12.pdf
13
  • Probability
  • Lewis & Zax Chapter 27
handout13.pdf
14
  • Probability
  • Lewis & Zax Chapter 28
  • Lewis & Zax Chapter 29
handout14.pdf
15
  • Number Theory
  • Lewis & Zax Chapter 30
handout15.pdf
16
  • Number Theory
  • Lewis & Zax Chapter 31
handout16.pdf
17
  • Hash Tables
  • Chapter 5
handout17.pdf
18
  • Bloom Filters
  • Chapter 5
19
  • Amortized Analysis
  • Chapters 11.1,11.5
20
  • Log-Structured Merge Trees
  • Chapters 11.1,11.5
21
  • Binary Search Trees
  • Chapter 4.3
22
  • Binary Search Trees
  • AVL Trees
  • Chapter 4.3-4.4
23
  • AVL Trees
  • Balanced Binary Search Trees
  • Chapter 4.4, 4.7
  • Chapter 12.2
24
  • Splay Trees
  • Chapter 4.5
25
  • Tries
  • Chapter 12.4
26
  • Extra Topics
  • Chapter 6.8
27
  • Extra Topics
  • Chapter 11.2
28
  • Review