CSCI 104 - Fall 2019 Data Structures and Design

Lectures

It is recommended that students take careful notes in class, which might be based on the course notes.

Lecture Schedule (may be updated as needed)

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

Lec Topic Notes Handouts
1 Course Overview & Memory Allocation Chapters 1,2 handout1
2 Streams, Classes, Exceptions
Streams Review Video
Chapters 3,7,15 handout2
3 Inheritance Chapter 14 handout3
4 Polymorphism Chapter 14 handout4
5 Recursion
Conditional Compilation Video
Chapter 4 handout5
6 Recursion, Operator Overloading Chapters 4,12 handout6
7 Operator Overloading & Copy Constructors Chapter 12 handout7
8 Linked Lists Chapter 5 handout8
9 ADTs, Array Lists, Stacks, Queues Chapters 6,9,11 handout9
10 Stacks & Queues Chapter 11 handout10
11 Midterm Review handout11
Midterm 1 -- Friday, Oct. 4th in Quiz Section
Location: TBA
12 STL, Worst-case Runtime Chapters 8,13 handout12
13 Runtime Chapter 8 handout13
14 Search, Sorting Chapters 16,17 handout14
15 Sorting Chapter 17 handout15
16 Sorting, Average-case Runtime, Templates Chapters 17,18 handout16
17 Graphs & Search Algorithms Chapter 20 handout17
18 Backtracking & Trees and their Implementations Chapters 4,23 handout18
19 Priority Queues & Heaps Chapters 21,23 handout19
20 Dijkstra's Algorithm and A* Chapter 22 handout20
21 Midterm Review handout21
Midterm 2 -- Friday, Nov. 8th in Quiz Section
Location: TBA
22 Binary Search Trees Chapter 21 handout22
23 AVL Trees Chapter 24 handout23
24 AVL Trees & Splay Trees Chapters 24,30 handout24
25 Hash Tables & Hash Functions Chapter 28 handout25
26 Hash Tables and Bloom Filters Chapter 28 handout26
27 Extra Topics Chapters 32 handout27
28 Final Review handout28
Final -- Saturday, Dec 14th 11am Location: TBD