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 Midterm 1 Thursday Feburary 22nd at 7 PM Pacific TBA Info, Topics, Practice
2 Midterm 2 Thursday April 4th at 7 PM Pacific TBA Info, Topics, Practice
3 Final Wednesday, May 1st, 8 AM Pacific TBA Info, Topics, Practice

Lectures

Note: If the first page of a slide deck does not show "Updated for Spring 2024" or similar, then that deck has not been reposted for Spring 2024. We are leaving the decks up from previous semesters for students that would like to read ahead, 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
  • Recursion - Backtracking
  • Iterators
  • Chapter 4.3-4.4
15
  • Binary Search Trees
  • Chapter 4.3-4.4
16
  • AVL Trees
  • Chapter 4.4-4.5,4.7
17
  • Splay Trees
  • Hash Table introduction
  • Chapter 4.7,5.1,5.3
18
  • Hash Table introduction
  • Counting
  • Chapter 5.1-5.3
  • Lewis & Zax Chapter 22
19
  • Counting
  • Lewis & Zax Chapter 23
20
  • Probability
  • Lewis & Zax Chapter 26
21
  • Probability
  • Lewis & Zax Chapter 27
  • Lewis & Zax Chapter 28
22
  • Number Theory
  • Lewis & Zax Chapter 29
  • Lewis & Zax Chapter 30
23
  • Number Theory
  • Hash Functions
  • Lewis & Zax Chapter 31
24
  • Hash Functions and Bloom Filters
  • Chapter 5
25
  • Tries
  • Skip Lists
  • Chapter 5
  • Chapter 12.4, 11.1, 11.5
26
  • Amortized Analysis
  • Merge Trees
  • Chapter 11.1,11.5
27
  • Final Review
  • Class notes