Orientation / Introduction | 01 - Orientation-VS.pptx | |
A C++ Primer | Slides/Assigned Readings | Lab/Files |
---|---|---|
ChP: A C++ Primer Visual Studio P.1 The C++ Environment |
02 - Cpp Primer.pptx 02 - Cpp Primer.mp4 Koffman: P1, pgs. 1-6 |
L01: Grades grades.pptx |
P.2 Preprocessor Directives and Macros P.3 C++ Control Statements |
03 - Cpp Primer.pptx 03 - Cpp Primer.mp4 Koffman: P2-3, pgs. 7-15 |
|
P.4 Primitive Data Types and Class Types P.5 Objects, Pointers, and References P.6 Functions |
04 - Cpp Primer.pptx 04 - Cpp Primer.mp4 Koffman: P4-6, pgs. 16-32 |
|
P.7 Arrays and C Strings P.8 The string Class P.9 Input/Output Using Streams |
05 - Cpp Primer.pptx 05 - Cpp Primer.mp4 Koffman: P7-9, pgs. 33-62 |
|
Part 1: Abstract Data Types | Assigned Readings | Lab/Files |
Ch01: Introduction to Software Design chapter1.pptx 1.1 The Software Life Cycle 1.2 Abstraction to Manage Complexity 1.3 Defining C++ Classes |
06 - Software Design.pptx 06 - Software Design.mp4 Koffman: 1.1-3, pgs. 64-97 |
L02: SNAP snap.pptx |
Ch02: Program Correctness and Efficiency chapter2.pptx 2.1 Program Defects and "Bugs" 2.2 Exceptions 2.3 Testing Programs |
07 - Program Correctness.pptx 07 - Program Correctness.mp4 Koffman: 2.1-3, pgs. 130-138 |
|
2.4 Debugging a Program 2.5 Assertions and Loop Invariants 2.6 Efficiency of Algorithms |
08 - Program Correctness.pptx 08 - Program Correctness.mp4 How to Use an IDE Debugger Koffman: 2.4-6, pgs. 138-179 |
|
Ch03: Inheritance and Class Hierarchies chapter3.pptx 1.4 Abstract Data Types 3.1 Inheritance and Class Hierarchies 3.2 Overriding, Overloading, and Polymorphism 3.3 Abstract Classes, Assignment, and Casting |
09 - Inheritance.pptx 09 - Inheritance.mp4 Koffman: 1.4, pgs. 98-102 Koffman: 3.1-3, pgs. 185-192 |
|
3.4 Multiple Inheritance 3.5 Multiple Inheritance 3.6 Multiple Inheritance |
10 - Inheritance.pptx 10 - Inheritance.mp4 Koffman: 3.3-6, pgs. 193-212 |
|
Part 2: Containers | Assigned Readings | Lab/Files |
Ch04: Sequential Containers chapter4.pptx 4.1 Template Classes and the Vector 4.2 Applications of vector |
11 - Sequential Containers.pptx 11 - Sequential Containers.mp4 Koffman: 4.1-2, pgs. 232-239 |
L3: Linked List linked_list.pptx |
4.3 Implementation of the vector Class 4.4 Copy Constructor, Assignment Operator, and Destructor |
12 - Sequential Containers.pptx 12 - Sequential Containers.mp4 Koffman: 4.3-4, pgs. 240-251 |
|
4.5 Single-Linked and Double-Linked Lists |
13 - Sequential Containers.pptx 13 - Sequential Containers.mp4 Koffman: 4.5-7, pgs. 252-284 |
|
4.7 Implementation of a Double-Linked List Class 4.8 Application of the list Class 4.9 Standard Library Containers 4.10 Standard Library Algorithms and Function Objects |
14 - Sequential Containers.pptx 14 - Sequential Containers.mp4 Koffman: 4.8-10, pgs. 285-306 |
|
4.6 The list Class and the Iterator |
15 - Iterator.pptx 15 - Iterator.mp4 Koffman: 4.6, pgs. 264-271 |
L04: Iterator iterator.pptx |
Ch05: Stacks chapter5.pptx 5.1 The Stack abstract Data Type 5.2 Stack Applications |
16 - Stacks.pptx 16 - Stacks.mp4 Koffman: 5.1-2, pgs. 311-324 |
L5: Expressions expressions.pptx |
5.3 Implementing a Stack 5.4 Additional Stack Applications |
17 - Stacks.pptx 17 - Stacks.mp4 Koffman: 5.3-4, pgs. 325-332 |
|
5.3 Implementing a Stack 5.4 Additional Stack Applications |
18 - Stacks.pptx 18 - Stacks.mp4 Koffman: 5.3-4, pgs. 325-332 |
|
Ch06: Queues and Deques chapter6.pptx 6.1 The Queue Abstract Data Type 6.2 Maintaining a Queue of Customers |
19 - Queues_Deques.pptx 19 - Queues_Deques.mp4 Koffman: 6.1-2, pgs. 358-365 |
L6: Railroad railroad.pptx |
6.3 Implementing the Queue ADT |
20 - Queues_Deques.pptx 20 - Queues_Deques.mp4 Koffman: 6.3, pgs. 365-376 |
|
6.4 The Deque 6.5 Simulating Waiting Lines Using Queues |
21 - Queues_Deques.pptx 21 - Queues_Deques.mp4 Koffman: 6.4-5, pgs. 376-398 |
|
Part 3: Recursion | Assigned Readings | Lab/Files |
Ch07: Recursion chapter7.pptx 7.1 Recursive Thinking 7.2 Recursive Definitions of Mathematical Formulas |
22 - Recursion.pptx 22 - Recursion.mp4 Koffman: 7.1-2, pgs. 403-419 |
L07: 3dmaze 3dmaze.pptx |
7.3 Recursive Search |
23 - Recursion.pptx 23 - Recursion.mp4 Koffman: 7.3, pgs. 420-426 |
|
7.4 Problem Solving with Recursion 7.5 Backtracking |
24 - Recursion.pptx 24 - Recursion.mp4 Koffman: 7.4-5, pgs. 426-444 |
|
Part 4: Trees, Maps, Sets | Assigned Readings | Lab/Files |
Ch08: Trees chapter8.pptx 8.1 Tree Terminology and Applications |
25 - Trees.pptx 25 - Trees.mp4 Koffman: 8.1, pgs. 445-453 |
L08: BST bst.pptx |
8.2 Tree Traversals |
26 - Trees.pptx 26 - Trees.mp4 Koffman: 8.2, pgs. 454-456 |
|
8.3 Implementing a Binary_tree Class 8.4 Binary Search Trees |
27 - Trees.pptx 27 - Trees.mp4 Koffman: 8.3-4, pgs. 457-483 |
|
8.5 Heaps and Priority Queues |
28 - Trees.pptx 28 - Trees.mp4 Koffman: 8.5, pgs. 484-495 |
|
8.6 Huffman Trees |
29 - Trees.pptx 29 - Trees.mp4 Koffman: 8.6, pgs. 496-510 |
|
Ch09: Sets and Maps chapter9.pptx 9.1 Associative Container Requirements |
30 - Sets and Maps.pptx 30 - Sets and Maps.mp4 Koffman: 9.1, pgs. 512-520 |
L09: Maps_Sets maps_sets.pptx |
9.2 Maps and Multimaps 9.3 Hash Tables |
31 - Sets and Maps.pptx 31 - Sets and Maps.mp4 Koffman: 9.2, pgs. 521-529 Koffman: 9.3, pgs. 530-541 |
|
9.4 Implementing the Hash Table 9.5 Implementation Considerations for the hash_map |
32 - Sets and Maps.pptx 32 - Sets and Maps.mp4 Koffman: 9.4, pgs. 542-554 Koffman: 9.5, pgs. 555-558 |
|
9.6 Additional Applications of Maps |
33 - Pokemon.pptx 33 - Pokemon.mp4 Koffman: 9.6, pgs. 558-568 |
|
Part 5: Sorting, Search | Assigned Readings | Lab/Files |
Ch10: Sorting chapter10.pptx 10.1 Using C++ Sorting Functions 10.2 Selection Sort 10.3 Bubble Sort |
34 - Sorting.pptx 34 - Sorting.mp4 Koffman: 10.1-3, pgs. 570-581 |
L10: Quicksort qsort.pptx |
10.4 Insertion Sort 10.5 Comparison of Quadratic Sorts 10.6 Shell Sort: A better Insertion Sort |
35 - Sorting.pptx 35 - Sorting.mp4 Koffman: 10.4-6, pgs. 581-592 |
|
10.7 Merge Sort 10.8 Heapsort |
36 - Sorting.pptx 36 - Sorting.mp4 Koffman: 10.7-8, pgs. 592-604 |
|
10.9 Quicksort 10.10 Testing the Sort Algorithms 10.11 The Dutch National Flag Problem |
37 - Sorting.pptx 37 - Sorting.mp4 Koffman: 10.9-11, pgs. 604-620 |
|
Part 6: AVL Trees and Graphs | Assigned Readings | Lab/Files |
Ch11: Self-Balancing Search Trees chapter11.pptx 11.1 Tree Balance and Rotation 11.2 AVL Trees |
38 - Self-Balancing Trees.pptx 38 - Self-Balancing Trees.mp4 Koffman: 11.1-2, pgs. 624-643 |
L11: AVL_Tree avl.pptx |
11.2 AVL Trees |
39 - Self-Balancing Trees.pptx 39 - Self-Balancing Trees.mp4 Koffman: 11.2, pgs. 628-643 |
|
11.3 Red-Black Trees |
40 - Self-Balancing Trees.pptx Koffman: 11.3, pgs. 643-656 |
|
11.4 2-3 Trees |
41 - Self-Balancing Trees.pptx Koffman: 11.4-5, pgs. 656-691 |
|
11.5 2-3-4 and B-Trees |
42 - Self-Balancing Trees.pptx Koffman: 11.4-5, pgs. 656-691 |