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.

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 Resources
1 MT Friday October 7th at 7 PM Pacific TBA Info, Topics, Practice
2 Final Saturday, December 10th, 11 AM (Yes, Saturday!) TBA Info, Topics, Practice

Lectures

Note: If the first page of a slide deck does not show "Updated for Fall 2022" or similar, then that deck has not been reposted for Fall 2022. We are leaving the decks up from previous semesters for students that would like to read aheah, however please replace or update your copy as soon as a newer version is posted.
Topics Chapters Notes
1
  • Course overview
  • Motivation for Data Structures
  • Review (Memory Allocation)
  • Chapter 1.1-1.5
  • Chapter 2
2
  • Classes (Initialization Lists)
  • Linked Lists
  • Chapter 1.4
  • Chapter 3.3-3.5
  • Chapter 1.3
3
  • Linked Lists (cont.)
  • Operator Overloading Review (if time)
  • Runtime
  • Chapter 1.4
  • Chapter 3.3-3.5
  • Chapter 1.3
4
  • Recursion
  • Copy Semantics
  • Chapter 1.3, 1.5
  • Chapter 3.1-3.3, 4.8
5
  • Recursion
  • ADTs
  • STL
  • Chapter 3.3,4.8
  • Course Notes
6
  • STL
  • Inheritance
  • Polymorphism
  • Chapter 3.6-3.7
7
  • Polymorphism
  • ArrayLists
  • Chapter 3.6-3.7
8
  • Stacks and Queues
  • Templates
  • Chapter 3.6-3.7
  • Chapter 1.6
9
  • Templates
  • Trees
  • Chapter 4.1-4.2
10
  • Heaps
  • Chapter 6.1-6.5
  • Chapter 9.1
11
  • Heapsort and build-heap
  • Graph Algorithms
  • Chapter 9.3
12
  • Graph Traversals
  • Tree Traversals
  • Chapter 9.2-9.3,9.6
  • Chapter 4.1-4.2,4.6
13
  • Recursion - All combinations
  • Chapter 2
  • Class Notes
14
  • Midterm Review
15
  • Recursion - Backtracking
  • Iterators
  • Chapter 4.3-4.4
16
  • Fall Break
17
  • Binary Search Trees
  • Chapter 4.3-4.4
18
  • AVL Trees
  • Chapter 4.4-4.5,4.7
19
  • Splay Trees
  • Hash Table introduction
  • Chapter 4.7,5.1,5.3
20
  • Hash Table introduction
  • Counting
  • Chapter 5.1-5.3
  • Lewis & Zax Chapter 22
21
  • Counting
  • Lewis & Zax Chapter 23
22
  • Probability
  • Lewis & Zax Chapter 26
23
  • Probability
  • Lewis & Zax Chapter 27
  • Lewis & Zax Chapter 28
24
  • Number Theory
  • Lewis & Zax Chapter 29
  • Lewis & Zax Chapter 30
25
  • Number Theory
  • Hash Functions
  • Lewis & Zax Chapter 31
26
  • Hash Functions and Bloom Filters
  • Chapter 5
27
  • Tries
  • Skip Lists
  • Chapter 5
  • Chapter 12.4, 11.1, 11.5
28
  • Thanksgiving Holiday
29
  • Amortized Analysis
  • Merge Trees
  • Chapter 11.1,11.5
30
  • Final Review
  • Class notes