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 7-9pm September 11th GFS 106 Info, Topics, Practice
2 Midterm 2 7-9pm October 2nd (tentative) TBD Info, Topics, Practice
3 Midterm 3 7-9pm October 23rd (tentative) TBD Info, Topics, Practice
4 Midterm 4 7-9pm November 20th (tentative) TBD Info, Topics, Practice
5 Final Exam 11am-1pm December 12th TBD Info, Topics, Practice

Lecture Slides

All slides will be posted in our shared folder.

Lectures

Note: The schedule listed here is tentative and may change based on lecture speed and instructor whimsy.
Topics Chapters
1
  • Course overview
  • Motivation for Data Structures
  • Review (Memory Allocation)
  • Chapter 1.1-1.5
  • Chapter 2
2
  • Runtime
  • Linked Lists
  • Classes (Initialization Lists)
  • Chapter 1.4
  • Chapter 3.3-3.5
  • Chapter 1.3
3
  • Linked Lists (cont.)
  • Operator Overloading Review (if time)
  • Copy Semantics
  • Chapter 1.4
  • Chapter 3.3-3.5
  • Chapter 1.3
4
  • Recursion
  • Chapter 1.3, 1.5
  • Chapter 3.1-3.3, 4.8
5
  • 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
  • Chapter 3.6-3.7
9
  • Stacks
  • Templates
  • Trees
  • Chapter 1.6, 4.1,4.2
10
  • Templates (cont.)
  • Trees
  • Heaps
  • Chapter 6.1-6.5
  • Chapter 9.1
11
  • More Heaps, make-heap
  • Chapter 6.1-6.5
12
  • Graphs
  • BFS and runtime
  • Chapter 9.1, 9.3
13
  • Dijkstra's Algorithm
  • A* Search
  • Chapter 9.2-9.3,9.6
14
  • Tree Traversals
  • Graph Traversals
  • DFS
  • Chapter 4.1-4.2,4.6
15
  • Binary Search Trees
  • AVL Trees (Insert)
  • Chapter 4.3-4.5,4.7
16
  • AVL Trees (Remove)
  • Iterators
  • Class Notes
17
  • Splay Trees
  • Hash Table introduction
  • Chapter 4.7,5.1,5.3
18
  • Hashing Intro (cont)
  • Counting
  • Chapter 5.1,5.3
  • Lewis & Zax Chapter 23
19
  • Recursion - All combinations
  • Chapter 2
  • Class Notes
20
  • Probability
  • Lewis & Zax Chapter 26
21
  • Probability
  • Lewis & Zax Chapter 27
22
  • Probability
  • Lewis & Zax Chapter 28
23
  • Number Theory
  • Lewis & Zax Chapter 29
  • Lewis & Zax Chapter 30
24
  • Number Theory
  • Hash Functions
  • Lewis & Zax Chapter 31
25
  • Hash Functions and Bloom Filters
  • Chapter 5
26
  • Tries
  • Skip Lists
  • Chapter 5
  • Chapter 12.4, 11.1, 11.5
27
  • Amortized Analysis
  • Merge Trees
  • Chapter 11.1,11.5
28
  • Final Review
  • Class notes