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 7pm-8:40pm Feb 26th TBA Info, Topics, Practice
2 Midterm 2 7pm-8:40pm Apr 2nd TBA Info, Topics, Practice
3 Midterm 3 7pm-8:40pm Apr 23rd TBA Info, Topics, Practice
4 Final 8am-9:40am May 6th TBA Info, Topics, Practice

Lecture Slides

All slides will be posted in our shared folder.

Lectures

Topics Chapters
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
  • MLK Holiday
4
  • Linked Lists (cont.)
  • Operator Overloading Review (if time)
  • Runtime
  • Chapter 1.4
  • Chapter 3.3-3.5
  • Chapter 1.3
5
  • Recursion
  • Copy Semantics
  • Chapter 1.3, 1.5
  • Chapter 3.1-3.3, 4.8
6
  • Recursion
  • ADTs
  • STL
  • Chapter 3.3,4.8
  • Course Notes
7
  • STL
  • Inheritance
  • Polymorphism
  • Chapter 3.6-3.7
8
  • Polymorphism
  • ArrayLists
  • Chapter 3.6-3.7
9
  • Stacks and Queues
  • Templates
  • Chapter 3.6-3.7
  • Chapter 1.6
10
  • Templates
  • Trees
  • Chapter 4.1-4.2
11
  • President's Day Holiday
12
  • Heaps
  • Chapter 6.1-6.5
  • Chapter 9.1
13
  • Heapsort and build-heap
  • Graph Algorithms
  • Chapter 9.3
14
  • Graph Traversals
  • Tree Traversals
  • Chapter 9.2-9.3,9.6
  • Chapter 4.1-4.2,4.6
15
  • Iterators
  • 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
  • Recursion - All combinations
  • Chapter 2
  • Class Notes
21
  • Recursion - Backtracking
  • Chapter 2
  • Class Notes
22
  • Probability
  • Lewis & Zax Chapter 26
23
  • Probability
  • Lewis & Zax Chapter 27
24
  • Probability
  • Lewis & Zax Chapter 28
25
  • Number Theory
  • Lewis & Zax Chapter 29
  • Lewis & Zax Chapter 30
26
  • Number Theory
  • Hash Functions
  • Lewis & Zax Chapter 31
27
  • Hash Functions and Bloom Filters
  • Chapter 5
28
  • Tries
  • Skip Lists
  • Chapter 5
  • Chapter 12.4, 11.1, 11.5
29
  • Amortized Analysis
  • Merge Trees
  • Chapter 11.1,11.5
30
  • Final Review
  • Class notes