CSCI 104 - Spring 2018 Data Structures and Object Oriented 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 & Motivation for DS, Review of Memory Allocation Chapters 1, 2 handout1
2 Review: Streams & Recursion Chapters 3, 4 handout2
3 Recursion Chapters 4 handout3
4 Linked Lists Chapters 5 handout4
5 Linked Lists, ADTs, Classes, Objects Chapter 5, 6, 7
6 Runtime Analysis Chapters 8
7 Runtime and Array Lists Chapters 8, 9
8 Amortized Runtime, Stacks, Queues Chapters 10, 11
9 Operator Overloading Chapters 12
10 Operator Overloading and Copy Constructors Chapter 12
11 Inheritance Chapters 14
12 Polymorphism Chapters 14
13 STL, Exceptions, Searching Chapters 13, 15, 16
14 Sorting Algorithms Chapter 17
15 Midterm Review
16 Sorting Algorithms Chapter 17
Midterm -- Thursday, March 1st
Location: TBA
17 Templates, Intro to Graphs Chapters 18, 20
18 Graph Search Algorithms Chapters 20
19 Backtracking Search and Intro to Trees Chapters 4, 21
20 Tree Traversals, Priority Queues, and Heaps Chapters 21, 22
21 Heaps, Dijkstra Chapter 22, 23
22 A*, Balanced Binary Search Trees Chapters 23, 24
23 AVL Trees Chapters 24
24 AVL Trees, Log-structured Merge Trees Chapter 24, 29
25 Splay Trees Chapter 30
26 Hash Tables Chapters 28
27 Hash Functions Chapters 28
28 Bloom Filters and Tries Chapter 28, 32
29 Tries and Suffix Trees Chapter 32
30 Final Review
Final -- Wednesday, May 9th 11am Location: TBD