L01
–
Overview and Memory Allocation
(Jan 10)
L02 –
Streams and Recursion
(Jan 12)
L03
–
Recursion, Linked List, and ADTs
(Jan 17)
L04 –
Doubly-Linked List, ADTs, and Classes
(Jan 19)
L05 –
Classes and Runtime Analysis
(Jan 24)
L06 –
ArrayList and Amortized Runtime Analysis
(Jan 26)
L07 –
Stack, Queue, and Operator Overloading
(Jan 31)
L08 –
Operator Overloading and Copy Operator Overloading
(Feb 2)
L09 –
C++ STL, Iterators, Maps, and Sets
(Feb 7)
L10 –
Inheritance
(Feb 9)
L11 –
Polymorphism
(Feb 14)
L12 –
Exceptions, Templates, and Functors
(Feb 16)
L13 –
Searching Algorithms
(Feb 21)
L14 –
Sorting Algorithms
(Feb 23)
L15 – Review – Midterm (Feb 28)
L17 – Qt (Mar 7)
L18 –
Priority Queues and Heaps
(Mar 9)
L19 – Heapsort, BFS, and DFS (Mar 21)
L20 –
Graph Algorithms
(Mar 23)
L21 –
Backtracking Search and Introduction to Balanced Search Trees (AVL)
(Mar 28)
L23 –
Smart Pointers and Iterators
(Apr 4)
L24 –
2-3, 2-3-4, and Red Black Trees
(Apr 6)
L25 –
Hash Tables and Hash Functions
(Apr 11)
L26 –
Bloom Filter and Tries
(Apr 13)
L27 –
Log Structured Merge Trees and Splay Trees
(Apr 18)
L28 –
Skip Lists
(Apr 20)
L29 –
Design Patterns
(Apr 25)
L30 –
Final Review
(Apr 27) –
Updated May 2, 9:35am