Topic |
Readings |
"Smart" pointers |
Module 4 up through "Heap memory" |
.h files |
|
ADTs |
textbook §1.2
|
Algorithmic efficiency |
textbook §4.2
|
Array List, Linked List revisited |
|
Array-based stack implementation |
textbook §6.1
|
BST analysis |
|
BST remove |
textbook §11.4.3
|
BST remove, cont'd |
|
Backtracking |
|
Balance, rotation |
|
Big-O notation |
textbook §4.5
|
Binary search |
|
Binary search trees |
textbook §11.4-11.4.2
|
Classes and methods |
|
Classic ADTs |
|
Comparing algorithms |
|
Comparing implementations |
textbook §10.2
|
Design and specification |
|
Dynamic allocation |
"Unique pointers" and "Dynamically allocated arrays" |
Exceptions |
|
Faster sorts: mergesort |
textbook §8.9-8.10
|
Faster sorts: quicksort |
textbook §8.11
|
Fibonacci |
|
Hash tables |
CS3 §10.1-10.4
|
Heaps |
CS3 §7.17
|
Hierarchies |
|
Implementing an ADT |
textbook §3.2-3.2.1
|
Inheritance |
textbook §2.1
|
Inheritance part 1: type inheritance, is-a vs has-a |
|
Introductions |
|
Lab 10: Overloading operators |
|
Lab 11: Linked trees |
textbook §16.1-16.2
|
Lab 12: BST implementation |
|
Lab 1: Review and mastery |
|
Lab 2: Classes |
|
Lab 3: Function design |
|
Lab 4: Pointers |
|
Lab 5: Linked node methods |
|
Lab 6: Reading code |
|
Lab 7: Using STL stacks |
|
Lab 8: Empirical efficiency |
|
Lab 9: Interfaces and multiple implementations |
|
Lab: DT/Alg implementation |
|
Lab: DT/Alg implementation |
|
Linked Queue |
textbook §9.1.1,
textbook §9.2
|
Linked list |
textbook §9.1
|
Linked list implementation (continued) |
|
Linked nodes |
|
Linked stacks |
textbook §6.2
|
Lists |
textbook §3.1
|
Maps/Dictionaries |
CS3 §6.4,
CS3 §7.12
|
Mergesort cont'd |
|
Model presentation and debrief |
|
Object-oriented design |
textbook §2.1-2.1.1.1
|
Other uses of stacks |
|
Pointers |
|
Policies |
|
Presentation work day |
|
Presentations |
|
Presentations |
|
Quadratic sorts |
textbook §Ch. 7
|
Queues |
|
Recursion |
textbook §7.1-7.2
|
Recursive algorithms |
|
Recursive backtracking |
|
Review of allocation, references, and memory models |
|
Stacks and recursion |
|
Templates |
|
Testing |
|
The "big picture" |
|
The call stack |
|
Tower of Hanoi |
textbook §7.7
|
Traversals |
|
Tree implementation |
|
Trees |
textbook §11.1-11.3
|
UML |
textbook §2.2
|
Unit testing |
|
What is a data structure? |
textbook §1.1
|
append, remove |
textbook §3.2.2
|
is-a / has-a |
|
make, gdb |
|