1 |
Course Overview – Motivation for DS, Review of C++ Library classes [streams], Review of Dynamic Memory Management (C++ Interlude 2) |
[PDF1] [PDF2] |
Chapters 1, 2, 3 |
2 |
Memorial Day (No class) |
|
|
3 |
Linked Lists (C++ Interludes 1, Chapter 4) and Abstract Data Types: Set, List, Dictionary/Map (Chapters 1, 8, 18) |
[PDF1] [PDF2] |
Chapters 5, 6 |
4 |
Review of Recursion (Chapters 2, 5) |
[PDF] |
Chapter 4 |
5 |
Classes, Templates (C++ Interludes 1), Exceptions (C++ Interlude 3), and Lists revisited: Array lists and vectors (Chapter 9) |
[PDF] [PDF2] |
Chapters 7, 8, 9, 13 |
6 |
Operator Overloading and Copy Constructors |
[PDF] |
Chapters 11 |
7 |
Running Time and big-O notation (Chapters 1, 4, 10) |
[PDF] |
Chapters 10 |
8 |
Inheritance and Polymorphism (C++ Interludes 1, 2, 4) |
[PDF1] [PDF2] |
Chapter 12 |
9 |
Qt & Inheritance |
[PDF] |
Chapter 18 |
10 |
STL (C++ Interlude 7), Iterators (C++ Interlude 6) |
[PDF] [PDF] |
Chapters 15, 16 |
11 |
Stacks and Queues (Chapters 6, 7, 13.1, 13.2, 14.1), Make Utility, and Search Algorithms, Sorted Lists (Chapters 10, 12) |
[PDF1] [PDF2] [PDF3] |
Chapter 14, 17 |
12 |
Midterm |
|
|
13 |
Sorting Algorithms (Chapter 11) |
[PDF] |
Chapter 19 |
14 |
Graphs, BFS, DFS, and PageRank (Chapters 20.1, 20.2, 20.3.1, 20.3.2) |
[PDF] |
Chapter 19, 20 |
15 |
Trees and their Implementations (Chapter 15) and Tree Traversals and Search (Chapter 16) and Priority Queues (Chapters 13.3, 14.2, 17) |
[PDF] |
Chapter 21, 22 |
16-17 |
Balanced Search Trees (Chapter 19) |
[PDF1] [PDF2] |
Chapters 23-24 |
18-19 |
Hash Tables and their Analysis (Chapter 18.4, lecture notes) |
[PDF] |
Chapter 25 |
20 |
Bloom Filters, Tries and Suffix Trees (additional handouts) and Other Graph Algorithms and A* search(Chapters 20.4.1--20.4.3, lecture notes) |
[PDF1] [PDF2] |
Chapters 25, 26 |
21 |
Design Patterns (Additional Handouts) and Review for Final |
[PDF] |
|
22 |
Final Exam |
|
|